Test Script Services Reference

prevnext

Advanced Class


You can use the advanced methods to perform timing calculations, logging operations, and internal variable initialization functions. TestManager performs these operations on behalf of scripts in a safe and efficient manner. Consequently, the functions need not and usually should not be performed by individual test scripts.


Applicability

Commonly used with TestManager.


Summary

The following table lists the advanced methods. They are methods of class TSSAdvanced.

Method Description
InternalVarSet Sets the value of an internal variable.
LogCommand Logs a command event.
ThinkTime Calculates a think-time average.


TSSAdvanced.InternalVarSet

Sets the value of an internal variable.


Syntax

InternalVarSet (internVar As IVKey, ivVal As Variant)

Element Description
internVar The internal variable to operate on. Internal variables and their values are listed in the table starting on page178.
ivVal The new value for internVar.


Error Codes

This method maygenerate one of the following error codes:

If you handle one of these errors and do not log it, TestManager is not aware of the error and does not log a Fail result for it. The script continues to run, and TestManager could log a Pass result for the script.


Comments

The values of some internal variables affect think-time calculations and the contents of log events. Setting a value incorrectly could cause serious misbehavior in a script.


Example

This example sets IV_cmdcnt to 0.

Dim advanced TSSAdvanced
advanced.InternalVarSet IV_cmdcnt,0

See Also

TSSMeasure.InternalVarGet


TSSAdvanced.LogCommand

Logs a command event.


Syntax

LogCommand (name As String, label As String, [result As 
Integer], [description As String], [starttime As Long], 
[endtime As Long], [logdata As String], [property[] As 
NamedValue])

Element Description
name The command name.
label The event label.
result Specifies the notification preference regarding the result of the call. Can be one of the following:
  • TSS_LOG_RESULT_NONE (default: no notification)

  • TSS_LOG_RESULT_PASS

  • TSS_LOG_RESULT_FAIL

  • TSS_LOG_RESULT_WARN

  • TSS_LOG_RESULT_STOPPED

  • TSS_LOG_RESULT_INFO

  • TSS_LOG_RESULT_COMPLETED

  • TSS_LOG_RESULT_UNEVALUATED

0 specifies the default.
description Contains the string to be displayed in the event of failure.
starttime An integer indicating a time stamp. If specified as 0, the logged time stamp is the later of the values contained in internal variables IV_fcs_ts and IV_fcr_ts.
endtime An integer indicating a time stamp. If specified as 0, the time set by CommandEnd() is logged.
logdata Text to be logged describing the ended command.
property An array containing property name/value pairs, where property[n].name is the property name and property[n].value is its value.


Error Codes

This method may generate one of the followingerror codes:

If you handle one of these errors and do not log it, TestManager is not aware of the error and does not log a Fail result for it. The script continues to run, and TestManager could log a Pass result for the script.


Comments

The value of IV_cmdcnt is logged with the event.

The command name and label entered with TSSMeasure.CommandStart are logged, and the run state is restored to the value that existed prior to the TSSMeasure.CommandStart call.

An event and any data associated with it are logged only if the specified result preference matches associated settings in the EVAR_LogData_control or EVAR_LogEvent_control environment variables. (See Arguments of TSSMeasure.EnvironmentOp.) Alternatively, the logging preference may be set with the EVAR_Log_level and EVAR_Record_level environment variables. The TSS_LOG_RESULT_STOPPED, TSS_LOG_RESULT_COMPLETED, and TSS_LOG_RESULT_UNEVALUATED preferences are intended for internal use.

NamedValue is a dimensioned array of name/value pairs. For example, an array of 10 name/value pairs could be implemented as follows:

Dim NV(9,1) As String
NV(0,0)= "name1"
NV(0,1)= "value1"
NV(1,0)= "name2"
NV(1,1)= "value2"
...

Example

This example logs a message for a login script.

Dim advanced As TSSAdvanced
advanced.LogCommand "Login", "initTimer", TSS_LOG_RESULT_PASS, 
"Command timer failed", 0, 0, "Login command completed", NULL

See Also

TSSMeasure.CommandStart, TSSMeasure.CommandEnd


TSSAdvanced.ThinkTime

Calculates a think-time average.


Syntax

ThinkTime ([thinkAverage As Long]) As Long

Element Description
thinkAverage If specified as 0, the number of milliseconds stored in the ThinkAvg environment variable is entered. Otherwise, the value specified overrides ThinkAvg.


Return Value

On success, this method returns a calculated think-time average. A negative exit value indicates an error. Call for more information


Error Codes

This method may generate the following error code.


Comments

This call calculates and returns a think time using the same algorithm as TSSMeasure.Think. But unlike TSSMeasure.Think, this call inserts no pause into a script.

This function could be useful in a situation where a test script calls another program that, as a matter of policy, does not allow a calling program to set a delay in execution. In this case, the called program would use TSSMeasure.ThinkTime to recalculate the delay requested by TSSMeasure.Think before deciding whether to honor the request.


Example

This example calculates a pause based on a think-time average of 5000 milliseconds.

ctime = `tsscmd GetTime`
Dim pause, iv As Long
Dim advanced As New TSSAdvanced
Dim measure As New TSSMeasure
iv = measure.GetTime
advanced.InternalVarSet IV_fcs_ts, iv
advanced.InternalVarSet IV_lcs_ts, iv
advanced.InternalVarSet IV_fcr_ts, iv
advanced.InternalVarSet IV_lcr_ts, iv
pause = advanced.ThinkTime (5000)

See Also

TSSMeasure.Think

prevnext


Rational Test Script Services for Visual Basic Rational Software Corporation
Copyright (c) 2003, Rational Software Corporation http://www.rational.com
support@rational.com
info@rational.com