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:

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

EVAL $CLIPBOARD=="Testing"||error("myerror")
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

Reference: https://php-legacy-docs.zend.com/manual/php5/en/function.date

date(format, date);

Code samples:

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

Example

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 https://php-legacy-docs.zend.com/manual/php5/en/index 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)."@testup.io"
5. Click on to add created e-mail with random number.

Posted on Leave a comment

Conditional Jump

Conditional jump , enables you to control execution flow depending on true/false value in Clipboard Content. Conditional Jump is only possible to a certain place in Action List that is marked with #Tag.

Preconditions:
Make sure you are in mode.
Introduce a condition using or .

  1. Click on .
  2. Type in name for a Tag to jump in case of false return. #Tag is created automatically.
  3. Press Enter and record the action.
  4. Insert actions for true and false paths.
  5. Replay the test to check the expected behaviour.
    Once the condition is met and Clipboard content returns a true result, false path will end. Test actions will continue playing.

Please Notice

Click to control execution flow if the value in Clipboard content is true.