The frequently used commands are above the line. Below the line, however, all commands are alphabetically sorted. In order to look for a command, you can type what you are looking for in the command drop down, and your options will be filtered down. You can also enter certain keywords that will bring up related commands for you to view, such as fill, set, etc.

Figure (1): Frequently Used Commands      Figure (2): Line

* "Halt on Failure" is an option that exists for all commands. By default it is checked, meaning if the command fails, the test case fails. However, you can override this behavior by using the option "Continue on Failure". Once you do that, if the command fails, it does not fail the test case and continues to the next step in the test case. This will be a fail_skip status with an orange check mark. If you want the step to be considered a pass with a green check mark, you will need to click on "Continue with Pass Status" which will show the test case step/command as a pass (i.e. green check mark) whether or not the step passes. Refer to Generic Command Options for more information and examples on how to use these options.


Subject7-supported commands are as follows:

1) ACTIVE_WEB_SECURITY_CHECK: Need a Web Security Testing license to use this command. Performs active scanning on web applications to find potential vulnerabilities by using known attacks against the selected targets. This command requires ZAP installation on your device for local runs to work.

2) ALERT (OK/Cancel): Okays or cancels an alert. An alert box is a popup that usually has a different look and feel than the application itself. OK or Accept button confirms the alert box, and Cancel or Decline cancels it.

3) ASSERT (FALSE): ASSERT FALSE: Forces test case failure on this step.

4) AUTO_SCROLLING: Allows enabling/disabling auto-scrolling feature during test case execution (rather than enabling/disabling feature for the entire account)

5) CALL: Makes a function call already defined by users in the account. Asterisk (*) can be used when searching for a specific function name.

6) CHANGE_CASE: Converts what appears in the message field to either upper case or lower case (based on the Case type field) and stores the result in Variable name. This variable can be used in the remainder of the test case by using @ before the variable name (i.e. @my_var_name). In case you are using variables, you can use show any available variables that you set in your test case by entering "@" in the Message field. A list of variables will appear for you to select from.

7) CHECK: Checks or unchecks a checkbox based on whether checkbox field is checked or not respectively.

8) CHECK_508: Need a 508 license to use this command. Checks whether the current page is 508 compliant or not. The rules that are automatically checked are WCAG 2.0 1.1.1-Level A, 1.3.1-Level A, 2.1.1-Level A, 2.4.1-Level A, 2.4.4 Level A, 2.4.6-Level AA, and 3.3.2-Level A. The XPath's for data tables for the page should be included specifically as part of this command otherwise they will treat them as layout tables. 508 reports, including accessibility and compliance reports, are extractable to Excel and PDF and can be filtered though using the Filter function added. Also, the 508 rules included in the CHECK-508 wizard have been added under the Rules link. This command can be used in both local/cloud runs.


How to check for 508 Compliance?

9) CLEAR: Clears the content of a text field identified by a web locator or inline XPath.

10) CLICK: Clicks a button or another widget identified by a web locator or inline XPath.


XPath needed to click on a chart SVG and path element

How to create a web locator - Click

11) CLOSE_POPUP: Closes a popup identified by a unique text in the "Test in Popup" field that is not present on other windows opened up by the application under test. "Close all popups except main" option closes all the popups opened except the original/main window. Please note that popup is a window that you can drag and make a tab out of in your browser otherwise it is either an alert box or a div and NOT a popup. Command also allows closing the Last Tab or by using a Handler Index of 1,2,3 based on the order of pages/windows/tabs. The main page will be 0, so this command will not close the main page.


How to work with pop-ups?

12) COMPARE: Compares the left hand side value (LHS) with the right hand side value (RHS) based on the type (i.e. TEXT, NUMBER, DATE or IMAGE) and the operator selected. When selecting DATE, the format of the date on either side should be specified. You can use variables (variable name created by any SET commands prior to this command preceded by @) or hard-coded-values on either side of the equation. Comparison will be done "Frequency" number of times with "Interval" seconds in between each two comparisons. As soon as both values become available, the comparison will be performed. Frequency and Interval options are used mainly if either values (LHS or RHS) are generated asynchronously. This command also has the ability to alphabetically compare two strings and allows empty strings. The text comparison done as part of this command allows selection of "case sensitive" comparison between two texts. The default comparison is case insensitive.This command further allows comparison of two screenshots taken by SCREEN_SHOT command, The threshold field which appears when Image is selected can be used to determine how similar the images are before comparison takes place. Compare also supports arithmetic operations (example: Compare HALT NUMBER @var+1 = @var2). In case you are using variables, you can use show any available variables that you set in your test case by entering "@" in the RHS or LHS field. A list of variables will appear for you to select from.


How to use variables and arrays for dynamic comparisons

How to compare values and perform arithmetic operations?

How to compare 2 values from 2 different screens?

Verify/Compare a value

Compare-PDF-file-sizes

13) CONTAINS: Checks whether a text/string contains another text/string. In case you are using variables, you can use show any available variables that you set in your test case by entering "@" in any of the fields. A list of variables will appear for you to select from. This command can also store the resulting Boolean value in a variable if needed.

14) COOKIE: Adds cookies, removes cookies by names, or deletes all cookies. In case you are using variables, you can use show any available variables that you set in your test case by entering "@" in any of the fields. A list of variables will appear for you to select from.

15) DESKTOP_CLEAR: Clears the content of a desktop element defined by a Desktop locator or by using the focused element on screen. Offset X and Y fields can be used in cases where the element appearance is different every time which could make the Desktop locator point to a different place. In such cases, an element that does not change (such as a label) can be used as an anchor and the offset points added so that the label is found and the direction is shifted from the label to this text box.

16) DESKTOP_CLICK: Clicks on any element (either on browser or desktop). This command uses image of the element or text as opposed to a locator. Any Desktop Locator element can be used in this command or you can specify the text of the element. Offset X and Y fields can be used in cases where the element appearance is different every time which could make the Desktop locator point to a different place. In such cases, an element that does not change (such as a label) can be used as an anchor and the offset points added so that the label is found and the direction is shifted from the label to the desired element. Extensions can be used to extend the region where the interaction will take place. The Similarity option improves the accuracy of verification. The default value set for Similarity is 0.75 and can be increased for up to 0.98. As the number goes higher, it looks for more exact matches in the image.

17) DESKTOP_DOUBLE_CLICK: Double clicks on any element (either on browser or desktop). This command uses image of the element or text as opposed to a locator. Any Desktop Locator element can be used in this command or you can specify the text of the element. The Similarity option improves the accuracy of verification. The default value set for Similarity is 0.75 and can be increased for up to 0.98. As the number goes higher, it looks for more exact matches in the image.

18) DESKTOP_DRAG_AND_DROP: Drags an element defined by a Desktop locator or text to another element or position. This command also supports delay before drag, delay before drop and move mouse delay which can be used with default or custom values. The Similarity option improves the accuracy of verification. The default value set for Similarity is 0.75 and can be increased for up to 0.98. As the number goes higher, it looks for more exact matches in the image.

19) DESKTOP_EXISTS: Checks whether a desktop element, defined by a Desktop locator or text, exists on screen and returns true or false accordingly. The result can be used in a conditional IF statement. The Similarity option improves the accuracy of verification. The default value set for Similarity is 0.75 and can be increased for up to 0.98. As the number goes higher, it looks for more exact matches in the image.

20) DESKTOP_FILL: Fills a text field (either on browser or desktop) using an image defined in a Desktop locator, by "Use Focused Component" to interact with any focused element or by Use Text to enter a specific text to identify the element. When "Use Focused Component" is checked, this will allow completion of a desktop form much easier where an image is supplied to a Desktop command to interact with the first form element and then for the remainder, Desktop_Hotkeys + TAB and Desktop_Fill with “Use Focused Component” can be used to fill out the next form element. This way, only one image is needed to be uploaded/defined and the rest of the form elements can be tabbed through and completed. Offset X and Y fields can be used in cases where the element appearance is different every time which could make the Desktop locator point to a different place. In such cases, an element that does not change (such as a label) can be used as an anchor and the offset points added so that the label is found and the direction is shifted from the label to this text box. Extensions can be used to extend the region where the interaction will take place. The Similarity option improves the accuracy of verification. Using "Clear" option allows you to clear any text boxes before filling a value in them. The default value set for Similarity is 0.75 and can be increased for up to 0.98. As the number goes higher, it looks for more exact matches in the image. In case you are using variables, you can use show any available variables that you set in your test case by entering "@" in the value field. A list of variables will appear for you to select from. This list of variables includes variables that you can use to invoke hotkeys  ENTER, TAB and DELETE by entering (@system.key.enter / @system.key.tab / @system.key.delete).

21) DESKTOP_HOTKEYS: Allows using special keyboard keys such as Enter, Tab, function keys, etc for Desktop. This command further allows selection of keyboard keys and Alphabet keys. For example, to select all files in a folder using (CTRL + a), select Desktop_Hotkeys and then add two Hotkeys, one for CTRL and one for Key_a. The command allows using uppercase and lowercase letters (Key + A vs Key + a) as well as a variety of other keys. The Message field and logs will display the activated keystroke for this command. Sync Lock Hotkeys option can be used in case you are using any lock hotkey (Num / Caps / Scroll) and you would like to sync status on every execution so that this locks remains disabled without the need to use any lock hotkey in the command. The Similarity option improves the accuracy of verification. The default value set for Similarity is 0.75 and can be increased for up to 0.98. As the number goes higher, it looks for more exact matches in the image.


Excel interaction in Automation

CTRl-A-and-ENTER-is-not-working-for-some-elements

22) DESKTOP_MULTI_ACTION: allows to perform more complex operations such as holding Shift on the keyboard and many other desktop operations.

23) DESKTOP_RIGHT_CLICK: Right clicks on any element (either on browser or desktop). This command uses image of the element or text as opposed to a locator. Any Desktop Locator element can be used in this command or you can specify the text of the element. The Similarity option improves the accuracy of verification. The default value set for Similarity is 0.75 and can be increased for up to 0.98. As the number goes higher, it looks for more exact matches in the image.

24) DESKTOP_SCROLL: Allows scrolling for a desktop application.

25) DESKTOP_DYNAMIC_SCROLL: Allows scrolling to a desktop element until it is found or end of scroll is reached. The Similarity option improves the accuracy of verification. The default value set for Similarity is 0.75 and can be increased for up to 0.98. As the number goes higher, it looks for more exact matches in the image.

26) DESKTOP_SHUTDOWN: Used to enter the names of the applications as seen on Task Manager > Details (without .exe). Once execution is finished, stopping the test case will close the applications.

27) DESKTOP_VERIFY: Allows verification of an image for a desktop application. The Similarity option improves the accuracy of verification. The default value set for Similarity is 0.75 and can be increased for up to 0.98. As the number goes higher, it looks for more exact matches in the image.

28) DOUBLE_CLICK: Double clicks a button or a widget identified by a web locator or inline XPath.

29) DRAG_AND_DROP: Provides the drag and drop functionality. For HTML5 widgets, HTML5 action needs to be selected otherwise Native should be.

30) ELSE: Adds an "else" statement to an already used "if" statement.


How to do conditional branching (IF statement)?

31) ELSE_IF: Adds an "else if" statement to an already used "if" statement. In case you are using variables, you can use show any available variables that you set in your test case by entering "@" in the right value or left value fields. A list of variables will appear for you to select from.


How to do conditional branching (IF statement)?

32) END_IF: Closes an "if" statement which may include a series of ELSE_IF and ELSE statements as well.

33) EXECUTE_COMMAND: allows execution of an operating system-specific commands. This command also allows storing the output message into a variable and "Ignore Output" checkbox can be used in case you do not want to know what the output of the command is.


Execute_command details

Compare-PDF-file-sizes

34) EXECUTE_JAVA: Makes a call to a snippet of Java/Selenium/Appium code you have written and uploaded to Subject7. Method field specifies the function/method to call in the code written. "Ignore Web Driver" option should be used for Appium code and "Ignore Appium Driver" should be used for Selenium code.


How to run my custom Java code (Snippet)

How to loop through dynamic values using a snippet

How to upload a downloaded Excel file during a text execution to Set_List

Execute-Java-Code

35) EXECUTE_JAVASCRIPT: Allows execution of a Javascript command or a series of them. This command allows passing locators as arguments to javascript command. For example, to pass a locator to Javascript command scrollIntoView, you can use the following Javascript command arguments[0].scrollIntoView(true) where arguments[0] is coming from the newly added Arguments portion of the wizard.


How to run JavaScript functions or commands?

How to open up a URL on a separate pop-up/window?

Automation related to theme colours

36) EXECUTE_REST: Makes a call to a REST end-point that does not return anything. As part of this command, the returned JSON can be validated by selecting "Validate" and supplying a RAML file. The HTTP response code will be assigned to "Status variable name". This command keeps the response status in a file with a link in the message field to be used in testing logic afterwards. Web service response can be read and copied after this command is executed.


REST API Callback Variables

37) EXECUTE_SELENESE: Executes a Selenese element. This command  covers the following scenarios:
*Wait (For example WAIT 3 or WAIT “3” can both be used inside Execute_selenese)
*FILL supports empty variables (for example in the step FILL //*[@id='asd'] "@var" if var is empty, it does not fail)


How to convert Selenium IDE-recorded tests to Subject7 automated tests?

38) EXECUTE_SOAP: Makes a call to a SOAP web service. Web service response can be read/copied/downloaded after this command is executed.

39) EXECUTE_SQL: Executes a SQL statement supplied by a "Query" or a series of SQL statements supplied by a "File" that do not return any values by making a connection to the "Connection" field

40) FILE_UPLOAD: Allows interaction with a file upload widget identified by "Locator" field or a URL to upload the file included in the "File/File URL" fields. The uploaded filename can be renamed to "Uploaded Filename" if a name is supplied there otherwise the file name selected in the "File" field will be the name used. This command populates the newly uploaded file automatically in the wizard. The XPath used for the locator in this command must reference part of the DOM that has an input tag with attribute "type" which has a value of "file" in order for the command to work successfully.


How to perform file upload operation in your application?

File-Upload-using-File-Upload-command-for-tag-attribute-without-type-file

41) FILL: Fills "value" in a text field or a text area identified by a web locator or inline XPath. If "Clear" is checked, the command will clear the text field or the text area before filling it out otherwise it will append it to whatever is already included in the text field or text area. This command further allows encryption of the data in the wizard itself instead of having to create a data template to achieve it. JavaScript Prompt on the wizard is used to handle Prompt Box (i.e AlertBox with a text field in it). In case you are using variables, you can use show any available variables that you set in your test case by entering "@" in the value field. A list of variables will appear for you to select from. This list of variables includes variables that you can use to invoke hotkeys  ENTER, TAB and DELETE by entering (@system.key.enter / @system.key.tab / @system.key.delete).


How to use keyboard shortcuts?

42) FILL_PDF: Fills out a PDF file identified by a URL or a file name based on a series of commands specified in the "Desktop script".

43) GET_COOKIE_VALUE: Retrieves the value of a cookie or a few cookies by names and assigns the results to comma-separated variables specified in the "variable name" field. If no cookies are set with a specific name, a warning is generated on the step where this command was used.

44) GET_CURRENT_URL: Retrieves current URL value and assigns it to "variable name".

45) GET_DB_VALUE: Executes a SQL statement supplied by a "Query" or a series of SQL statements supplied by a "File" that return values by making a connection to the "Connection" field and storing the results in a comma-separated set of variables specified in the "Variable name" field. "Character to Exclude" fields can be used to remove some characters from the results. These excluded characters can be hard-coded-values or Regular Expressions (RegEx). This command is also able to allow multi-select from a database. If your selected command returns multiple values, use a comma-separated list in the variable name field.


How to extract what you need when reading variables from a web page or a database?

46) GET_DESKTOP_VALUE: retrieves values from desktop screens or from your clipboard and assigns a values to a variable. For Linux and MacOS users, some libraries are required for installation and the command will navigate to instructional pages on how to install these libraries. For Windows users, please make sure Microsoft Visual C++ 2015-2019 is installed.

47) GET_GLOBAL_VAR: Retrieves the value of a global variable so that it can be used in any test case/execution set/load test. To retrieve the value of a global variable, a test case with Set_Global_Var must be executed first in order for the value to be stored in the server. Then the same variable name must be entered in the step with Get_Global_Var in order to retrieve the value from the server to be able to use this variable.

48) GET_MOBILE_VALUE: Need a native mobile license to view/use this command. Reads a value from the native mobile screen and stores it in the "variable name". By default, it reads the text of the mobile locator. If you want to read the value of a specific attribute, you can change the Attribute from TEXT to the actual attribute name of interest. Type can be used to read a value of a mobile locator/node, boolean (true or false), number, or string. "Append Timestamp Separator" is an optional field that can be used to append a unique timestamp at the end of the value read from screen. "Character to Exclude" fields can be used to remove some characters from the results. These excluded characters can be hard-coded-values or Regular Expressions (RegEx).

49) GET_REST_VALUE: Makes a call to a REST end-point that returns values. As part of this command, the returned JSON can be validated by selecting "Validate" and supplying a RAML file. The HTTP response code will be assigned to "Status variable name". Keys can be provided if return type is JSON and values of the keys are of interest and xpath's can be provided if return type is XML and values of the xpaths are of interest. Resulting values can be stored in comma-separated variables specified in the "variable name". The command and REST Connection headers also take any var or template value in the header with any required random header key. This command further keeps the response status to be used in testing logic afterwards. This command supports JSON paths. Web service response can be read and copied after this command is executed.


How to use variables and arrays for dynamic comparisons

REST API Callback Variables

Spaces in JSON key

50) GET_SOAP_VALUEMakes a call to a SOAP web service. XPath's can be provided if values of the XPaths are of interest. Resulting values can be stored in comma-separated variables specified in the "variable name". Special characters can be eliminated from resulting values. Web service response can be read/copied/downloaded after this command is executed. XPath type 'RESPONSE_BODY' doesn't require value and will save the response to the desired variable.

51) GET_SSH_VALUE: Connects to a "connection", executes the commands specified by the "Commands" and the results are stored in comma-separated variables specified in the "variable name". The result/output for each SSH executed command will be shown as well.


GET-SSH-VALUE-Help

52) GET_WEB_VALUE: Reads a value from the browser screen and stores it in the "variable name". By default, it reads the text of the web locator or inline XPath. If you want to read the value of a specific attribute, you can change the Attribute from TEXT to the actual attribute name of interest. Type can be used to read a value of a HTML tag, boolean (true or false), number, or string. It also allows character exclusion when using along with JavaScript returning a value. "Append Timestamp Separator" is an optional field that can be used to append a unique timestamp at the end of the value read from screen. "Character to Exclude" fields can be used to remove some characters from the results. These excluded characters can be hard-coded-values or Regular Expressions (RegEx). This command also allows CSS Type so that CSS attributes as well as Pseudo-elements can be read into variables.


How to use variables and arrays for dynamic comparisons

How to extract what you need when reading variables from a web page or a database?

How to run JavaScript functions or commands?

How to use XPath functions to get the count or total of all the numeric values in table cells?

How to use get_web_value to determine if object exists or not

How to generate two random dates in week day

Need-Help-to-verify-color-of-a-Tab

Not-able-to-locate-the-circle-in-the-check-in-graph

53) GOTO_URL: Navigates to a specified URL.


How to run my custom Java code (Snippet)

54) Group: Used to start a new group of steps and this command allows adding a name for the group. When you hover over the step and hover over the down arrow, you can start adding steps to the group by appending or prepending to the group. You can also ungroup the steps by clicking ungroup which will bring the steps out of the group and remove the group.

55) HOTKEYS: Allows issuance of CTRL_F5 or Escape key strokes.


How to use keyboard shortcuts?

56) HOVER: Hovers over a widget identified by a web locator or inline XPath.

57) HOVER_AND_CLICK: Hovers over a widget and then clicks on another widget.

58) IF: Adds an if statement in the test case. Left and right values of this command can be hard-coded-values or variables. Types of values to compare can be text, number, date or image. If date is used, the format of the dates used can be specified. Operator decides what type of comparison is to be made. The command will automatically add a blank step for you to fill and will also add a step with End_If to close the condition. In case you are using variables, you can use show any available variables that you set in your test case by entering "@" in right value or left value fields. A list of variables will appear for you to select from. This command can also store the resulting Boolean value in a variable if needed.


How to use variables and arrays for dynamic comparisons

How to do conditional branching (IF statement)?

How-do-we-accomplish-IF-a-substring-is-contained-within-a-larger-string

How-to-execute-a-while-loop

59) LOOP: Loops from "Start" to "End" with increment of "Step" and loop variable of "variable name". Loop also supports arithmetic operations (example: Loop HALT i 1 @max+1 1). The command will automatically add a blank step for you to fill and will also add a step with Loop_End to close the loop.


How to use variables and arrays for dynamic comparisons

How to loop through all of the elements on a specific page?

How-to-execute-a-while-loop

60) LOOP_BREAK: Breaks out of the loop before loop is completed.

61) LOOP_END: Ends a loop that has started previously.

62) MAXIMIZE_BROWSER_WINDOW: allows maximizing the browser window after it was already minimized using Minimize_Browser_Window command.

63) MINIMIZE_BROWSER_WINDOWallows minimizing the browser window or changing the size of the window using pixels. The X and Y fields determine the position to move where X is for the right and left movements and Y is for up and down movements. You can use positive numbers to move the window from the left to the right in X or top to bottom in Y. You can use negative numbers to move right to left in X or bottom to top in Y. The default value is 0 for Y and 0 for X. Width and Height determine the size of the window in pixels.

64) MOBILE_DOUBLE_TAP: Need a native mobile license to view/use this command. Double taps on a native mobile widget. Duration is the the amount of time in milliseconds to hold the tap.

65) MOBILE_FILL: Need a native mobile license to view/use this command. Fills "value" in a text field or a text area identified by "Locator" field. If "clear" is checked, it will clear the text field or the text area before filling it out otherwise it will append it to whatever is already included in the text field or text area. This command further allows encryption of the data in the wizard itself instead of having to create a data template to achieve it. In case you are using variables, you can use show any available variables that you set in your test case by entering "@" in the value field. A list of variables will appear for you to select from.

66) MOBILE_LOAD_APP: Need a native mobile license to view/use this command. Loads the app either on an emulator (Phone or Tablet) or a real device (Real Device) using URL or File. Reset option will allow resetting the mobile app after the load otherwise it will resume from the last screen left off. Command also accepts suppressing or un-suppressing of the keyboard as a parameter mainly for real devices.

67) MOBILE_LONG_PRESS: Need a native mobile license to view/use this command. Long presses on a mobile widget. Duration specifies the hold time for press action.

68) MOBILE_PINCH: Need a native mobile license to view/use this command. Performs the pinch operation on the mobile widget. Offset specifies the distance to hold the pinch.

69) MOBILE_PRESS: Need a native mobile license to view/use this command. Performs the press operation on the mobile widget.

70) MOBILE_PRINT_PAGE_SOURCE: Need a native mobile license to view/use this command. Prints the code behind the current mobile page to the screen/report. A copy icon is available to help you copy even large sources from the Message field. 

71) MOBILE_RUN_APP: Need a native mobile license to view/use this command. Runs the app either on an emulator (Phone or Tablet) or an iOS real device (iOS Real Device) using URL or File. Reset option will allow resetting the mobile app after the load otherwise it will resume from the last screen left off. "Show connected devices" on the wizard of this command will show the available iOS or Android devices.

72) MOBILE_SCROLL:  Need a native mobile license to view/use this command. Scrolls up or down. Command can also scroll to a specific mobile element.

73) MOBILE_SPREAD: Need a native mobile license to view/use this command. Performs the spread operation on the mobile widget. Offset specifies the distance to hold the spread. 

74) MOBILE_SWIPE: Need a native mobile license to view/use this command. Swipes on a scrollable widget in a specified direction (left, right, up, or down) until an element is located. Both scroll and swipe amounts are configurable.

75) MOBILE_TAP: Need a native mobile license to view/use this command. Taps on a native mobile widget. Duration is the the amount of time in milliseconds to hold the tap. Fingers is the number of fingers used. Command is also capable of tapping on Back Android system button.


Command to use for tap/select default Back button of Android devices

76) MOBILE_UNLOAD_APP: Need a native mobile license to view/use this command. Unload app from the emulator or the actual device in use. "Remove app" option on the wizard can be used to remove the app from the mobile device.

77) MOBILE_VERIFY_ELEMENT: Need a native mobile license to view/use this command. Verifies existence or non-existence of a mobile element on the screen."Check disabled" option checks for disabled or enabled elements, verification will be done "Attempts" number of times with "Interval" seconds in between each verification. As soon as the element to verify becomes available, the verification will be performed. Attempts and Interval options are used mainly if rendering of the element is asynchronous.

78) MODIFY_LIST: Allows modifying a list which was previously created using Set_List command. In the List Variable field, enter '@' to select the list variable generated in Set_List step, then select an action from the drop-down list. Add_Column: allows you to set a column with or without a custom name. Add_Row: allows you to add a row under a column. Modify_Value: allows you to modify a value for a row by entering its name and index number

79) MULTI_ACTION: Supports combination of keys such as CTRL, ALT, etc as well as Selenium action commands.


Problem-filling-numbers-into-a-table

How-to-drag-bootstrap-slider-

80) NORMALIZE_SPACE: removes extra white spaces from a given text specified by "Message" field which could be a hard-coded-value or a variable. Result of the command is stored into "variable name". In case you are using variables, you can use show any available variables that you set in your test case by entering "@" in the Message field. A list of variables will appear for you to select from.

81) PASSIVE_WEB_SECURITY_CHECKNeed a Web Security Testing license to use this command. Performs passive scanning on all HTTP messages (requests and responses) sent to the web application being tested without making any changes to these requests and responses. This command requires ZAP installation on your device for local runs to work.

82) PING: Performs a ping to a host (by entering the IP address) to confirm if it's reachable or not. The result is displayed in the Message field with average/packet loss/min/max.

83) PRINT_PAGE_SOURCE: Prints the HTML behind the current page to the screen/report. 

84) RESET_SSL_SETTINGS: Allows to clear or reset an SSL Certificate.

85) RIGHT_CLICK: Right clicks on a widget identified by a web locator or inline XPath

86) SCREEN_SHOT: Allows taking a screenshot of the entire VM, entire browser or a specific widget.

87) SCROLL_TO: Scrolls to a specific element/locator on the screen.

88) SCROLL_TO_DYNAMIC: Takes a scrollable element/locator, direction of scroll (left, right, up, or down) along with a text or a locator. It will scroll the scrollable element to the direction specified until it finds the text or locator unless it reaches the end of the scrollable area in which case the command fails.

89) SELECT: Selects from a drop down by index, value, or visible text. You can alternatively deselect a value or deselect all values.


How to work with Select/Drop-down?

90) SET_DATE: Assigns a date with a specific format to a variable. Results will be assigned to "Variable name", "Source" can be @system.date for the current date and time or another date variable, "Source Format" is the format of the source date, "Target Format" is the format of the resulting date, "Offset" is the addition or subtraction made to the source date.Values for offset could be +/- a number in addition to y for years, M for months, d for days, H for hours, m for minutes, s for seconds. In case you are using variables, you can use show any available variables that you set in your test case by entering "@" in any of the fields. A list of variables will appear for you to select from.


How to use SET_DATE command to create a specific date in a particular format?

How can I set a variable to hold a time using 12-hour format instead of 24-hour format?

How to generate two random dates in week day

91) SET_GLOBAL_VAR: Creates a global variable and assigns the value to a variable name. Global variables can be used across multiple test cases and can be leveraged in different execution sets/load tests. To retrieve the value of this variable and use it somewhere else, refer to command GET_GLOBAL_VAREncrypted checkbox allows you to encrypt and mask the value from appearing in logs or Variables window.

92) SET_LIST: Allows reading all the values of data sets associated with a given data template, an SQL command, or an XLS/CSV file/URL. This command creates an array of these values and loop command will allow you to loop through all of them. Once an array is defined using this command, @array_name.rowsCount and @array_name.columnsCount will provide the row count and column count respectively. In order to read the individual array items the following syntax can be used: @{array_name.field_name}[@i] where “i” is the loop variable. This command can also split a string/text using different splitter parameters (Space, Semicolon, Comma) or by using a regular expressions (RegEx). This command also has the ability to create an empty list that you can modify using Modify_List command. The limit for the number of columns and rows in the file is set to 100 by default. To allow users to use a higher number of columns/rows in the list, admins have the ability to change the default value using admin panel. If the command is used with data sets, the maximum limit of rows/columns is 1000x50, but users can upload much more with XLS/CSV as a source type.


How to use variables and arrays for dynamic comparisons

How to upload a downloaded Excel file during a text execution to Set_List

SET_LIST showing special charaters for generated array's first column

Reference to a list row and column by a index of a calculation

SET-LIST-question

93) SET_SSL_SETTINGS: Allows to set an SSL Certificate before a SOAP or REST service is called.

94) SET_TIMEOUTS: Allows default values for page timeout, locator timeout or runtime speed to be modified with "Manual" option for Web, Mobile and Desktop commands. In order to go back to default values set either in local or cloud runs, use "Default" option. It can also be used for native mobile.


Question-about-SET-TIMEOUTS-command-behavior

95) SET_VAR: Creates a variable. Options are:


How to use variables and arrays for dynamic comparisons

How to do conditional branching (IF statement)?

How to extract what you need when reading variables from a web page or a database?

How to create unique variables?

How to use the SET_VAR command variations?

How to use SET_DATE command to create a specific date in a particular format?

How to run my custom Java code (Snippet)

Reference to a list row and column by a index of a calculation

Rounding off decimal numbers with Set_Var

how to use expression in Set_Var

96) Submit: Submits an HTML form.

97) SUB_STRING: extracts a portion of a given variable or text identified by "Message" into another variable identified by "Variable name" using starting and ending indices. In case you are using variables, you can use show any available variables that you set in your test case by entering "@" in the Message field. A list of variables will appear for you to select from.


Substring-command

98) SWITCH_FRAME: Explicitly switches to a frame/iframe identified by id, name, xpath, or "Main" window (first window launched by the test case). Please note that Locator-based commands will switch frame to the Locator-defined frame. Use this command to switch frame for commands like EXECUTE_JAVASCRIPT. This command has been added for scripts using Snippets and/or JavaScript. This command supports Switch Duration parameter to override the default behavior of locator-based elements. Without using this parameter, the locator-based commands will switch frame to the frame defined by the locator. If the whole test case option is used for this new parameter, the locator-based commands will not switch to the frame defined by the locator but instead will continue using the frame from this command throughout the rest of the test case or until another Switch_frame command is issued with the Default option.

99) SWITCH_WINDOW: Explicitly switches to another window identified by a unique popup text, handle index (0,1,2) or main window. Please note that Locator-based commands will switch window to the Locator-defined window. Use this command to switch window for commands like EXECUTE_JAVASCRIPT or with popups that are automatically displayed. Switch Duration parameter is used to override the default behavior of locator-based elements. Without using this parameter, the locator-based commands will switch window to the windows defined by the locator. If the whole test case option is used for this new parameter, the locator-based commands will not switch to the window defined by the locator but instead will continue using the window from this command throughout the rest of the test case or until another Switch_Window command is issued with the Default option. To guarantee switching to a specific window, after you navigate to that window, create a step with Switch_Window command, select Handler Index and use the number to assign the window with this number (number must not be more than the number of open windows).

100) VERIFY_ELEMENT: Verifies existence or non-existence of an element on the screen. "Check invisible" option checks for invisible or visible elements, "Check disabled" option checks for disabled or enabled elements, verification will be done "Attempts" number of times with "Interval" seconds in between each verification. As soon as the element to verify becomes available, the verification will be performed. Attempts and Interval options are used mainly if rendering of the element is asynchronous.


How to add wait until something disappear (Dynamic Wait)

101) VERIFY_FILE_DOWNLOAD: Checks to see whether a specific file is downloaded to a particular location and whether this file has a valid file type or not. This command can also be used to delete the ifle once verification is complete. You can use the "Time out before verification" option to control the command timeout before the verification starts. Verification options include Normal, ANT, REGEX, and WILDCARD. The directory can be injected in a data template and a data set. This Command allows using wildcards (i.e. *) in the Base Dir field.

102) VERIFY_REST: Makes a call to a REST end-point for verification purposes. As part of this command, the returned JSON can be validated by selecting "Validate" and supplying a RAML file. The HTTP response code will be assigned to "Status variable name". Values to be verified whether XML or JSON can be added to the "Value" fields. The command allows checking of multiple value pairs in the REST response. If all but a few of the value pairs are successful, the return message points out the few value pairs that are failing the check. "Contains", "Count", "Equals" and "Not_Equals" are available for this command to support arrays. This command keeps the response status to be used in testing logic afterwards. This command supports JSON paths. Templates can be injected in this command into key value pairs. Also, the order of key-value pairs is preserved. Web service response can be read and copied after this command is executed. 


How to use variables and arrays for dynamic comparisons

REST API Callback Variables

103) VERIFY_SOAPMakes a call to a SOAP web service for values that can be then verified. This command allows the checking of multiple value pairs in the REST response. If all but a few of the value pairs are successful, the return message points out the few value pairs that are failing the check. Templates can be injected in this command into expressions pairs. Web service response can be read/copied/downloaded after this command is executed.

104) VERIFY_TEXT: Verifies existence or non-existence of a text identified by "Value" on the screen. If the text to verify is inside a frame "Target Frame" should be used. If the text to verify is inside another window/popup, a text to uniquely identify that window should be used in "Target Window". Verification will be done "Attempts" number of times with "Interval" seconds in between each verification. As soon as the text to verify becomes available, the verification will be performed. Attempts and Interval options are used mainly if rendering of the text is asynchronous. If used in local player and local player is paused in the middle of the retries, it does not complete the remainder of the tries. Existence type can be selected by Web Page, Dom or both Web Page and Dom. In case you are using variables, you can use show any available variables that you set in your test case by entering "@" in the Value field. A list of variables will appear for you to select from.


Problems-with-Verify-Text-command

105) VERIFY_TEXT_IN_ALERT: Verifies existence or non-existence of a text in an alert box. In case you are using variables, you can use show any available variables that you set in your test case by entering "@" in the Value field. A list of variables will appear for you to select from.

106) VERIFY_TEXT_IN_PDF: Verifies existence or non-existence of a text identified by "Value" in a PDF document. If the text to verify is inside a frame "Target Frame" should be used. If the text to verify is inside another window/popup, a text to uniquely identify that window should be used in "Target Window". Verification will be done by "Attempts" number of times with "Interval" seconds in between each verification. As soon as the text to verify becomes available, the verification will be performed. Attempts and Interval options are used mainly if rendering of the text is asynchronous. The command allows "case sensitive" verification of a text where the default verification is case insensitive. You can also use a PDF file that directly downloads to your device instead of opening on your browser. To do so, simply add the path of the download file in a Goto_url step followed by the file name and extension. For example, "C:\Users\username\Downloads\file.pdf". The next step will verify the text in PDF which is opened. In case you are using variables, you can use show any available variables that you set in your test case by entering "@" in the Value field. A list of variables will appear for you to select from


Verify downloaded pdf in cloud

Verify-Text-In-Pdf-method-doesn't-work

Error-with-Verify-Text-In-PDF

107) VERIFY_XML: Verifies that the XPath (In command options) exists or does not exist in the SOAP response. Verification will be done by "Attempts" number of times with "Interval" seconds in between each verification

108) WAIT: Waits for a specified number of seconds.

109) WRITE: has two options


How to do conditional branching (IF statement)?