Windows User Actions
Last updated
Last updated
Windows user actions are functional commands that empower users to interact with and manipulate desktop applications effectively. Qyrus offers a diverse range of 115 distinct action types designed for Desktop Testing, systematically categorized according to their specific nature. Each user action is accompanied by both mandatory and optional input parameters, with mandatory inputs indicated by an asterisk (*).
Starts the specified .exe file and attaches the execution to the specified window name.
Inputs:
Application Path* – Path to the .exe file.
Application Title* – Window name of the started application.
Start Delay – Wait time for the application to start.
This action performs a single click on the specified element.
Inputs:
Locator Type and its Value*
Control Type*
Delay After
Index of element
Child Window Title
New Window Title
This action performs a single click at the specified coordinates (x,y).
Inputs:
Coordinates* - (x,y)
Delay After
This action performs a click and hold operation at the specified coordinates (x, y).
Inputs:
Coordinates* - (x,y)
Delay After
Disclaimer: To release the hold, use Release Click By Coordinate/Image actions. Release of hold can also happen with Click By Coordinates, Set by Coordinate and Click by Image action types, but this is not recommended.
This action performs a double-click on the specified element.
Inputs:
Locator Type and its Value*
Control Type*
Delay After
Index of element
Child Window Title
New Window Title
This action performs a double-click at the specified coordinates (x,y).
Inputs:
Coordinates* - (x,y)
Delay After
This action performs a right-click on the specified element.
Inputs:
Locator Type and its Value*
Control Type*
Delay After
Index of element
Child Window Title
New Window Title
This action performs a right-click at the specified coordinates (x,y).
Inputs:
Coordinates* - (x,y)
Delay After
This action is a subsequent action of Click and Hold By Coordinates/Image, which helps in releasing the long hold. In this action, 1. If the user wants to drag and drop an object from one element to another, it can be done using Click And Hold By Coordinates/Image actions followed by Release Click By Coordinates/Image actions. 2. If the user wants to perform a click operation on a menu, which subsequently performs another operation, Click And Hold By Coordinates/Image actions can be used.
Inputs:
Coordinates* - (x,y) : The specific x and y coordinates where the release action will be performed.
Delay After
Note 1 : If the user uses Click By Coordinates/Image, and Set By Coordinate after Click And Hold By Coordinates/Image action, it will release the hold.
Note 2 : The user is recommended not to use any other actions between Click And Hold By Coordinates/Image and Release Click By Coordinates/Image actions as this may lead to inappropriate results.
This action performs a click and hold action on the specified element.
Inputs:
Locator Type and its Value*
Control Type*
Delay After
Index of element
Child Window Title
New Window Title
This action performs a hover action over the specified element.
Inputs:
Locator Type and its Value*
Control Type*
Delay After
Index of element
Child Window Title
New Window Title
This action performs a hover action at the specified coordinates (x,y).
Inputs:
Coordinates* - (x,y)
Delay After
This action highlights the specified element.
Inputs:
Locator Type and its Value*
Control Type*
Delay After
Index of element
Child Window Title
New Window Title
This action performs a scroll up action with the specified scroll wheel count at the provided coordinates (x,y).
Inputs:
Coordinates* - (x,y)
Wheel Distance*
Delay After
This action performs a scroll down action with the specified scroll wheel count at the provided coordinates (x,y).
Inputs:
Coordinates* - (x,y)
Wheel Distance*
Delay After
This action performs a scroll left action with the specified scroll wheel count at the provided coordinates (x,y).
Inputs:
Coordinates* - (x,y)
Wheel Distance*
Delay After
This action performs a scroll right action with the specified scroll wheel count at the provided coordinates (x,y).
Inputs:
Coordinates* - (x,y)
Wheel Distance*
Delay After
This action sets a value for a specified control, such as an edit (text box) element. It assigns the data value provided to the specified element.
Inputs:
Locator Type and its Value*
Control Type*
Data Value*
Delay After
Index of element
Child Window Title
New Window Title
This action sets a value for a control, such as an edit (text box) element, that is located at the specified coordinates (x,y). It assigns the data value provided to the element at the specified coordinates.
Inputs:
Coordinates* - (x,y)
Data Value*
Delay After
This action clears the content of the specified element.
Inputs:
Locator Type and its Value*
Control Type*
Index of element
Child Window Title
New Window Title
This action compares the text of the specified element with the text provided in the data field.
Inputs:
Locator Type and its Value*
Control Type*
Data Value*
Index of element
Child Window Title
New Window Title
This action matches the text of an element located at the specified coordinates (x,y) with the text specified in the Coordinates Value.
Inputs:
Coordinates* - (x,y)
Data Value*
Delay After
This action verifies whether the text of the element at the specified coordinates (x,y) contains the text specified in the Coordinates Value.
Inputs:
Coordinates* - (x,y)
Data Value*
Delay After
This action checks whether the specified element contains the text provided in the data field.
Inputs:
Locator Type and its Value*
Control Type*
Data Value*
Index of element
Child Window Title
New Window Title
This action verifies whether the text of the specified element is blank or not.
Inputs:
Locator Type and its Value*
Control Type*
Data Value*
Index of element
Child Window Title
New Window Title
This action checks whether the specified element's value is greater than provided in the data field. There are two value type supported here Date and Number. Format is applicable for Date and is optional. Eg. dd/mm/yyyy hh:mm:ss
Inputs:
Locator Type and its Value*
Control Type*
Data Value*
Value Type*
Index of element
Format For Locator’s Value
Format For Data
This action checks whether the specified element's value is less than provided in the data field. There are two value type supported here Date and Number. Format is applicable for Date and is optional. Eg. dd/mm/yyyy hh:mm:ss
Inputs:
Locator Type and its Value*
Control Type*
Data Value*
Value Type*
Index of element
Format For Locator’s Value
Format For Data
This action checks whether the specified element's value is not null.
Inputs:
Locator Type and its Value*
Control Type*
Index of element
This action allows users to invoke entire test script as test step within another script, promoting reusability.
Inputs:
Script Name*
Data
Note: If this user action is parameterized, the 'Data' field will be changed into 'Data Column', which is a mandatory field.
You can find extensive information on how to use this user action effectively in the complete guide provided at this link .
This action marks the beginning of an if condition block. Any subsequent actions related to this action type will be considered as steps within the if condition block and will only be executed if the specified condition is satisfied.
Note: The conditions within the nested structure depend on the "Pass" or "Fail" outcomes of the verifier contained within it.
Exclusively supports verifiers.
This action signifies the end of the immediately preceding if condition block.
Nested If Conditions
Nested conditional tests can be accomplished by enclosing a series of "Start If - End If" steps within another set of "Start If - End If" conditional steps. This creates a hierarchical structure that allows for layered conditional evaluations.
This action captures the text from the specified element and stores it in a variable with the specified name. The variable (data column) can then be used in subsequent data handler action types.
Inputs:
Variable name*
Locator Type and its Value*
Control Type*
Index of the element
New Window Title
Child Window Title
In this action, the dynamically captured text from the 'Create Variable' user action needs to be selected in the 'Select Variable' field. The text value associated with the variable will be matched with the text of the specified element.
Inputs:
Select Variable*
Locator Type and its Value*
Control Type*
Index of the element
New Window Title
Child Window Title
Similar to the 'Dynamic Verify Text' action, this action also uses the dynamically captured text from the 'Create Variable' user action in the 'Select Variable' field. It checks whether the text of the specified element contains the text value associated with the variable.
Inputs:
Select Variable*
Locator Type and its Value*
Control Type*
Index of the element
New Window Title
Child Window Title
This action dynamically sets the value of a specified element using the text captured from the 'Create Variable' user action. The text value associated with the data column will be set to the specified element.
Inputs:
Select Variable*
Locator Type and its Value*
Control Type*
Index of the element
New Window Title
Child Window Title
The 'Extract Words' action retrieves characters from the variable value of the 'Select Variable' field, using designated start and end indices provided within the data. It allows you to extract specific portions of text from a variable.
Example:
Variable(contains) has the text value "Hey How Are You?"
Data: 0|7
Updated value of Variable(contains): "Hey How" (Starting from the 0th index till the 6th index, excluding the 7th index)
Inputs:
Data*
Select Variable*
The 'Remove Words' action removes the word specified in the variable value of the 'Select Variable' field from the text within the 'Data' field. It allows you to selectively remove words or phrases from a variable.
Example:
Variable(contains) has the text value "Test Test1 Test2"
Data: "Test Test1"
Updated value of Variable(contains): "Test2" (Removed words provided in the Data value)
Inputs:
Data*
Select Variable*
The 'Modify Dynamic Value' action allows you to dynamically change the value of a variable by concatenating it with another value. The dynamically captured text from the 'Create Variable' user action needs to be selected in 'Select Variable.' The updated value can be specified in the 'Data' field.
Example:
Variable(contains) has the text value "Hello"
Data: Var1 + " Append Word"
Updated value of Variable(contains): "Hello Append Word"
Inputs:
Data*
Select Variable*
This action checks whether the specified element's value is greater than value in variable. This action uses the dynamically captured text from the 'Create Variable' user action in the 'Select Variable' field. There are two value type supported here Date and Number. Format is applicable for Date and is optional. Eg. dd/mm/yyyy hh:mm:ss
Inputs:
Locator Type and its Value*
Control Type*
Variable Name*
Value Type*
Index of element
Format For Locator’s Value
Format For Variable’s Value
This action checks whether the specified element's value is less than value in variable. This action uses the dynamically captured text from the 'Create Variable' user action in the 'Select Variable' field. There are two value type supported here Date and Number. Format is applicable for Date and is optional. Eg. dd/mm/yyyy hh:mm:ss
Inputs:
Locator Type and its Value*
Control Type*
Variable Name*
Value Type*
Index of element
Format For Locator’s Value
Format For Variable’s Value
Executes a database query and stores the resulting response in a designated variable. Applicable when a database connection is pre-configured.
Inputs:
Query* - SQL query to be executed against the configured database.
Data Column* - Name of the variable to store query results.
Key Extractor* - Specific column to be extracted from the query results.
Prerequisites:
Database configuration must be set up before using this user action.
Non-Parameterization Flow:
Create database configuration in project setup.
Select 'Execute Query' user action.
Enter SQL query in Query field.
Specify Data Column for storing results.
Define Key Extractor for extracting specific column data.
Select database configuration before test run.
Example:
SELECT * FROM newdata WHERE id = 2
Parameterization Flow:
Initial Configuration
When parameterization is activated, the Query field is hidden.
Two fields remain visible:
Data Column (to store results)
Key Extractor (to extract specific column data).
Parameter File Setup
Navigate to the Parameter File.
Click Create Table to generate a TDM test table.
Test Case Creation
The TDM table includes a default column named Test Case (e.g., TC1, TC2).
Data Column field added as second column (e.g., Variable) to store SQL queries.
Query Parameterization
Populate the Variable column with your SQL queries.
Example table structure:
Avoid mixing queries that select different columns on TDM table: If TC1 extracts firstname
and TC2 extracts lastname
, execution may terminate unexpectedly.
Always specify single column in the Key Extractor field.
Integration: Can be combined with "Dynamic Set" to reuse retrieved data in test scenarios.
The 'Wait' action pauses the execution for a specific amount of time.
Inputs:
Duration (seconds)*
The 'Wait For Element' action pauses the execution until the specified element becomes visible in the window. It helps ensure that the script waits for an element to appear before proceeding with further actions.
Inputs:
Timeout*
Locator Type and its Value*
Control Type*
Index of the element
New Window Title
Child Window Title
Introducing Qyrus's groundbreaking feature: "AI Actions." Now, effortlessly execute actions by providing a screenshot. With this cutting-edge capability, tasks like UI testing, data validation, and setting a value become a breeze. AI Actions allow you to interact with complex controls that might not have an ID or Name.
How it Works:
Capture a screenshot of the element you want to interact with.
Crop the image to include only the desired element.
In cases of identical visuals, enable the "Multiple Elements" option and specify the index value based on the element's position from top-left to bottom-right.
Captured element is a cropped screenshot of the element.
Perform a click action on the captured element.
Inputs:
Image of the control*
Index (If multiple elements)
Perform a click and hold action on the captured element.
Inputs:
Image of the control* : Specifies the image to perform the click and hold action on.
Disclaimer: To release the hold, use Release Click By Coordinate/Image actions. Release of hold can also happen with Click By Coordinates, Set by Coordinate and Click by Image action types, but this is not recommended.
Set the value of an element, which can be text to be entered in a text box. This action is performed on the captured element.
Inputs:
Image of the control*
Data Value*
Index (If multiple elements)
Perform a visibility check on the element. This action verifies if the captured element is present on the current screen.
Inputs:
Image of the control*
Index (If multiple elements)
Perform a hover action on the captured element.
Inputs:
Image of the control*
Index (If multiple elements)
This action is a subsequent action of Click and Hold By Coordinates/Image, which helps in releasing the long hold. In this action, 1. If the user wants to drag and drop an object from one element to another, it can be done using Click And Hold By Coordinates/Image actions followed by Release Click By Coordinates/Image actions. 2. If the user wants to perform a click operation on a menu, which subsequently performs another operation, Click And Hold By Coordinates/Image actions can be used.
Inputs:
Image of the control* : Specifies the image to perform the release action on.
Delay After
Index (If multiple elements)
Note 1 : If the user uses Click By Coordinates/Image, and Set By Coordinate after Click And Hold By Coordinates/Image action, it will release the hold.
Note 2 : The user is recommended not to use any other actions between Click And Hold By Coordinates/Image and Release Click By Coordinates/Image actions as this may lead to inappropriate results.
These actions are used to control the current window that is being used by the test.