Open Test Framework
|
|
ControlSequences
can be edited in the Control Sequence Designer. In addition to the OtxProcedureCalls, the ControlSequences
are the main elements of a ControlFile. They contain the flow logic.
A ControlSequence
consists of the following activities:
Note: Only a
Control
can be executed. The execution of aControl
is started via theStartTrigger
, see Table. For example, theStartTrigger
can be bound to aButton
in the Player Monitor Editor.
Note: A
Control
is executed in a target environment that implements theControlFile
. There are different implementations. One implementation is the Open Test Player.
Related Topics:
The picture shows the Control Sequence Designer together with the Toolbox and the Solution Explorer. To edit a Control
, the following steps are recommended:
Control
in the Solution Explorer and open it by double-clicking. If no Control
exists yet, then add a new "Control Sequence"
using the right mouse button on the "OTX Controls"
node.Control
is displayed as a new tab. Just like with the OTX Designer, activities or OtxProcedureCalls
can be dragged from the Toolbox into the designer to the appropriate locations.OtxProcedureCalls
.A Player Project can contain zero, one or more Controls. To edit one control
, it must be opened in the Sequence Designer. Within the property grid, only the simple elements on the first level can be edited.
Note: Inside the Control Sequence Designer exactly one Control can be edited. The Controls itself must be managed inside the Solution Explorer, see Player Project.
Note: In the table,
ConfigFile
means that the possible values are fetched from the ConfigFile. If there are no values, then the property cannot be changed. If the current value is not present in theConfigFile
, an error is displayed. Empty values are ignored.
Property | Data Type | Cardinality | ConfigFile | Description |
---|---|---|---|---|
DisplayName | String | 0..1 | Readable name of the Control . | |
Description | String | 0..1 | Understandable description of the Control . | |
SequenceType | Reference | 0..1 | Yes | Target system specific type of the sequence, e.g. "Series" , "Rework" , "Maintenance and Generic Blocks" to categorize the Control .Note: Has no effect at runtime! Note: All values come from the ConfigFile . |
LogicalPath | Reference | 0..1 | Yes | Classification of the Control into a group. Category for classifying the Control in the development environment or for statistical evaluation of the results of this Control in subsequent processes, e.g. EPS.LWS_Setup .Note: Has no effect at runtime! Note: All values come from the ConfigFile . |
ValidFor | LogicalExpression | 0..1 | Yes | A Logical Expression that describes under which conditions the Control can be executed. If the expression is calculated to true , then the Control may be executed, otherwise not. |
OnlyForTestPurpose | Boolean | 1 | If the flag is set to true , the Control will be executed only if the target system is in TestMode . | |
MetaData | MetaData | 0..n | Yes | MetaData contains target system-specific configurations, see MetaData. |
ID | String | 1 | Unique identifier of the Control (ReadOnly ) | |
StartTrigger | Reference | 0..n | Yes | List of target system specific event identifier. Note: Each occurrence of one event defined here, starts the execution of the Control .Examples: "location.station3" , "vehicle.drivingCycleDetected" , "Fire Alarm" , "Otp.Monitor1.StartButton" . |
PauseTrigger | Reference | 0..n | Yes | List of target system specific event identifier. Note: Each occurrence of one event defined here, pauses the execution of the Control .Examples: "RollerStation.StoppingCord.Pulled" , "Vehicle.SOC.TooLess" , "Otp.Monitor1.PauseButton" . |
ContinueTrigger | Reference | 0..n | Yes | List of target system specific event identifier. Note: Each occurrence of one event defined here, continues the execution of the Control .Examples: "RollerStation.StoppingCord.Released" , "Otp.Monitor1.ContinueButton" . |
The Sequence
contains one or more Lane
elements. There can be one or more Sequence
blocks per Control
.
Property | Data Type | Cardinality | ConfigFile | Description |
---|---|---|---|---|
DisplayName | String | 0..1 | Readable name of the Sequence . | |
Description | String | 0..1 | Understandable description of the Sequence . | |
Monitor | Reference | 0..1 | Yes | Reference to a Monitor . A target system can can use this property to select a certain window for all user interaction of the complete Sequence .Note: Not used in Open Test Player, because the OTP supports multiple panels inside one monitor! A Monitor.Panel can be referenced inside the lane .Note: All values come from the ConfigFile . |
ID | String | 1 | Unique identifier of the Sequence (ReadOnly ) |
The Lane
contains the executable part of the Control
.
Note: All
Lane
blocks of aSequence
are executed in parallel.
Note: A RuntimeManager is created for each
Lane
at the OTX Runtime API.
Property | Data Type | Cardinality | ConfigFile | Description |
---|---|---|---|---|
DisplayName | String | 0..1 | Readable name of the Sequence . | |
Description | String | 0..1 | Understandable description of the Sequence . | |
Panel | Reference | 0..1 | Yes | Reference to a Panel inside a Monitor . A target system can can use this property to select a certain panel for all user interaction related to that Lane .Note: All values come from the ConfigFile . |
ID | String | 1 | Unique identifier of the Sequence (ReadOnly ) |
The call of a OtxProcedureCall
is called a test step. A Lane
can contain any number of test steps, which are executed sequentially.
Note: At runtime for each
OtxProcedureCall
the Execute method of the related RuntimeManager is called at the OTX Runtime API.
Property | Data Type | Cardinality | ConfigFile | Description |
---|---|---|---|---|
Procedure | Reference | 1 | Reference of the OtxProcedureCall to be executed. | |
OnlyForTestPurpose | Boolean | 0..1 | If the flag is set to true , the OtxProcedureCall will be executed only if the target system is in TestMode . | |
resultRelevant | Boolean | 1 | Indicates if the Result of the OtxProcedureCall execution is relevant for the overall Result of the Control . If set to false , the overall Result is not affected by the execution of this OtxProcedureCall , see Result Evaluation. | |
ResultMandatory | Boolean | 0..1 | Indicates if the OtxProcedureCall MUST be executed. If the value is set to true and the OtxProcedureCall is not executed, the result is handled as Failed , see Result Evaluation.Note: The Flag will be only evaluated in case of ResultRelevant is set to true . | |
DisplayName | String | 0..1 | Readable name of the OtxProcedureCall . | |
ID | String | 1 | Unique identifier of the Sequence (ReadOnly ) | |
ExecuteOnlyByPreResults.Type | Enum | 0..1 | Yes | Before the OtxProcedureCall is executed, it is checked whether the Expression parameterized here is fulfilled or not. If the Expression returns false , the OtxProcedureCall will not be executed.Type: To create the Expression you have to choose one of the following types of OtxProcedureCall: - ProcedureCall - OtxProcedureCall referenced in the ConfigFile .- SequenceObject - A OtxProcedureCall within the same control .Note: A table is maintained at runtime which contains the results of all executed OtxProcedureCall , see Result Evaluation.Note: The table is valid at runtime as long as the same PPX is loaded. |
ExecuteOnlyByPreResults.Expression | LogicalExpression | 0..1 | Yes | Contains the Expression fro ExecuteOnlyByPreResults . The expression can be edited inside the ExpressionEditor . |
RetryCountOnFailure | Integer | 0..1 | Retry counter of OtxProcedureCall . Number of retries in failed case (counting from first failure).Note: In case retry count is reached and AbortOnFailure (see below) is set to false , the execution of the Control is continued. | |
AbortOnFailure | Boolean | 0..1 | If true , the execution of the Control shall be stopped, if the OtxProcedureCall execution was not successful (NOK ) AND after the specified number of retries, see RetryCountOnFailure .If false the execution of the Control will be continued.Note: The problem will be stored in the ResultFile . | |
CatchIdRef | Reference | 0..1 | Reference of Catch block. If AbortOnFailure is true the execution continues in failure case with the specified Catch block. In case no Catch block is specified, the Finally block will be executed, if available.Note: The Cancel block must exist within the Control . |
The Cancel
block is structured like a Sequence
but with an additional list of CancelTrigger
elements. There can be none, one or more Cancel
blocks per Control
. A Cancel
block can be called in two ways:
Error
of an OtxProcedureCall
OnFailure.CatchIdRef
, which contains the ID
of the Cancel
block to be called.Trigger
Trigger
is called, the running Sequence
is stopped. A procedure that has already started is stopped. It then switches to the first Cancel
block, which references the Trigger
. Subsequent Cancel
blocks are ignored.Note: A
Cancel
block has the same properties like a Sequence plus the following properties.
Property | Data Type | Cardinality | ConfigFile | Description |
---|---|---|---|---|
Trigger | Reference | 0..n | Yes | List of target system specific Trigger that cause the execution of the Catch block, z.B. "OtpStopAll" , "EmergencyStop" .Note: Corresponds to the stop button in Open Test Player. Note: All values come from the ConfigFile . |
The optional Finally
block is structured like a Sequence
block. There can be no or one Finally
block per Control
. If a Finally
block is defined, it is always called after the end of the Sequence
or the Cancel
block.
Note: A
Finally
block has the same properties like a Sequence but without theID
.
A Signal
element signals one or more WaitForSignals that execution can continue.
Property | Data Type | Cardinality | ConfigFile | Description |
---|---|---|---|---|
Name | String | 1 | Unique name of the Signal . | |
DisplayName | String | 0..1 | Readable name of the Signal . | |
ID | String | 1 | Unique identifier of the Signal (ReadOnly ) |
A WaitForSignal
element can wait for one or more Signal elements. Execution continues as soon as all referenced Signals
reach the "Signaled"
state.
Property | Data Type | Cardinality | ConfigFile | Description |
---|---|---|---|---|
Signals | Reference | 1..n | List of one ore more referenced Signals (via Name ) | |
DisplayName | String | 0..1 | Readable name of the WaitForSignals . | |
ID | String | 1 | Unique identifier of the WaitForSignals (ReadOnly ) |