# User actions

* A user action refers to a functional command that holds the capability to execute specific operations within a web application, effectively enabling users to interact with and manipulate the application's features and functionalities in a targeted manner.
* Qyrus offers a comprehensive selection of 115 distinct action types. These user actions, tailored for Web Testing, are systematically categorized according to their specific nature. Each user action is accompanied by both mandatory and optional input parameters. Mandatory inputs are indicated by an asterisk (\*) appended to the input name.

## Alert Handlers

1. [**Alert Text**](#alert-text)
2. [**Cancel**](#cancel)
3. [**OK**](#ok)
4. [**Optional Alert**](#optional-alert)

## Conditional

1. [**Start If**](#start-if)
2. [**End If**](#end-if)

## API

1. [**GET**](#get)
2. [**POST**](#post)
3. [**PUT**](#put)
4. [**DELETE**](#delete)
5. [**PATCH**](#patch)

## Data Handlers

1. [**Create Variable**](#create-variable)
2. [**Dynamic Append**](#dynamic-append)
3. [**Dynamic Capture Email**](#dynamic-capture-email)
4. [**Dynamic Click**](#dynamic-click)
5. [**Dynamic Contains**](#dynamic-contains)
6. [**Dynamic Double Click**](#dynamic-double-click)
7. [**Dynamic Exists**](#dynamic-exists)
8. [**Dynamic Go To Url**](#dynamic-go-to-url)
9. [**Dynamic Not Exists**](#dynamic-not-exists)
10. [**Dynamic Right Click**](#dynamic-right-click)
11. [**Dynamic Set**](#dynamic-set)
12. [**Dynamic Text Assert**](#dynamic-text-assert)
13. [**Dynamic Verify**](#dynamic-verify)
14. [**Dynamic Verify Is Not**](#dynamic-verify-is-not)
15. [**Dynamic Verify Greater Than**](#dynamic-verify-greater-than)
16. [**Dynamic Verify Less Than**](#dynamic-verify-less-than)
17. [**Dynamic Verify PDF Content**](#dynamic-verify-pdf-content)
18. [**Dynamic Verify Downloaded File Name/Type**](#DynamicverifyDownloadedFile)
19. [**Dynamic Verify Remote File Contain**](#dynamic-verify-remote-file-contain)
20. [**Dynamic Verify Downloaded PDF Content**](#dynamic-verify-downloaded-pdf-content)
21. [**Extract Words**](#extract-words)
22. [**Execute Query**](#execute-query)
23. [**Modify Dynamic Value**](#modify-dynamic-value)
24. [**Remove Words**](#remove-words)
25. [**Verify OTP**](#verify-otp)

## Email Verifiers

1. [**Capture Email**](#capture-email)
2. [**Verify Email Attachment**](#verify-email-attachment)
3. [**Verify Email Body Contains**](#verify-email-body-contains)
4. [**Verify Email Body Does Not Contain**](#verify-email-body-does-not-contain)
5. [**Verify Email Subject**](#verify-email-subject)

## Launch

1. [**Go To URL**](#go-to-url)
2. [**Launch URL With Auth**](#launch-url-with-auth)

## File And Js Handlers

1. [**Click JS**](#click-js)
2. [**Execute JavaScript**](#execute-javascript)
3. [**Execute JS**](#execute-js)
4. [**Execute Java Code**](#execute-java-code)
5. [**File Upload**](#file-upload)
6. [**Upload Downloaded Remote File**](#upload-downloaded-remote-file)
7. [**Modify Downloaded File Data**](#modify-downloaded-file-data)

## Functions

1. [**Loop**](#Loop)
2. [**Execute Function**](#execute-function)
3. [**Execute Test Case**](#execute-test-case)

## Input Events

1. [**Append**](#append)
2. [**Clear**](#clear)
3. [**Date Picker**](#date-picker)
4. [**Send Keys**](#send-keys)
5. [**Set**](#set)
6. [**Set By Coordinates**](#set-by-coordinates)
7. [**Slider**](#slider)

## Mouse Events

1. [**Click**](#click)
2. [**Click By Coordinates**](#click-by-coordinates)
3. [**Double Click**](#double-click)
4. [**Drag And Drop**](#drag-and-drop)
5. [**Highlight**](#highlight)
6. [**Hover**](#hover)
7. [**Right Click**](#right-click)
8. [**Scroll To**](#scroll-to)
9. [**Select Dropdown**](#select-dropdown)

## Verifiers

1. [**Contains**](#contains)
2. [**Element Enabled**](#element-enabled)
3. [**Element Disabled**](#element-disabled)
4. [**Element Exist**](#element-exist)
5. [**Element Not Exist**](#element-not-exist)
6. [**Element Position Is**](#element-position-is)
7. [**Element Position Is Not**](#element-position-is-not)
8. [**Is Blank**](#is-blank)
9. [**Is Visible**](#is-visible)
10. [**Verify Attribute**](#verify-attribute)
11. [**Verify Attribute Is Not**](#verify-attribute-is-not)
12. [**Verify Downloaded File Name/Type**](#verifyDownloadedFile)
13. [**Verify Greater Than**](#verify-greater-than)
14. [**Verify Less Than**](#verify-less-than)
15. [**Verify Not Null**](#verify-not-null)
16. [**Verify PDF Content**](#verify-pdf-content)
17. [**Verify Regular Expression**](#verify-regular-expression)
18. [**Verify Remote File Contain**](#verify-remote-file-contain)
19. [**Verify Text**](#verify-text)
20. [**Verify Text Present**](#verify-text-present)
21. [**Verify Title Contains**](#verify-title-contains)
22. [**Verify Title Is**](#verify-title-is)
23. [**Verify Title Is Not**](#verify-title-is-not)
24. [**Verify URL**](#verify-url)
25. [**Verify Webtable With Excel**](#verify-webtable-with-excel)
26. [**Verify Downloaded PDF Content**](#verify-downloaded-pdf-content)

## Waits

1. [**Wait Until Alert Is Present**](#wait-until-alert-is-present)
2. [**Wait Until Element Is Clickable**](#wait-until-element-is-clickable)
3. [**Wait Until Title Is**](#wait-until-title-is)
4. [**Wait Until URL Is**](#wait-until-url-is)
5. [**Wait Until Element Is Visible**](#wait-until-element-is-visible)
6. [**Wait**](#wait)
7. [**Wait For Element**](#wait-for-element)

## Windows

1. [**Attach**](#attach)
2. [**Close Window**](#close-window)
3. [**Maximize**](#maximize)
4. [**Refresh**](#refresh)
5. [**Screen Dimension**](#screen-dimension)
6. [**Set Default Content And Set Parent Frame**](#set-default-content-and-set-parent-frame)
7. [**Set Frame**](#set-frame)
8. [**Zoom In**](#zoom-in)
9. [**Zoom Out**](#zoom-out)
10. [**Zoom Reset**](#zoom-reset)
11. [**Zoom Level**](#zoom-level)

## WebTable

1. [**Click On WebTable Element**](#click-on-webtable-element)
2. [**Verify WebTable Element Text**](#verify-webtable-element-text)

## AI

1. [**Click By Image**](#click-by-image)
2. [**Set By Image**](#set-by-image)
3. [**Verify By Image**](#verify-by-image)
4. [**Verify Screen**](#verify-screen)

***

## Alert Handlers :

#### Alert Text

It compares the text of the alert popup with the value specified in the data field.

***Inputs :***

* Data\* – the text to compare with the popup

![alert](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-54d84df10298aec37fbea7e1c22db8eb9158079b%2FAlert_text.png?alt=media)

***

#### Cancel

It closes the alert popup by clicking on the cancel button.

![Cancel](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-27edb9b1d8db01e5a46705be077e8f12ba2b8307%2FCancel_Action.jpg?alt=media)

***

#### Ok

It clicks the ok button on the alert popup.

![OK](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-4d47219ae5803df7f5bc73e5c9e9a3bd358e0fd4%2FOK.jpg?alt=media)

***

#### Optional Alert

It captures the text content and subsequently dismisses the alert popup.

![Optional Alert](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-2bf3c8109cae5dc12e2b3c0e037a58d34f2b4fa1%2Foptional_Alert.jpg?alt=media)

***

## Conditional :

#### Start If

It signify the beginning of the if condition, any subsequent tests related to this action type will be considered as steps within the if condition block. These steps will only be executed if the condition is satisfied.

Note: The conditions within the nested structure are contingent on the "Pass" or "Fail" outcomes of the verifier contained within it.

Exclusively supports Only for verifiers.

![startIf](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-d9c44d79aa3a59fb8d491c9eed8065d0b6ba3c06%2FstartIf.jpg?alt=media)

***

#### End If

It denotes the end of the immediate above if condition.

![EndIf](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-79739ba3d49fca0865428d38f1aaa5542d89cf08%2FEndIf.jpg?alt=media)

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

Thereby creating a hierarchical structure that allows for layered conditional evaluations.

***

## API :

#### GET

It retrieves data from the server.

***Inputs :***

* Query params
* Path params
* Authentication
* Headers
* Data Handler

![Patch](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-a5453fe8490002f656f0c758ec6d4e1a655a3cea%2FGet.png?alt=media)

***

#### POST

It sends data to the server and creates a new resource.

***Inputs :***

* Query params
* Path params
* Authentication
* Headers
* Body
* Data Handler

![Post](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-845f964a9d2396880c58682f2c9076cad01fc2e4%2FPost.png?alt=media)

***

#### PUT

It is used to update an existing resource.

***Inputs :***

* Query params
* Path params
* Authentication
* Headers
* Body
* Data Handler

![Put](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-17cd1bedd37dffbc71e1270e71e61560c1e28c9d%2FPut.png?alt=media)

***

#### DELETE

It deletes a resource specified by its URI.

***Inputs :***

* Query params
* Path params
* Authentication
* Headers
* Body
* Data Handler

![Delete](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-b57feb679c30ed384c2c0ac451d6f0399202d1ee%2FDelete.png?alt=media)

***

#### PATCH

It partially updates a resource with specific changes.

***Inputs :***

* Query params
* Path params
* Authentication
* Headers
* Body
* Data Handler

![Patch](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-4f021ba3faf15bb3328054eb0242d0087bf30c9c%2FPatch.png?alt=media)

***

## Data Handlers :

#### Create Variable

It captures the property (text/attribute/URL/emailhyperlink) from the specified web element and stores it in the variable name which is specified. This variable(Data column) can then be employed in subsequent data handler action types.

***Inputs :***

* Variable name\*
* Locator type and its value\*
* property to be captured\*
* Index of the web element

![Create Variable](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-f0da13811d29b40cac25dc3ba8359398c8ea1262%2FCreate_variable.png?alt=media)

***

#### Dynamic Append

The dynamically captured text from the 'Create Variable' user action needs to selected in the data column field. That text value associated to the data column will be appended to the text value in the specified web element.

***Inputs :***

* Data column\*
* Locator type and its value\*
* Index of the web element

![Dynamic Append](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-b321a5a69dd8ce17ed7de24dfd4052bad228ca7d%2FDynamic_append.png?alt=media)

***

#### Dynamic Capture Email

It captures emails sent from the designated sender address within the specified timeframe. The email body and subject are the data columns which are dynamically captured from the 'Create Variable' user action.

***Inputs :***

* From Address\* - The sender address.
* Time Span(mins)\* - The time span for capturing mail within the time given(1min - 5mins)
* Email and password
* Email subject
* Email body

![Dynamic Click](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-5c59d9abdda5b9fb8e6a25b6aff7b9b3fb615e6c%2FDynamic_capture_email.png?alt=media)

***

#### Dynamic Click

It clicks on an element that has its text dynamically generated.

***Inputs :***

* Data column\*
* Locator type and its value\*
* Index of the web element

![Dynamic Click](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-d8613108e502dd591bb6d9a164e1c446f8d6af3a%2FDynamic_click.png?alt=media)

***

#### Dynamic Contains

The dynamically captured text from the 'Create Variable' user action needs to selected in the data column field. It checks whether a web element contains the value associated to the data column.

***Inputs :***

* Data column\*
* Locator type and its value\*
* Index of the web element

![Dynamic contains](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-979878ac186a69d6b1b72b4f849a5179ddf4235e%2FDynamic_contains.png?alt=media)

***

#### Dynamic Double Click

It double-clicks on an element that has its text dynamically generated.

***Inputs :***

* Data column\*
* Locator type and its value\*
* Index of the web element

![dynamic double click](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-91dce151d3daaea7c533bffe3b27a19ff52a6582%2FDynamic_double_click.png?alt=media)

***

#### Dynamic Exists

It checks if an element exists.

***Inputs :***

* Data column\*
* Locator type and its value\*
* Index of the web element

![Dynamic Not Exists](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-8869fd886ce30f907e314d1b708377a7677f52e6%2FDynamic_Exists.png?alt=media)

***

#### Dynamic Go To URL

The dynamically captured text from the 'Create Variable' user action needs to selected in the data column field. That text value associated to the data column will be appended to the static URL and navigates to the specific URL.

***Inputs :***

* Static URL\*
* Data column\* - variable name that contains the value of the specified element

![Dynamic url](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-ceb0752db93bf9515d52933172a005889f666b5f%2FDynamic_go_to_url.png?alt=media)

***

#### Dynamic Not Exists

It checks if an element dosen't exist.

***Inputs :***

* Data column\*
* Locator type and its value\*
* Index of the web element

![Dynamic Not Exists](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-2b195fc41c58631054c16d2f8db2f9f59b47ef42%2FDynamic_not_exists.png?alt=media)

***

#### Dynamic Right Click

It right clicks on an element that has its text dynamically generated.

***Inputs :***

* Data column\*
* Locator type and its value\*
* Index of the web element

![Dynamic Right Click](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-0139a90b3c9787648ba8e8da2b4ee02f9f2dce91%2FDynamic_right_click.png?alt=media)

***

#### Dynamic Set

The dynamically captured text from the 'Create Variable' user action needs to selected in the data column field. That text value associated to the data column will be set to the specified web element.

***Inputs :***

* Data column\*
* Locator type and its value\*
* Index of the web element

![Dynamic Set](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-64a4e8d49beab706bb6a7a3d9a9603c74b967000%2FDynamic_set.png?alt=media)

***

#### Dynamic Text Assert

The dynamically captured text from the 'Create Variable' user action needs to selected in the data column field. That text value associated to the data column will be verified against the text specified in the data field.

***Inputs :***

* Data\*
* Data column\*

![Dynamic Text Assert](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-4a4dc1d2d4bf064a788d2ce3ec358921fc176f03%2FDynamic_text_assert.png?alt=media)

***

#### Dynamic Verify

The dynamically captured text from the 'Create Variable' user action needs to selected in the data column field. That text value associated to the data column will be verified with the text present on the specified web element.

***Inputs :***

* Data column\*
* Locator type and its value\*
* Index of the web element

![Dynamic Verify](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-cb3a05a726ffc1ba06420acac00e166050025137%2FDynamic_verify.png?alt=media)

***

#### Dynamic Verify Is Not

The dynamically captured text from the 'Create Variable' user action needs to selected in the data column field. That text value associated to the data column will be verified with the text present on the specified web element.

***Inputs :***

* Data column\*
* Locator type and its value\*
* Index of the web element

![Dynamic Verify Is Not](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-7952f6214cf3a4e2c2bd78d92a2afbd5e3f8ff3b%2FDynamic_verify_is_not.png?alt=media)

***

#### 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 'Data Column' field. The supported value type is Number.

***Inputs :***

* Data column\*
* Locator type and its value\*
* Index of the web element

![Dynamic Verify Greater than](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-05f08d2beb2686b97d1b0872a219e4b4e30deed1%2Fdynamic_greaterthan.png?alt=media)

***

#### Dynamic Verify Less Than

This action checks whether the specified element's value is lesser than value in variable. This action uses the dynamically captured text from the 'Create Variable' user action in the 'Data Column' field. The supported value type is Number.

***Inputs :***

* Data column\*
* Locator type and its value\*
* Index of the web element

![Dynamic Verify Less Than](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-79ff078037e8359082b8e431e917c33ae40e37e3%2Fdynamic_less%20than.png?alt=media)

***

#### Dynamic Verify PDF Content

Forward the email containing the PDF attachment to the Qyrus mailbox: <qyrustestautomation@outlook.com> .It should capture the email first and then title of the downloaded pdf, email subject and checks whether the dynamically generated text from the data column is contained within the PDF.

***Inputs :***

* File Name\*
* Data column\*
* Email Subject\*

![Dynamic verify pdf content](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-cca969e5601878bdd5fd0af85d5e9271f71ca47b%2FDynamic_verify_pdf_content.png?alt=media)

***

#### Dynamic Verify Downloaded File Name/Type

It validates file downloaded from a specific source matches the expected name and format(.text,.docs,.pdf,.xls).

***Inputs :***

* File Extension\*
* File Name

![Dynamic Verify Downloaded File Name/Type](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-e813c50c81a783dd722813a319f719e5a11b0f56%2FDynamic%20Verify%20Downloaded%20File%20NameType.png?alt=media)

***

#### Dynamic Verify Remote File Contain

It validates the downloaded file's name and checks whether the dynamically generated text from the data column is contained within the file(.text, .docx, .pdf).

***Inputs :***

* File Name\*
* Data column\*

![Dynamic verify remote file conatain](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-449a1cd18deac63e5f6894c4ed6371ee6ab14acc%2FDynamic_verify_remote_file_contain.png?alt=media)

***

#### Dynamic Verify Downloaded PDF Content

It validates the downloaded PDF file's name and checks whether the dynamically generated text from the data column is contained within the PDF.

***Inputs :***

* File Name\*
* Data column\*

![Dynamic Verify Downloaded PDF Content](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-c0e04883d34727d9b382dafd8eab7dccc9deb7ac%2FDynamic_verify_downloaded_pdf_content.png?alt=media)

***

#### Extract Words

It retrieves characters from the data column, using designated start and end indices provided within the data field.

***Inputs :***

* Data\*
* Data column\*

![Extract Words](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-6d21f452f4c547e656cf6a06bd99ede379934b74%2FExtract_words.png?alt=media)

***

#### Execute Query

It performs the query execution and stores the resulting response in a designated variable name. This functionality is applicable when a database configuration is in place.

***Inputs :***

* Query\*
* Data column\*
* Key extractor\*

![Execute Query](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-5567bac3f4a3ab494e767ebdd873be2538d8b53a%2FExecute_query.png?alt=media)

***

#### Modify Dynamic Value

The dynamically captured text from the 'Create Variable' user action needs to selected in the data column field. That text value associated to the data column will be changed with value specified in the data field

***Example :***

Data column(contains) has the text value "Name" and in the data field the value specified is 'contains+" Modify"', then the value of the data column(contains) becomes "Name Modify".

***Inputs :***

* Data\*
* Data column\*

![Modify Dynamic Value](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-4d53deeab767e83bfe924e3115aafcae7e72f5a5%2FModify_dynamic_value.png?alt=media)

***

#### Remove Words

It removes the word which is specified in data field from the text within the data column.

***Inputs :***

* Data\*
* Data column\*

![Remove Words](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-481233d2dee27236be11918e2899822d71351b28%2FRemove_words.png?alt=media)

***

#### Verify Otp

In the execution, a waiting period of 50 seconds is initiated, during which an input box is presented. In this box, you are required to manually enter the OTP. The entered OTP will then be set to the specified web element.

> Note: The verify OTP must be enabled before the execution

![Verify\_OTP\_ex](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-6a301527a61b6432f91b4ffc408f6a6265305c66%2FVerify_otp_examp.png?alt=media)

***Inputs :***

* Data column\*
* Locator type and its value\*

![Verify Otp](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-8a1b710889839525923d774cada75a929f502f07%2FVerify_otp.png?alt=media)

***

## Email Verifiers :

The mail should be sent to <qyrustestautomation@outlook.com> before proceeding with any email verifier.

#### Capture Email

It captures unread email sent from the specified sender address within the designated timeframe, retrieving the latest one if multiple emails are sent during this period. The email subject or email body or both can be mentioned to identify the email.

***Inputs :***

* From Address\*
* Time Span(mins)(1min - 5mins)\*
* Email and password
* Email subject - The subject of the email will be used to identify the mail.
* Email body - The body of the email will be used to identify the mail.

![Capture Email](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-a1d153eef790db5fb16a1c1ffc79c4a568bd4afe%2FCapture_email.png?alt=media)

***

#### Verify Email Attachment

It verifies the name, size and type of file attached to the email.

***Inputs :***

* Attachment size(KB)\* - The size of attachment present in the mail in kb
* Attachment type\* -The type of attachment present in the mail must be entered. (pptx, doc, pdf)

![Verify Email Attachment](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-64342bebf44cda87594bfde20d073ce9af5a505e%2FVerify_Email_attachment.png?alt=media)

***

#### Verify Email Body Contains

It verifies if the content of email body contains the data specified.

***Inputs :***

* Email Body\*

![Verify Email Body Contains](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-16bc6aa34436407bcb7998cda5d529655107a2f7%2FVerify_email_body_contains.png?alt=media)

***

#### Verify Email Body Does Not Contain

It verifies if the content of email body does not contain the data specified.

***Inputs :***

* Email Body\*

![Verify Email Body Does Not Contain](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-7809c349b3d2353e6bd33ca54ba2b8ab3cb5951a%2FVerify_email_body_does_not_contain.png?alt=media)

***

#### Verify Email Subject

It verifies if the content of email subject with the data specified.

***Inputs :***

Email Subject\*

![Verify Email Subject](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-23d425ad021de6d7fefa6215fcad16f253927015%2FVerify_email_subject.png?alt=media)

***

## Launch :

#### Go To URL

Initiates navigation to the designated URL

***Inputs :***

* URL\*

![Go to url](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-9d8a26a5b31088eaaa0cbc03c19d1c8df6f74efe%2FGo_to_url.jpg?alt=media)

***

#### Launch URL With Auth

* URL\* - The authenticated URL trying to be accessed using basic auth.
* Username\* - The username of the credentials.
* Password\* - The password of the credentials
* Generic format : "http\:// + username + ":" + password + "@" + "link"

![Launch with Auth](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-98ffd3f00b7d48f8bd7d796b28d33a166fd84daf%2FLaunch_with_Auth.jpg?alt=media)

* Manually authenticating

![Manual Auth](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-29e711f25d898cde2b1b87d691e5e0c1587a27bf%2Fmanual_authenciation.jpg?alt=media)

While manually accessing the website, the basic authentication popup appears which provides access to the site once submitted with valid inputs.

However, while running the script with using launch url type - Launch URL With Basic Authentication, the site automatically gets authenticated with the credentials provided.

![after Auth](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-d248badd33f2f104b8dc4dfa35eb6b361e0a6588%2Fafter_authenciation.jpg?alt=media)

This the snapshot of the step with selected action type after the script with the step runs.

> Note: In the video of the run, you cannot see the authentication windows pop up appearing , because the authentication is being performed during launch (the credentials are embedded and encoded within the url itself as mentioned above).

***

## File and JS Handlers :

#### Click Js

It performs a JavaScript-based click on the designated web element, irrespective of the activation status of JavaScript.

***Inputs :***

* Locator type and its value
* Index of the web element

![Click Js](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-8c3ffd38d5300467032bc270c19a14a3570fe8c3%2FClick_js.png?alt=media)

***

#### Execute Javascript

It executes the JavaScript code provided within the Script field.

***Inputs :***

* Script\*
* Variable name\*

![Execute Javascript](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-05f9880fcdf53efc98c29728134ec35e2cbca896%2FExecute_javascript.png?alt=media)

***

#### Execute Js

It executes the JavaScript code provided within the Script field.

***Inputs :***

* Locator type and its value\*
* Index of the web element

![Execute Js](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-d48a425f0560c8eba6fe07e8388904cfbc7a389c%2FExecute_js.png?alt=media)

***

#### Execute Java Code

In the execution, the provided Java code is executed along with the specified class and method name. This execution continues until the point where the current execution has progressed.

***Sample format code :***

```java
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import org.openqa.selenium.remote.RemoteWebDriver;
public class MyClass {
  public static RemoteWebDriver driver=null;
  public static void myFunction(RemoteWebDriver d) {
    driver = d; //to use our runtime driver
    System.out.println(driver.getCapabilities().asMap());
    System.out.println("Code succesfull");
    setStatus("Fail"); //To set Fail Status
    setStatus("Pass"); //To set Pass Status
  }
  public static void setStatus(String status) {
    if (status != null)
      try {
        Path path = Files.write(Paths.get("status.txt"), status.getBytes());
      } catch (Exception e) {
        e.printStackTrace();
      }
  }
}
```

***Inputs :***

* Code\* - Java code to be executed
* Class name\* - The class name which is specified in the code
* Method name\* - The method which is in the specified code to be excuted

![Execute Java Code](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-9f166002762dc06bde487328e032dc1fbe33db85%2FExecute_java_code.png?alt=media)

***

#### File Upload

It uploads the file to the specified web element capable of file uploads.

***Inputs :***

* Locator type and its value\*
* Upload File\*
* Index of the web element
* Data

![File Upload](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-be60d6fc64ab74c43d692ddbd475d1a9f6fc87fb%2FFile_upload.png?alt=media)

***

#### Upload Downloaded Remote File

It uploads the file that was downloaded during execution.

***Inputs :***

* Locator type and its value\*
* Data\*
* Index of the web element

![Upload Downloaded Remote File](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-6036ea81403c89c6bf7414fadf14d68958aae49c%2FUpload_downloaded_remote_file.png?alt=media)

***

#### **Modify Downloaded File Data**

This action type allows you to modify data within a downloaded file based on specific parameters such as file type, data source, cell value format, and more. Below are the fields available for this action type and their respective purposes:

***Inputs :***

1. **File Name**
   * The name of the file you want to modify.
   * *Mandatory Field*.
2. **File Type**
   * Select the type of file you want to modify (e.g., Excel, CSV).
   * Options: `Excel`, `CSV`.
3. **Data Source**
   * Specifies the source of data to modify within the file.
   * Options: `Replace Data`, `Cell Address`.
4. **Cell Range** *(if applicable)*
   * The range of cells within the file where the modification should occur.
   * Example: `A2, B2`.
5. **Cell Value Format** *(if applicable)*
   * Determines the format for the cell values to be modified.
   * Options: `As a Range`, `Upload File`.
6. **Cell Value** *(if applicable)*
   * The value(s) present in the cells that need modification.
   * **Examples**:
     * **Single Value**: `John Smith`, `12345678`, `John1234`.
     * **String of Values**: `John Smith`, `"ABC Company, USA"`, `Banking Project, AWS, Developer`.
   * *Mandatory Field*.
7. **Existing Value** *(if applicable)*
   * The value(s) currently present in the file that you want to replace.
   * Example: `White,#FFFFFF, "rgb(100,100,100)"`.
   * *Mandatory Field*.
8. **Replace With** *(if applicable)*
   * The new value(s) that will replace the existing values.
   * Example: `Quinnox, Qyrus`.
   * *Mandatory Field*.
9. **Upload File** *(if applicable)*
   * If "Upload File" is selected in the "Cell Value Format" field, use this option to browse and upload the file containing the new values.
   * **Note**: The data in the uploaded file should be organized in a horizontal format across all three file types.
   * Accepts: `Excel`, `CSV`, `Text File`.

![Modify Downloaded File Data](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-55e9ec7d3a4a1545ff403005a313c4937c58a77b%2Fmodifydownloadedfiledata.png?alt=media)

## Functions :

**Loop**

This action type allows you to execute a block of steps repeatedly based on defined loop conditions. You can configure loops using index ranges or variables and control when to exit the loop using index or condition verifiers.

***Inputs :***

1. **Definition**
   * You can choose either set by index or set variable
   * **Set by index**:

     * Start Index: Define the initial index value where iteration should begin.
     * Increment Value: Define the amount by which the index should increase after each iteration.
     * Iterator Variable Name: This is a required field where you assign a name to the iterator variable used within the loop.

     ![Loop set by index](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-610a977eebeeee64403d928b065c382440be1274%2FLoop_set_by_index.png?alt=media)
   * **Set by variable**:

     * Test script variable: Select a variable captured using the "Create Variable" action. It must contain a numeric value.
     * Increment Value: Define the amount by which the index should increase after each iteration.

     ![Loop set by variable](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-498c373575fab0c32514959036e300574b2ba470%2FLoop_set_by_variable.png?alt=media)
2. **Exit Condition**
   * You can choose either Exit by Index or Exit by verifier
   * **Exit by Index**:

     * End index: Set the upper limit for the iteration. The loop stops once the iterator reaches this value.

     ![Loop exit by index](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-16df8d6898e4bde8f34c714a127ce93fe66ae0df%2Floop_exit_by_index.png?alt=media)
   * **Exit by verifier**:

     * Verifier Action: Choose a verifier action and enter all required information such as locator type, locator value, and expected data.
     * Max loops allowed: Define the maximum number of iterations to prevent infinite looping if the verifier condition never passes.

     ![Loop exit by index](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-1656c3d0b7c7633271fccd64837b2cb6823e7a0c%2Floop_exit_by_variable.png?alt=media)

     **Note**: The loop checks this condition after each iteration. If the condition passes, the loop exits. If not, it continues.
3. **TDM table**

   * You can link a manual TDM (Test Data Management) table to drive data into your loop steps.
   * Use the “Select Table” option to choose a TDM table.
   * The loop will pick a new value from the selected column on each iteration based on the defined increment value.

     ![Loop TDM table](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-d52ce3f1c3c5f890d985d7e7e7a5fc20cb69b456%2Floop_tdm_table.png?alt=media)

   **Note**: For dynamic insertion of data, you can click the “info” icon next to fields like Locator Value or Data.You can choose a column from the linked TDM table, or select from available variables—such as those captured using the "Create Variable" action as well as the iterator variable defined for the loop.You can also Create static + dynamic values by combining a selected column or variable with static text.

   ![Loop dynamic selection](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-7887eea51c336536405a515fb1a6cea57dfd78ff%2Floop_dynamic_selection.png?alt=media)

   **Limitations**:

   * Nested loops are currently not supported
   * The Execute Test Case action is not supported within a loop.

***

**Execute Function**

It will execute the function which you have stored as a collection of steps.

***Inputs :***

* Function\*

![ExecuteFunc](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-18983d99228ae1aa4f670928eaae89866a0829b4%2FExecute_func.png?alt=media)

***

**Execute Test Case**

**Execute Test Case** enables the user to invoke/call another script within a script. It promotes **reusability** of test scripts within other scripts.

> **Note:** `Execute Test Case` can only invoke scripts that **do not contain another Execute Test Case step** within them.

***

### Usage

**Execute Test Case** is used in the following ways:

![executeTestCase](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-ac888e27e6ad517829e12e2db2e1dce9affcaccf%2FExecute_testcase.png?alt=media)

#### Required Inputs

* **Script Name**: The user must select the script that needs to be invoked.

#### Optional Inputs

* **Data**:
  * After clicking on the **Parameterization icon**, the **Data Column** field is used to parameterize the execute test step.
  * The **Data** field is used to run the **parameterized scripts** of the invoked script.

> **Important:** `Execute Test Case` step **cannot be marked as optional**.

***

### Script Selection Process

1. On clicking the **“Select Script”** button, all the **Modules** under the selected **project** are displayed.

   ![executeTestCasemodule](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-e7ecd2b63d2349020d124f573ded9101dd157988%2FExecute_testcase_1.png?alt=media)
2. On clicking a specific **Module**, the user can select and invoke the desired script(s).

   ![executeTestCasescript](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-a4a4ce1ee2253819be055070fc92e8be22cf9d4f%2FExecute_testcase_2.png?alt=media)

***

### Parameterization Scenarios

Here's your content rewritten in the desired format, with key phrases **bolded** for clarity and consistency:

***

### Parameterization Scenarios

* **Scenario 1: Specific Test Case Row Execution**

  If **Test 1** has a **parameterized step with 2 rows of data**, and the user uses **Test 1 inside Test 2**, specifying the Excel test case serial name like `Tc_1` in the **Data** field, then **execution will happen only for that particular test data row**.
* **Scenario 2: Execute All Data Rows**

  If **Test 1** has a **parameterized step with 2 rows of data**, and the user uses **Test 1 inside Test 2**, specifying `*` in the **Data** field, then it will **consider all data rows** and **execute 2 iterations**, after which it will **proceed to the next step**.
* **Scenario 3: Multiple Execute Test Case Steps**

  A user can use **multiple Execute Test Case** steps in a single test. However, the **invoked test should not itself contain any Execute Test Case** step.
* **Scenario 4: Parameterizing the ExecuteTestCase Step**

  Users can **parameterize the ExecuteTestCase** step (e.g., between **Test 1 and Test 2**).

  Where user can call the test data in the below format.

***

### Parameterization Format Example

Considering **Test 1** and **Test 2**:

#### In Test 2 (Parameterized Data):

| Test\_Case | ExecuteTestCase (Parameter Test) |
| ---------- | -------------------------------- |
| Case1      | Tc\_2                            |
| Case2      | Tc\_1                            |

* If the user adds `Case3` with `Tc_3` and `Tc_3` is **not present** in **Test 1**, then **execution will not happen** for `Case3`.

> **Note:** Parameterization of `Execute Test Case` allows the user to **include other steps along with Execute Test Case** within a **single iteration**.

Note: Execute Test Case can only have tests which dont have an Execute Test Case in them. If you select a test which has execute test case, it will throw a validation error stating "Failed to execute test, Please check parameterized file".

***

## Input Events :

#### Append

It appends the text specified in the data field to the web element which already has some text.

***Inputs :***

* Locator type and its value\*
* Data\*
* Index of the web element

![Append](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-03e94b1ed7a9f29aab89f2a08df763a3c70d6e0e%2FAppend.jpg?alt=media)

***

#### Clear

It clears the text from the specified web element that has some text in it.

***Inputs :***

* Locator type and its value\*
* Index of the web element

![Clear](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-395609802cfbe2af3b8a8fb94b4fb62e34041000%2Fclear.jpg?alt=media)

***

#### Date Picker

The Calendar Date Picker resembles a table structure, featuring rows and columns containing numerical values. To choose a particular date from the calendar, it is possible to employ generic Xpath/CSS locators within the designated locator type field.

**Date Picker** action type is implemented for handling Generic Calendar Date Pick.

***Inputs :***

* Data – Enter the Date in number format from 1 to 31\*
* Locator type and its value\*

![datepicker](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-dc5813eadd4c69c640e11491d40e73cdd6bf7899%2Fdatepicker.jpg?alt=media)

***

#### Send Keys

It sends targeted key inputs which encompass crucial actions such as confirming (Enter), navigating downward (Down), and advancing upward (Up).

***Inputs :***

* Key to send (Data)\*

![SendKeys](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-2e66c8e730a0f5bed3042562effac578a68b5d97%2FSend_keys_ex.png?alt=media)

***

#### Set

It sets the value specified in the data field to the located web element.

***Inputs :***

* Locator type and its value\*
* Data\*
* Index of the web element

![Set](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-47a85cff722dc4348414023acb3bace42706390d%2FSet.png?alt=media)

***

#### Set By Coordinates

It sets the value specified in the data field at the specifed coordinates(x,y).

***Inputs :***

* Data\*
* Coordinates = (x,y)\*

![SetByCoordinate](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-ab17708e57daaaa6bda4f854ff371e51bda6e163%2FSetByCoordinates.jpg?alt=media)

***

#### Slider

It moves the slider to the value specified in the data field.

***Inputs :***

* Locator type and its value\*
* Data\*
* Index of the web element

![slider](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-a8ff4483b2c97c471584aa146632daf690547aea%2Fslider.png?alt=media)

***

## Mouse Events :

#### Click

It performs a click action on the specified web element.

***Inputs :***

* Locator type and its value\*
* Data
* Index of the web element

![click](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-0a91d81a310b750655088ba587d74e22a3dede16%2Fclick.jpg?alt=media)

***

#### Click By Coordinates

It performs a click action at the specified coordinates (x,y) provided within the data field.

***Inputs :***

* Coordinates\* - (x,y)

![clickBy Coordinates](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-7052a2d0a5a8bac802ed5fb22deb816682b9d369%2FClick_By_Coordinates.jpg?alt=media)

***

#### Double Click

It performs double click action on the specified element.

***Inputs :***

* Locator type and its value\*
* Data
* Index of the web element

![doubleClick](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-b3e4d33c497b4edf71781d61bc6fb95faec4bdac%2FDoubleClick.jpg?alt=media)

***

#### Drag and Drop

It performs a click action on the specified ***From*** web element, then proceeds to drag and drop it at the specified ***To*** web element.

***Inputs :***

* From locator type and its value\*
* To locator type and value\*
* Index of the web element

![dragAndDrop](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-c8dd01cfd64597f9ab7851b8b39e1ea45804c887%2FDrag_and_Drop.jpg?alt=media)

***

#### Highlight

It highlights the specified web element.

***Inputs :***

* Locator type and its value\*
* Index of the web element

![Hightlight](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-612588c38033ef4b1c650dba4b8ed2ed192a4ed0%2Fhighlight.jpg?alt=media)

***

#### Hover

It hovers on the specified web element.

***Inputs :***

* Locator type and its value\*
* Index of the web element

![Hover](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-fc2a14f31091b2fcf3988e835b461c07f5a5e058%2Fhover.jpg?alt=media)

***

#### Right Click

It performs right click action on the specified web element.

***Inputs :***

* Locator type and its value\*
* Index of the web element

![RightClick](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-c2b1da8291bf2be8040d77749bc1de34f65ebf4a%2FRight_Click.jpg?alt=media)

***

#### Scroll To

It navigates to the specified web element by scrolling.

***Inputs :***

* Locator type and its value\*
* Index of the web element

![scrollTo](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-7a6f228cc7b660ca463397ce3b5207611b635cca%2FScroll_To.jpg?alt=media)

***

#### Select Dropdown

It clicks on the specified dropdown web element and chooses the element containing the data specified in the data field.

***Inputs :***

* Locator type and its value\*
* Data\*
* Index of the web element

![selectDropDown](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-f1feada148a012d79ad9bc39de423f51492e1f33%2FselectDropDown.jpg?alt=media)

***

## Verifiers :

#### Contains

It verifies whether the specified web element contains the text specified in the data field.

***Inputs :***

* Locator type and its value\*
* Data\*
* Index of the web element

![contains](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-5f8012112ab71200827a22e72acd2464d37560b0%2FContains.jpg?alt=media)

***

#### Element Enabled

It verifies whether the specified web element is enabled on the web page.

***Inputs :***

* Locator type and its value\*
* Index of the web element

![Element Enabled](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-73f63676743c0419dfec987f6c5be225de634cfe%2FElement_Enabled.jpg?alt=media)

***

#### Element Disabled

It verifies whether the specified web element is disabled on the web page.

***Inputs :***

* Locator type and its value\*
* Index of the web element

![Element Disabled](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-2e62cbf30140bbb81bbf91b88073a93b37e582f2%2FElement_Disabled.jpg?alt=media)

***

#### Element Exist

It verifies whether the specified web element exists on the web page.

***Inputs :***

* Element's locator type and its value\*
* Index of the web element

![Element Exist](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-dafa2349641bd1dae8dbf417ab6d6469091c5249%2FElement_Exist.jpg?alt=media)

***

#### Element Not Exist

It verifies whether the specified web element does not exist on the web page.

***Inputs :***

* Locator type and its value\*
* Index of the web element

![Element Not Exist](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-7e4219f837d92f3de205821d4611c1edf523ef4c%2FElement_Not_Exist.jpg?alt=media)

***

#### Element Position Is

It verifies whether the specified web element is in the position specified by the value in the data field.

***Inputs :***

* Locator type and its value\*
* Data – value of the position that is to be checked\*
* Index of the web element

![Element Is Position](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-171512de889afec22ff1992bfa97ec19fe7d2ea7%2FElement_pos_is.png?alt=media)

***

#### Element Position Is Not

It verifies whether the specified web element is not in the position specified by the value in the data field.

***Inputs :***

* Locator type and its value\*
* Data – value of the position that is to be checked\*
* Index of the web element

![Element Is Position](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-c7ccbea66724b1c025d6deaecbc84e8ea79574de%2FElement_pos_Is_not.png?alt=media)

***

#### Is Blank

It verifies whether the text in the specified web element is blank.

***Inputs :***

* Locator type and its value\*
* Index of the web element

![Is Blank](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-434cf2430cc56aac48046d122ce6d5e27204a4ae%2FIs_Blank.jpg?alt=media)

***

#### Is Visible

It verifies whether the specified web element is visible.

***Inputs :***

* Locator type and its value\*
* Index of the web element

  ![Is Visible](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-c497ffa9b3379f58e74760a818d658c50c273e47%2FIs_Visible.jpg?alt=media)

***

#### Verify Attribute

It locates the specified web element, and the verifies whether the property specified in the ***Property*** field has the value specified in the ***data*** field

***Inputs :***

* Locator type and its value\*
* Data\* - value of the attribute that is to be checked
* Index of the web element

***Example :***

![example](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-09773c1a1fb4b8170bf2a9d1c03833e01729b048%2Fverify_attribute_examp.png?alt=media)

It locates the web element with attribute ***Name*** having the value 'username' and subsequently confirms if the ***Placeholder*** attribute contains the value 'Username'.

![verifyAttribute](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-b2042a1a6b6e3636345bf7f4c0d72e92bea1f29c%2FVerify_attribute.png?alt=media)

***

#### Verify Attribute Is Not

It locates the specified web element, and the verifies whether the property specified in the ***Property*** field does not have the value specified in the ***data*** field

***Inputs :***

* Locator type and its value\*
* Data\* - value of the attribute that is to be checked
* Index of the web element

![verifyAttributeIsNot](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-38172a80cd09dd8901c28add0d7e678cbe02c3ea%2FVerify_attribute_is_not.jpg?alt=media)

***

#### Verify Downloaded File Name/Type

It verifies both the name and extension of the downloaded PDF file.

***Inputs :***

* File Name - This field takes the name of the file which has been downloaded in the previous step.

  (Format - . eg : userdocument.pdf)\*

![verifyDownloadedFile](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-d246f7209cd47cd1e1789c8ede331b9c2ee8db7a%2FVerify_download_file.jpg?alt=media)

***

#### Verify Downloaded PDF Content

It verifies the downloaded PDF file's name and also checks whether the text specified in the data field is present inside the pdf.

***Inputs :***

* File Name\* - This field takes the name of the file which has been downloaded in the previous step.

  (Format - . eg : userdocument.pdf)
* Data\* - This field takes the data which has to be verified on the PDF.

![verify](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-10653363f1fdf09b4eb86d07f284db1e5622c568%2Fverify_downloaded_pdf.jpg?alt=media)

***

#### Verify Greater Than

It verifies whether data captured from the element field is greater than the data value specfied in data field.

> Note : If the element captured is not a ‘Number’, then there will be error and the step status would be ***FAIL***

***Inputs :***

* Locator type and its value\*
* Data\*
* Index of the web element

![verifyGreaterThan](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-5bc38bec530c43c04cdb8920fc9fa75d4f6fea0a%2Fverify_greater_than.jpg?alt=media)

***

#### Verify Less Than

It verifies whether data captured from the element field is less than the data value specfied in data field.

> Note : If the element captured is not a ‘Number’ , then there will be error and the step status would be FAIL

***Inputs :***

* Locator type and its value\*
* Data\*
* Index of the web element

![verifyLessarThan](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-3cd735e69d04c936362947e365a807fd3408f025%2Fverify_less_than.jpg?alt=media)

***

#### Verify Not Null

The data captured from locator and locator value will go through a null check and empty string check (since most the cases, for element with no data, the data returned is empty string)

If the data proves to be valid (not null) then the step is going to PASS.

***Inputs :***

* Element's locator type and its value.\*

![verify Not Null](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-d9f13477785f0c7e36cc6e95fe4de3bebac6a128%2FVerify_not_null.jpg?alt=media)

***

#### Verify PDF Content

Verifying PDF Content via Email:Forward the email containing the PDF attachment to the Qyrus mailbox: <qyrustestautomation@outlook.com>.

The content of the PDF will be verified based on the instructions provided.

***Inputs :***

* Data\* - The text/content which has to be verified.
* If there are multiple texts which have to be verified the format is as shown below|| i.e the verification texts must be separated by ‘||’.
* Email Subject\*- The subject of the email will be used to identify the mail with the PDF attachment.
* PDF Title\* - The title of the PDF is used to identify the specific PDF for verification. If there are multiple PDFs, use the PDF title to select the correct one. If the PDF title is not available, the title will be searched within the content of the PDF for identification.
* It's recommended to provide a unique and precise PDF title for accurate identification. This helps in cases where there might be multiple PDFs.

![verifyPdfContent](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-a0b8a9130a5ee2f37c7f2bf2afa8d7c31ac7a4c4%2Fverify_pdf_content.jpg?alt=media)

***

#### Verify Regular Expression

The data captured from locator will be matched with the regular expression ,a regex pattern is generated from the regular expression provided by the user.

***Inputs :***

* Locator type and its value\*
* Data\*

For Example:

* Email
  * ^(\[a-zA-Z0-9\_-.]+)@(\[a-zA-Z0-9\_-.]+).(\[a-zA-Z]{2,5})
  * Matches : <user@domain.com>, <user1997@domain.info>, so on and so forth.
  * Does not match : user1997, username321 so on and so forth.
* URL
  * https?://([www.)?\\\[-a-zA-Z0-9@:%.\_+\\\~#=\]{1,256}.\\\[a-zA-Z0-9()\]{1,6}\b(\\\[-a-zA-Z0-9()@:%\_+.\\\~#?&//=\]\\](http://www.\)?\\\[-a-zA-Z0-9@:%._+\\~#=]{1,256}.\\\[a-zA-Z0-9\(\)]{1,6}\b\(\\\[-a-zA-Z0-9\(\)@:%_+.\\~#?&//=]\\)\*)
  * Matches : <https://google.co.in>, [www.facebook.com](http://www.facebook.com)
* UUID
  * \[a-zA-Z0-9]+
  * Matches any number (integer, decimal).

![verify Regular](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-f4d5a957391fdde052e1d33965a0fe288d058a49%2Fverify_regular_expression.jpg?alt=media)

***

#### Verify Remote File Contain

It validates the downloaded file's name and checks whether the data specified in the data field is contained within the file(.text, .docx, .pdf).

***Inputs :***

* File Name\* - This field takes the name of the file which has been downloaded in the previous step.

  (Format - . eg : userdocument.pdf)
* Data\* - This field takes the data which has to be verified on the downloaded file.

![verify remote file](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-b451c1f6b576bc82402b31174dde39cf76a348aa%2Fverify_remot_file_contains.jpg?alt=media)

***

#### Verify Text

It verifies whether the text of the specified web element has the same value specified in the data field.

***Inputs :***

* Locator type and its value\*
* Data\*
* Index of the web element

![verify Text](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-e98e6beb2955e94f7a706c4062fb2379eb3b8483%2FVerify_text.jpg?alt=media)

***

#### Verify Text Present

It verifies whether the text is present on the specified web element.

***Inputs :***

* Locator type and its value\*
* Data
* Index of the web element

![verify Text present](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-84a647c41bbd4eede067c1cc1209bd79e5461bc8%2FVerify_text_present.jpg?alt=media)

***

#### Verify Title Contains

It verifies whether that the title of the web page contains the value specified in the data field.

***Inputs :***

* Data\*
* Index of the web element

![verify Tittle Contains](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-71af121368edee401a99c74aa2d51276a734b362%2Fverify_title_contains.jpg?alt=media)

***

#### Verify Title Is

It verifies whether that the title of the web page is the value specified in the data field.

***Inputs :***

* Data\* – the text you want to verify
* Index of the web element

![verify Tittle Is](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-561f2b44fc042b404b2622665620657b71d2c5e1%2FVerify_titlt_Is.jpg?alt=media)

***

#### Verify Title Is Not

It verifies whether that the title of the web page is not the value specified in the data field.

***Inputs :***

* Data \*
* Index of the web element

![verify Title Is not](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-f36eb8a0810bc74566adb7a76e4b626833413c3e%2FVerify_Title_Is_Not.jpg?alt=media)

***

#### Verify URL

It verifies whether that the URL of the web page is the value specified in the URL field.

***Inputs :***

* URL\* – the url to be verified should be entered in this field

![verify URl](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-2bb001114be50113853781a81c51de30afc63a18%2Fverify_url.jpg?alt=media)

***

#### Verify Webtable With Excel

It verifies the excel downloaded and the sheets on that particular excel.

***Inputs :***

* File Name\* - This field takes the name of the file which has been downloaded in the previous step.

  (Format - . eg : userdocument.pdf)
* Sheet Name\* - This field takes the excel sheet name
* Locator Xpath\* - This field takes the xpath of the webtable need to be verified

![verifyWebtableWith Excel](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-57e153c393c0e93953390397a484355007afd4d3%2FVerify_Webtable_With_Excel.jpg?alt=media)

***

## Waits :

> Note: The maximum allowable waiting duration for all types of wait actions is 120 seconds.

#### Wait Until Alert Is Present

It waits for a certain period of time until an alert dialog is detected on the page.

***Inputs :***

* Duration(seconds)\*

![Wait Until Alert Is Present](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-2f15be9d1d3ca62facb19abdb2244009e3efc69c%2FWait_Until_Alert_Is_Present.png?alt=media)

***

#### Wait Until Element Is Clickable

It waits for a certain period of time until the specified element becomes both visible and enabled for interaction.

***Inputs :***

* Duration(seconds)\*
* Locator type and its value\*
* Index of the web element

![Wait Until Element Is Clickable](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-e0ebfc2b0372e1962b757a77b15e2202b23bc0e5%2FWait_unitl_element_is_clickable.png?alt=media)

***

#### Wait Until Title Is

It waits for a certain period of time until the actual title of the browser tab matches the expected title.

***Inputs :***

* Duration(seconds)\*
* Title\*

![Wait Until Title Is](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-971b52b9143d5298767b1ffb185cf4e6f9d90014%2FWait_Until_Title_Is.png?alt=media)

***

#### Wait Until Url Is

It waits for a certain period of time until the actual URL in the browser matches the expected URL.

***Inputs :***

* Duration(seconds)\*
* URL\*

![Wait Until Url Is](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-0054b15c23132389532a158a606bb4ce9c39597f%2FWait_Until_Url_Is.png?alt=media)

***

#### Wait Until Element Is Visible

It waits for a certain period of time until the specified element becomes visible on the page.

***Inputs :***

* Duration(seconds)\*
* Locator type and its value\*
* Index of the web element

![Wait Until Element Is Visible](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-846754ba2319efc4932c0bbfa77c8d663f92c2bc%2FWait_Until_Element_Is_Visible.png?alt=media)

***

#### Wait

It waits for a specific amount of time.

***Inputs :***

* Duration(seconds)\*

![Wait](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-81907bbda570fb6f6657ae2838ce364b15c01515%2FWait.png?alt=media)

***

#### Wait For Element

It waits for a certain period of time until the specified element becomes visible on the page.

***Inputs :***

* Duration(seconds)\*
* Locator type and its value\*
* Index of the web element

![Wait for Element](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-b9d4e763908cdbc07383658eccfd9dba68bf7e53%2FWait_for_element.png?alt=media)

***

## Windows :

#### Attach

It navigates to the browser tab specified in the data field.

***Inputs :***

* Data\* – The tab to which you intend to redirect.

![Attach](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-b5929e552503ebe806b266e2d6051399b45b4572%2FAttach.png?alt=media)

***

#### Close Window

It closes the current active window.

![Window](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-3bb3fce8a4ae9897de02d22c75027748e4152782%2Fclosewindows.png?alt=media)

***

#### Maximize

It Maximizes the window.

![Mazimize](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-cb19ee5a49e58783d45f7da1620326aeda141dd3%2FMaximizes.png?alt=media)

***

#### Refresh

It refreshes the page.

![refresh](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-404960f4df145305c0a8fad62e18dca3af118306%2FRefreshs.png?alt=media)

***

#### Screen Dimension

It changes the dimensions of the window specified in the data field.

***Inputs :***

* Dimensions\*

![ScreenDimensions](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-bf324bb8e887183b30cac61c21976ef64bf26b9c%2FScreenDimension.jpg?alt=media)

***

#### Set Default Content And Set Parent Frame

In scenarios where the tested application involves multiple nested frames, users manage this complexity through the utilization of the "Set Frame" user action. This action facilitates transitioning the control across various frames. Subsequently, if the need arises to navigate back to the immediate parent frame within this nested structure, the ***Set Parent Frame*** user action comes into picture.

* If the user wants to switch the control to the main HTML DOM of the page user can use the Set Default Content user action.

![setDefaultContent](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-8887c54c89b9073dd627634670ecc0f218f19637%2Fdefaultcontent.png?alt=media)

![SetParentFrame](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-b9422a00728d3c4d2555ce1dac0c719953c381f7%2FParentframe.png?alt=media)

***

#### Set Frame

It sets the frame to which the interacting element exists.

***Inputs :***

* Element's locator type and its value
* Index of the web element
* Data

![setFrame](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-f8eec3e141d8d0e617822bdcc11a14782e7073ca%2FSetFrame.jpg?alt=media)

***

#### Zoom In

It zooms in the browser window.

![ZoomIn](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-0d26601b3475b6c77041da308917d25a6cd8694f%2FZoomIn.png?alt=media)

***

#### Zoom Out

It zooms out the browser window.

![ZoomOut](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-11449feeb43368e9cde1c5fe6425c301b615c6ba%2Fzoomout.png?alt=media)

***

#### Zoom Reset

It restores the browser view to its default zoom level.

![zoomReset](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-267c4a82afd158874eb6688e9e27b02e7b5f4eb7%2FZoomreset.png?alt=media)

***

#### Zoom Level

It enables the user to establish a customized zoom level, with the option to extend it up to 500%.

***Inputs :***

* Data\*

![zoomLevel](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-949acd9b824eceeac91a301cb40efd243797983f%2FzoomLevel.jpg?alt=media)

***

## WEBTABLE :

#### Click On WebTable Element

It clicks checkboxes or clickable fields in a row by providing associated text or number in the Data field, genericTrTag Type and its value, genericLocatorTypeFor Column and its value.

***Inputs :***

* Data\*
* genericTrTag Type and its value\*
* genericLocatorTypeFor Column and its value\*

![Click on webTable Element](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-17ac86925b7939ed2c1a2ca4d7268000bcc14d48%2Fclick_on_webtable_element.png?alt=media)

***

#### Verify WebTable Element Text :

It verifies an Element against another Element within the same row by providing associated text or number in the Data field, genericTrTag Type and its value, genericLocatorTypeFor Column and its value.

***Inputs :***

* Data\*
* genericTrTag Type and its value\*
* genericLocatorTypeFor Column and its value\*

![verify webTable element text](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-a988cd1ed87d0a7830f9bdfa5d77277e992b25a5%2Fverify_webtable_element_text.png?alt=media)

***

## AI :

#### Click By Image

If the uploaded image is located on the web page, then it clicks on the uploaded image element.

***Inputs :***

* Uploaded image of element

![Click By Image](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-6aeea44f415d1b90ef8eeed2f8e106c8b497d720%2FClick_by_image.png?alt=media)

***

#### Set By Image

If the uploaded image is located on the web page, then it inputs a text into the web element specified in the uploaded image.

***Inputs :***

* Uploaded image of element\*

![Set By Image](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-a005d9253038aafb183baca51a5affacce5d835c%2FSet_by_image.png?alt=media)

***

#### Verify By Image

If the uploaded image is located on the web page, then it verifies if the image uploaded is present on the web page.

***Inputs :***

* Uploaded image of element\*

![Verify By Image](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-d7911e66271bb9daf0a19679fc85026a27f16348%2FVerify_by_image.png?alt=media)

***

#### Verify Screen

It compares the uploaded image with the current screenshot of the browser and highlights the differences if there are any.

* It has an option to select two types of screenshots to take from the web browser : ***‘Viewport’ and ‘Full Page’***.
* Using Viewport, the screenshot captured would be the ‘visible’ area of the screen while browsing normally on it.
* Using Full page, the screenshot captured would be the entire page’s content from the starting to the end of the scrollable page.
* Browsers Supported:

1. Chrome - Latest version of Chrome, might have few issues while capturing full page (Sticky header and Sticky footer issue) and issues with scrollable elements.
2. Firefox - Full support for capturing full page screenshot without sticky header.
3. Edge - Scroll and stitch support (May include sticky header and footer).
4. Safari - Scroll and stitch support (May include sticky header and footer).

***Inputs :***

* Image to be compared\*

![Verify Screen](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-8b4e68d8339f4e443d0165baa404b7f727f73cef%2Fverifyscreen.png?alt=media)

***Ignore Areas :***

* As part of the Verify Screen action, we provide a feature to ignore specific areas of the screen.
* The parts of the screen to be ignored can be selected or drawn using our utility tool mentioned below.

Click here to access the[Utility Tool](https://ai-services-stg.s3.amazonaws.com/path/to/visual_testing_utils.html)

* After drawing the bounding boxes around the image, it can be downloaded and used in verify screen action.

This is how you can use the tool to draw bounding boxes around the image.

![Bounding Box](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-da6e6167b981d493c5b5647d5cd5ed880f68fcf2%2FBounding%20Box.jpg?alt=media)

Before drawing the bounding box

![Compared Image](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-7914d88dc8ac574ab317e0e9e04ecf380791bea5%2FcomparedImage.png?alt=media)

After drawing the bounding box

![Report View](https://239974709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FycS61vFhJMvvtnJCrDJk%2Fuploads%2Fgit-blob-a62c24ece1a150de34b8a52b5e80f0d4cf0fee3f%2FReport%20View.jpg?alt=media)
