Test execution services interfaces and classes
You use the test execution services interfaces and classes to customize how you run tests. These interfaces and classes are located in the com.ibm.rational.test.lt.kernel package. Each interface and class is described briefly in this topic and in detail in the Javadoc information.
The custom code does not run on the mobile device, but from the generated Java code that is available in the test workbench. So, if you initiate the test run from the mobile device and the test script includes custom code, the custom code is not executed. To execute the custom code that is available in a mobile test script, you must initiate the run from test workbench. If you want to integrate custom code between two mobile instructions, you must split the test script. See Splitting a test.
The Javadoc for the test execution services interfaces and classes can be accessed from the product by clicking
.Interface | Description |
---|---|
ICustomCode2 | Defines customized Java™ code for test execution services. Use this interface to create all custom code. |
ITestExecutionServices | Provides information for adding custom test execution features to
tests. Replaces the IKLog interface. All the methods that were
available in IKLog are contained in
ITestExecutionServices, along with several newly exposed objects
and interfaces. This interface is the primary interface for execution services.
ITestExecutionServices contains the following interfaces:
|
IDataArea | Defines methods for storing and accessing objects in data areas. A data area is a container that holds objects. The elements of a data area are similar to program variables and are scoped to the owning container. To use objects specific to a protocol, you should use objects provided by that protocol that are stored in the protocol-specific data area. |
IARM | Provides information about defining ARM (Application Response Measurement) specifications. You use this interface if your virtual users are being sampled for ARM processing. |
ILoopControl | Provides control over loops in a test or schedule. For example, you can use this interface to break loops at specific points in a test. The loop that is affected is the nearest containing loop found in either the test or the schedule. |
IPDLogManager | Provides logging information such as problem severity, location levels, and error messages. |
IStatisticsManager | Provides access to performance counters in the
ICustomCode2 interface (used for defining custom code).
Performance counters are stored in a hierarchy of counters. Periodically, all the
counter values in the hierarchy are reported to the testing workbench and collected
into test run results, where they are available for use in reports and graphs. Each
counter in the hierarchy has a type (defined in class StatType ). The
operations that are available on a counter depend on the counter's type. |
ITestLogManager | Logs messages and verification points to the test log. Use this interface for handling error conditions, anomalies in expected data or other abstract conditions that need to be reported to users, or for comparisons or verifications whose outcome is reported to the test log. ITestLogManager can also convey informational or status messages after the completion of a test. |
ITime | Defines basic time services, such as the current system time in milliseconds (adjusted so that all systems are synchronized with the schedule controller), the time the test begins, and the elapsed time from the beginning of the test. |
ITransaction | Provides support for transactions. A collection of named transactions is maintained for each virtual user. Transactions created in custom code can be started and stopped wherever custom code can be used. These transactions can span several tests. Performance counters are kept for custom code transactions and appear in reports. An example of how you could use ITransaction is to create transactions for one virtual user but not another, to help verify responses from tests. |
IEngineInfo | Provides information about the testing execution engine; for example, the number of virtual users running in this engine, the number of virtual users that have completed, the local directory in which test assets are deployed, and the host name of the computer on which the engine runs. |
ITestInfo | Provides information about the test that is running; for example, the test name and information about the current problem determination log level for this test. |
IVirtualUserInfo | Provides information about virtual users; for example, the virtual user's name, problem determination log level, TestLog level, globally unique ID, and user group name. |
IScalar | Provides methods for simple integer performance counters. It is
used for counters of SCALAR and STATIC types. Use
this interface to decrement and increment counters. |
IStat | Defines observational performance counters. It defines the method
for submitting a data point to performance counters of type RATE ,
AVERAGE , and RANGE . |
IStatistics | Retrieves the performance counter tree associated with the current statistics processor. Stops the delivery of performance counters. Changes the priority of the statistics delivery thread. |
IStatTree | Provides methods that can retrieve child counters, create the XML fragments that define counters, and set the description field of counters. |
IText | Contains text-based performance counters. Performance counters
that do not fit any of the other counter types can be created as type
TEXT . TEXT counters are not assigned definitions,
but they are collected in the test results. |
Class | Description |
---|---|
DataAreaLockException |
Throws an exception whenever an attempt is made to modify a locked DataArea key. |
OutOfScopeException |
Indicates that an object created by ITestExecutionServices has been referenced outside of its intended scope. |
TransactionException |
Throws an exception when a transaction is misused.
The following conditions lead to a TransactionException exception:
attempting to start a transaction that has already been started, attempting
to stop a transaction that has not been started, and getting the start
time or the elapsed time of a transaction that has not been started.
Any operation (except abort()) on a transaction that has been aborted
will throw a TransactionException exception. |
StatType |
Provides a list of valid performance counter
types. The performance counter types are: AVERAGE, iAVERAGE,
iRANGE, iRATE, iSCALAR, iSTATIC, iSTRUCTURE, iTEXT, RANGE, RATE, SCALAR,
STATIC, STRUCTURE , and TEXT . |