![]() |
Open Test Framework
|
|
The OTF supports to execute a procedure in Dotnet platform or Java platform. Also, there are many ways to execute a procedure such as using command buttons in the Ribbon menu, using shortcut keys or using context menu. Similar to some other IDEs, users can perform execution in the OTF with or without debugging.
When a procedure is executed, the OTF first builds the DLL (running with Dotnet platform) or the JAR (running with Java platform), then it use the DLL or the JAR to run the current test sequence.
A procedure may call other procedures in another document in the same or different projects. As a result, when users execute a procedure, it shall happen as follows:
After the validation, if there are critical errors in a test sequence, the related project shall not be built and the execution shall be cancelled. All the related errors and warnings of the validation can be found in the Error List tool window. You can skip the validation before the execution by checking the No Validation before execution check-box in the Advanced settings tab of the OTF Settings. However, turning off the validation may result in undefined behaviors of the execution; normally, it skips the node with errors. If there are any problems when building the projects, the execution is also cancelled.
Note:
- The OTF only allows to execute one test sequence at a time. You can not execute a procedure when another procedure is being executed. The current execution has to be finished or stopped before a new execution is started.
Setting up before execution relates to the scopes to be executed and the platforms to execute.
Executing a procedure with shortcut keys or with command buttons depends on which scope selected in the Execute Of combo-box in the Runtime Environment tab of the Ribbon menu.
There are 4 scopes of execution:
Scope | Description |
---|---|
Solution | It shall execute the procedure main of the Startup Document in the Startup Project of the Solution. |
Current Project | It shall execute the procedure main of the Startup Document in the current Project (of the current opened procedure tab or OTL tab). |
Current Document | It shall execute the procedure main of the current Document (of the current opened procedure tab or OTL tab). |
Current Procedure | It shall execute the current opened procedure. This scope has no effect when an OTL tab is currently opened. |
The OTF runtime supports to execute with Dotnet platform or Java platform. There are many ways to change the execution platform:
There are 3 ways to execute a procedure: using command buttons in the Ribbon menu, using shortcut keys or using context menu.
NOTE: The OTF only allows to execute one test sequence a time. You can not execute a procedure when another procedure is being executed. The current execution has to be finished or stopped before a new execution is started.
Below are the Shortcut Keys with their function descriptions:
Command Button | Shortcut Key | Mode | Function |
---|---|---|---|
Start | CTRL+F5 | Normal | Executes the procedure (see execution scopes) without debbuging. |
Debug | F5 | Debug | Debugs the procedure (see execution scopes). Executes from the beginning/current node and suspends the execution at the following node with breakpoint in the test sequence waiting until a debug command/key is clicked/pressed. |
Step Over | F10 | Debug | Debugs the procedure (see execution scopes). Executes from the beginning/current node (it does not step into called procedures) and suspends the execution at the adjacent node followed the current node waiting until a debug command/key is clicked/pressed. If there is a breakpoint inside the called procedure, it steps into the called procedure and suspends the execution at the node having breakpoint. |
Step To | CTRL + F10 | Debug | Debugs the procedure (see execution scopes). Executes from the beginning/current node and suspends the execution at the next selected node waiting until a debug command/key is clicked/pressed. If there is a breakpoint between the current point and the selected node, it suspends the execution at the node having breakpoint. If the selected node precedes the current point, it works the same as Debug button (F5) from the current point. |
Step In | F11 | Debug | Debugs the procedure (see execution scopes). Executes from the beginning/current node and suspends the execution at the adjacent node followed the current node waiting until a debug command/key is clicked/pressed. If the current point is a ProcedureCall, it steps into the called procedure and suspends the execution at the beginning node. |
Step Out | SHIFT + F11 | Debug | Debugs the procedure (see execution scopes). Steps out (executes all remaining nodes of) the called procedure from the current point and suspends at the corresponding ProcedureCall waiting until a debug command/key is clicked/pressed. It is only active if the execution is being suspended at a node in a called procedure. |
The debug command buttons and the debug shortcut keys only work if there is no execution is in progress or if a procedure is being executed with debugging and the execution is being suspended at a certain node.
xecuting a procedure with the context menu is not affected by the execution scopes. To execute a certain procedure with context menu, you just need to right click on that procedure node in the Solution Explorer and select menu Execute Workflow. The procedure shall be executed without debugging.
There are 2 modes of execution: the execution with debugging and the normal execution (without debugging).
Important: Using an execution mode depends on the shortcut keys or the command buttons which is used.
This mode allows you to observe the runtime behavior of your test sequence and locate logic errors. With this mode, you can suspend the execution at a certain node to examine your test sequences, evaluate and edit variables used in your test sequence through the Watch tool window. When the debugging suspends at a certain node, there shall be a yellow wrapping around the node, this helps you trace the debugging.
If you just want to execute the test sequence and get the results without examining its logic or tracing the variable changes, you can run with this mode. Running with this mode shall not be suspended at any nodes or breakpoints, excepts at the dialogs such as ConfirmDialog or modal screens.
Below are an example of a simple execution:
We have a simple test sequence of procedure main calling to the Procedure1.
Test01:
Test02:
Test03: