Desktop Testing
Documentation Home
  • About
  • Getting-Started
    • Overview 📡
    • Analyze
      • Mind Maps
      • Reports
      • Sprint Reports
      • Mind Map Using Tags
      • Test Lab Reports
    • Build
      • Test Repository
      • module-operation
      • Parameterization
      • Project Setup
      • Test Scripts
      • Maintaining the Script
      • Test Steps
    • Maintain
      • Shared Tests
    • Project-Creation
      • Project Creation🏗️
      • Quick Run🏁
    • QB-Installation-And-Node-Registration
      • QB Installation And Node Registration
    • Run
      • Sprints
      • Test Lab
  • User-Actions
    • SAP User Actions
    • Windows User Actions
  • Advanced Features
    • Advanced SAP User Actions
    • Importing VB Scripts
    • QSpy and Recorder
    • Execute Test Case User Action Documentation
    • import-export-script
    • Shared Tests
    • TDM and Parameterization
  • FAQs
    • FAQs
  • Downloads
    • files
      • SAP Virtual Keys
Powered by GitBook
On this page
  • Table of Contents
  • Application Actions :
  • Mouse Events:
  • Keyboard Events:
  • Verifiers:
  • Functions:
  • Conditional:
  • Data Handlers:
  • Delay:
  • AI Actions:
  • Window Actions:
  1. User-Actions

Windows User Actions

Last updated 5 months ago

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 (*).

Table of Contents

Application Actions :

1. Start

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.

2. Launch

Launches the specified .exe file.

Inputs:

  • Application EXE Path* – Path to the .exe file.

3. Kill EXE

Terminates the specified .exe file.

Inputs:

  • EXE Path* – Path to the .exe file.

Mouse Events:

1. Click

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

2. Click By Coordinates

This action performs a single click at the specified coordinates (x,y).

Inputs:

  • Coordinates* - (x,y)

  • Delay After

3. Click And Hold By Coordinates

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.

4. Double Click

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

5. Double Click By Coordinates

This action performs a double-click at the specified coordinates (x,y).

Inputs:

  • Coordinates* - (x,y)

  • Delay After

6. Right Click

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

7. Right Click By Coordinates

This action performs a right-click at the specified coordinates (x,y).

Inputs:

  • Coordinates* - (x,y)

  • Delay After

8. Release Click By Coordinates

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.

9. Click And Hold

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

10.Hover

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

11. Hover By Coordinates

This action performs a hover action at the specified coordinates (x,y).

Inputs:

  • Coordinates* - (x,y)

  • Delay After

12. Highlight

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

13. Scroll Up

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

14. Scroll Down

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

15. Scroll Left

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

16. Scroll Right

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

Keyboard Events:

1. Set

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

2. Set By Coordinates

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

3. SendKeys

This action performs a Send Keys action.

Inputs:

  • Keys*

4. Clear

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

Verifiers:

1. Verify Text

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

2. Verify Input Text By Coordinates

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

3. Verify Input Contains By Coordinates

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

4. Contains

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

5. Is Blank

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

6. Verify Greater Than

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

7. Verify Less Than

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

8. Verify Not Null

This action checks whether the specified element's value is not null.

Inputs:

  • Locator Type and its Value*

  • Control Type*

  • Index of element

Functions:

1.Execute Test Case

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.

Conditional:

1. Start If

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.

2. End If

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.

Data Handlers:

1. Create Variable

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

2. Dynamic Verify Text

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

3. Dynamic Contains

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

4. Dynamic Set

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

5. Extract Words

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*

6. Remove Words

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*

7. Modify Dynamic Value

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*

8. Dynamic Verify Greater Than

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

9. Dynamic Verify Less Than

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

10. Execute Query

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:

  1. 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).

  1. Parameter File Setup

    • Navigate to the Parameter File.

    • Click Create Table to generate a TDM test table.

  2. 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.

  3. 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.

Delay:

1. Wait

The 'Wait' action pauses the execution for a specific amount of time.

Inputs:

  • Duration (seconds)*

2. Wait For Element

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

AI Actions:

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:

  1. Capture a screenshot of the element you want to interact with.

  2. Crop the image to include only the desired element.

  3. 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.

1. Click By Image

Perform a click action on the captured element.

Inputs:

  • Image of the control*

  • Index (If multiple elements)

2. Click And Hold By Image

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.

3. Set By Image

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)

4. Verify Visibility By Image

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)

5. Hover By Image

Perform a hover action on the captured element.

Inputs:

  • Image of the control*

  • Index (If multiple elements)

6. Release Click By Image

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.

Window Actions:

These actions are used to control the current window that is being used by the test.

1. Attach To Window

Execution will be attached to the window specified.

Inputs:

  • Data Value (Window Name)*

2. Minimize

Minimize the current window.

3. Maximize

Maximize the current window.

4. Close

Close the current window.

You can find extensive information on how to use this user action effectively in the complete guide provided at this .

link
Application Actions
Mouse Events
Keyboard Events
Verifiers
Functions
Conditional
Data Handlers
Delay
AI
Window Actions
Start
Launch
Kill EXE
Click
Click By Coordinates
Click And Hold By Coordinates
Double Click
Double Click By Coordinates
Right Click
Right Click By Coordinates
Release Click By Coordinates
Click And Hold
Hover
Hover By Coordinates
Highlight
Scroll Up
Scroll Down
Scroll Left
Scroll Right
Set
Set By Coordinates
SendKeys
Clear
Verify Text
Verify Input Text By Coordinates
Verify Input Contains By Coordinates
Contains
Is Blank
VerifyGreaterThan
VerifyLessThan
VerifyNotNull
Execute Test Case
Start If Action
Start If Action
Start If Action
Start If Action
Start If Action
Start If Action
Start If Action
Start If Action
Start If Action
Start If Action
Start If Action
End If
Create Variable
Dynamic Verify Text
Dynamic Contains
Dynamic Set
Extract Words
Remove Words
Modify Dynamic Value
DynamicVerifyGreaterThan
DynamicVerifyLessThan
Execute Query - Non Paramerized
Execute Query - Paramerized
Execute Query - Test Data Table
Wait
Wait For Element
Click By Image
Click And Hold By Image
Set By Image
Verify Visibility By Image
Hover By Image
Release Click By Image
Attach To Window
Minimize
Maximize
Close