Posted on

Jumps with Sub-Return function

For actions which needs to be recurrently run several times throughout the test (e.g. switching users) you can use Jump with Sub-Return function.

With JUMP #sub:tagName you set the base of the following jump session.
The command makes you jump to the TAG #sub:tagName.
With the JUMP #return:tagName you jump back to the place where you started (set the baseline).



… some more actions …


…some recurrent actions…

Posted on

How to use Branching

If you need to create the same test for your product multiple times due to minor differences of different settings (e.g. language, browser, environment, etc.), you can use Branching. This function allows to record test steps for all settings under test in just one test case.

Create a first branch

First, you need to create a branch in your predecessor test.

  1. Create a test and record actions in one of your chosen browsers (e.g. Firefox, Chrome, etc).
  2. In the mode create a new variable by clicking .
  3. Name your variable BRANCH using upper case and insert the value according to the current browser (e.g. Firefox).
  4. Click .

Create a second branch

Then create a second branch in your successor test.

  1. Create a new test as a successor and choose in the test settings your previously created predecessor.
  2. In the mode click on the overwrite symbol to the right of your BRANCH variable and insert the new value for your second branch (i.e. Chrome).
  3. Play your test until the step where the branching should start.
  4. Go to mode and enter your variable for the first browser in the field “branch selector” (e.g. Firefox).
  5. Jump to the next step using in the menu of the following step.
  6. Click on “Insert action” and record the first action of your second branch (e.g. double click on Chrome browser). The step will be automatically marked with the name of your second branch.
  7. If the next action of your test is different in the second setting, repeat steps 4 – 6.
  8. If it is the same, simply play the following steps one by one until the action is different again and repeat steps 4 – 6.

In order to run both branches in one schedule, simply create a second successor test and name it according to your first branch.

Posted on Leave a comment

How to use Find with multiple anchor areas

In case there are multiple possible anchor areas in the system under test and you need to check if at least one of them can be found on the device screen, you can use .

This function searches for every possible anchor area and saves the result in a runtime variable with . In the end, you can either throw or not throw an error, depending on the value of the runtime variable.

Insert multi-check into a test.

Make sure you are in mode.

  1. Use to search for the first anchor area.
  2. Click .
  3. Enter the following PHP command to save the result of the find to a runtime variable:
  4. EVAL set("some_var_name")
  5. Use to search for the second anchor area.
  6. Enter the following PHP command to save the combined result of this and all previous finds to the runtime variable:
  7. EVAL set("some_var_name", $CLIPBOARD=="True" || get("some_var_name")=="True")
  8. Repeat step 4 and 5 for every possible anchor area.
  9. Enter the following PHP command to throw an error if none of the previous finds was successful:
  10. EVAL get("some_var_name") || error("a custom error message") 

Posted on Leave a comment

How to use OCR

In case it’s not possible to select or copy a text, use button in mode. Optical Character Recognition will extract all characters that are selected and copy them into a Clipboard content.

Make sure the Editor is in mode.

  1. Select a stable anchor area.
  2. Draw a swipe over coded or changing content. Editor automatically switches to mode.
  3. Click on to change swipe action into OCR action. The recognized area, marked in green rectangular, is copied to Clipboard content. 
  4. Click Play it to confirm and record the action.
Posted on

PHP: Make test fail

In order to make a test fail due to changes in data, click Editor->Control->EVAL to insert a PHP code evaluation.

See How to evaluate a PHP commands to manipulate variables and clipboard (Experimental feature) for details on EVAL action.

EVAL error("Text 'Step 1' not found.")

Makes the test fail with “Text ‘Step 1’ not found.” as error message:

Befor playing EVAL step.
After playing EVAL error(“Text ‘Step 1’ not found.”)

Example 1: Clipboard value

If you would like to assert that the clipboard contains value “Testing” use

EVAL $CLIPBOARD=="Testing"||error("Wrong value")

Example 2: Maximum loop passes

If you want to make sure that a loop does not run endlessly, you can limit the number of loop passes and make test fail after reaching the maximum number.


…some actions…

EVAL set("counter", get("counter") + 1) < 10 || error("Too many loops")
Posted on Leave a comment

PHP: Working with Dates

If you need to calculate days, you can perform that using the EVAL action.

See How to evaluate a PHP commands to manipulate variables and clipboard (Experimental feature) for details on EVAL action.

PHP syntax


date(format, date);

Code samples:

date('d.m.Y',strtotime("- 10 Days"))
date('d.m.Y',strtotime("+ 3 weeks"))
date('d.m.Y',strtotime("- 2 Months"))
date('d.m.Y',strtotime("next Saturday"))
date('d.m.Y',strtotime("last Year"))


1) Set a value to variable “days_before” in Editor->Data :
“days_before” = 10

2) Use EVAL in a test step with this constant:

EVAL "".date('d.m.Y', strtotime("-".${"days_before"}." Days") )

Running this EVAL action on today’s date 23.04.2022 results in a clipboard value 13.04.2022

Posted on

PHP: How to manipulate with data (Experimental feature)

In Editor-> Control->EVAL create an EVAL action. This action can compute PHP functions using data from Control->Data and from CLIPBOARD.

EVAL argument is a PHP 5 expression. See on how to write php
The result of the expression is returned to the CLIPBOARD

Working with Data

Data from Data Tab in Editor can be read from the test to the clipboard.

E.g. setting

FirstName: Barbara
LastName: Mustermann
Age: 26

Read Data

EVAL $FirstName

Reads the value of the FirstName (“Barbara”) into the CLIPBOARD. Note that there is a “$” in front of the variable name using the EVAL command.

Manipulate Data

EVAL $FirstName." ".$LastName

Concatenates $FirstName, ” “, $LastName using the “.” as usual in PHP and returns the result to the CLIPBOARD.

Compute with Data

EVAL $Age + 10

Adds 10 to the variable Age. In the example with Age = 26, this command returns 36 to the CLIPBOARD.

PHP Examples

Measure time between steps

EVAL microtime(true)
EVAL microtime(true) -  $CLIPBOARD

Returns the time passes in seconds to CLIPBOARD.

Call PHP for TimeStamp

EVAL date_format(new DateTime(), "d.m.Y H:i:s");

Returns a timestamp to CLIPBOARD

Call Java for TimeStamp

EVAL new Java("java.util.Date")->toString();

Returns a timestamp to CLIPBOARD

Manipulate strings

EVAL substr($CLIPBOARD, 0,strlen($CLIPBOARD)-5)

Removes the last 4 characters from CLIPBOARD

Set and Get values from data store

EVAL set("result")

Sets the Clipboard value to a temporary result variable

EVAL set("result", "some value")

Sets a specific value

EVAL get("result")

Gets the current value.

EVAL set("result", get("result") ."\r\n". $CLIPBOARD)

Updates the result by concatenating the current value with a new one.

Posted on Leave a comment

Create random Emails

To create a random Email use button. The values are stored in buffer – clipboard content – and then can be pasted into your test.

Insert random Email into a test.

Make sure you are in mode.

  1. Activate a field where the random e-mail is to be inserted.
  2. Switch to mode.
  3. Click .
  4. Enter the following PHP Timestamp:
EVAL "example+".microtime(true).""
5. Click on to add created e-mail with random number.