Qualitia - System Variables
Introduction
Qualitia Automation Studio (QAS) provides its own set of system variables that let you decide test case or task execution flow at run time. Qualitia System Variables act as global variables and can be accessed in any test case. You can use the values of these variables but cannot modify it in any test step. Data type of these variables can be integer, Boolean, and string values.
The System Variables that can be used when developing test cases are:
$$_STATUS
$$_IS_WEB_EXECUTION_PLATFORM_DESKTOP
$$_IS_WEB_EXECUTION_PLATFORM_MOBILE
$$_ISANDROID
$$_ISIOS
$$_ISWINDOWS
$$_ISLINUX
$$_ISMAC
$$_ISFIREFOX
$$_ISCHROME
$$_ISIE
$$_ISSAFARI
$$_MOBILE_APP_PATH_TYPE
$$_HTTP_STATUS
$$_HTTP_HEADERS
$$_HTTP_REPONSE_TIME
$$_STATUS
This system variable records and stores value of the status of the last executed step.
You can then add tasks in the test cases to be executed based on the recorded value.
Value of this variable is not case-sensitive.
Possible values for relational operator of $$_STATUS variable are as follows:
Value | Execution Status | Description |
---|---|---|
0 | Pass | Indicates that the previous step is executed successfully. |
1 | Fail | Indicates that the previous step has failed. |
2 | Defect | Indicates that the previous step has some defect. |
-1 | Not Executed | Indicates that the previous step is not executed. |
The status gets overridden after each step execution; therefore, using this variable, you can store the status of last step only.
This variable does not store value of the status of Conditional Steps such as IF, ELSE IF, ELSE, or END IF.
$$_IS_WEB_EXECUTION_PLATFORM_DESKTOP
This system variable stores a Boolean value for current desktop web execution platform.
This expression returns Boolean value comparing the values set in Configuration Settings (or the value overridden by the action SwitchWebExecutionPlatform).
If the current web execution platform is set as Desktop, returns as TRUE.
If the current web execution platform is set as Mobile, returns as FALSE.
The value returned (TRUE or FALSE [case-sensitive]) can be used when developing test cases using Automation studio.
Example:
This variable can be used where user wants to execute certain test steps based on the execution platform (Mobile and Desktop).
$$_IS_WEB_EXECUTION_PLATFORM_MOBILE
This system variable stores a Boolean value for current mobile web execution platform.
This expression returns Boolean value comparing the values set in Configuration Settings (or the value overridden by the action SwitchWebExecutionPlatform).
If the current web execution platform is set as Mobile, returns as TRUE.
If the current web execution platform is set as Desktop, returns as FALSE.
The value returned (TRUE or FALSE [case-sensitive]) can be used when developing test cases using Automation studio.
Example:
This variable can be used where user wants to execute certain test steps based on the execution platform (Mobile and Desktop).
$$_ISANDROID
This system variable stores a Boolean value for Android mobile platform.
This expression returns Boolean value comparing the values set in Configuration Settings (Mobile).
If Platform under configuration settings is set as Android, returns as TRUE.
If Platform under configuration settings is set as iOS, returns as FALSE.
The value returned (TRUE or FALSE [case-sensitive]) can be used when developing test cases using Automation studio.
This variable can be used to verify that the operating system (OS) of the execution device/emulator is Android. Once the OS is identified, tasks can be added for execution accordingly.
$$_ISIOS
This system variable stores a Boolean value for iOS mobile platform.
This expression returns Boolean value comparing the values set in Configuration Settings (Mobile).
If Platform under configuration settings is set as iOS, returns as TRUE.
If Platform under configuration settings is set as Android, returns as FALSE.
The value returned (TRUE or FALSE [case-sensitive]) can be used when developing test cases using Automation studio.
This variable can be used to verify that the operating system (OS) of the execution device/simulator is iOS. Once the OS is identified, tasks can be added for execution accordingly.
$$_ISWINDOWS
This system variable stores a Boolean value for Windows platform. It is generally used when executing test cases using Offline Package.
This expression returns Boolean value comparing the values set in Configuration Settings.
If platform is Windows, returns as TRUE.
If platform is not Windows, returns as FALSE.
The value returned (TRUE or FALSE [case-sensitive]) can be used when developing test cases using Automation studio.
This variable can be used to verify that the operating system (OS) of the execution device is Windows. Once the OS is identified, tasks can be added for execution accordingly.
$$_ISLINUX
This system variable stores a Boolean value for Linux platform. It is generally used when executing test cases using Offline Package.
This expression returns Boolean value comparing the values set in Configuration Settings.
If platform is Linux, returns as TRUE.
If platform is not Linux, returns as FALSE.
The value returned (TRUE or FALSE [case-sensitive]) can be used when developing test cases using Automation studio.
This variable can be used to verify that the operating system (OS) of the execution device is Linux. Once the OS is identified, tasks can be added for execution accordingly.
$$_ISMAC
This system variable stores a Boolean value for Mac platform. It is generally used when executing test cases using Offline Package.
This expression returns Boolean value comparing the values set in Configuration Settings.
If platform is Mac, returns as TRUE.
If platform is not Mac, returns as FALSE.
The value returned (TRUE or FALSE [case-sensitive]) can be used when developing test cases using Automation studio.
This variable can be used to verify the execution device is Mac. Once this is identified, tasks can be added for execution accordingly.
$$_ISFIREFOX
This system variable stores a Boolean value for Execution browser type.
This expression returns Boolean value comparing the values set in Configuration Settings.
If Browser Type under configuration settings is set as Firefox, returns as TRUE.
If Browser Type under configuration settings is set as other than Firefox, returns as FALSE.
The value returned (TRUE or FALSE [case-sensitive]) can be used when developing test cases using Automation studio.
This variable can be used to verify that the test case execution browser is set as Firefox. Once the browser is identified, tasks can be added for execution accordingly.
$$_ISCHROME
This system variable stores a Boolean value for execution browser type.
This expression returns Boolean value comparing the values set in Configuration Settings.
If Browser Type under configuration settings is set as Google Chrome, returns as TRUE.
If Browser Type under configuration settings is set as other than Google Chrome, returns as FALSE.
The value returned (TRUE or FALSE [case-sensitive]) can be used when developing test cases using Automation Studio.
This variable can be used to verify that the test case execution browser is set as Google Chrome. Once the browser is identified, tasks can be added for execution accordingly.
$$_ISIE
This system variable stores a Boolean value for execution browser type.
This expression returns Boolean value comparing the values set in Configuration Settings.
If Browser Type under configuration settings is set as Internet Explorer, returns as TRUE.
If Browser Type under configuration settings is set as other than Internet Explorer, returns as FALSE.
The value returned (TRUE or FALSE [case-sensitive]) can be used when developing test cases using Automation studio.
This variable can be used to verify that the test case execution browser is set as Internet Explorer. Once the browser is identified, tasks can be added for execution accordingly.
$$_ISSAFARI
This system variable stores a Boolean value for execution browser type.
This expression returns Boolean value comparing the values set in Configuration Settings.
If Browser Type under configuration settings is set as Safari, returns as TRUE.
If Browser Type under configuration settings is set as other than Safari, returns as FALSE.
The value returned (TRUE or FALSE [case-sensitive]) can be used when developing test cases using Automation studio.
This variable can be used to verify that the test case execution browser is set as Safari. Once the browser is identified, tasks can be added for execution accordingly.
$$_MOBILE_APP_PATH_TYPE
This variable is used by QAS only when developing test cases for executing offline packages on Sauce Labs. You can use this variable to change the application path type (Upload or PublicURL) at test case level.
When executing offline package for mobile applications on Sauce Labs, QAS provides provision to upload application under test from local (or shared) location to Sauce Storage or make it available to Sauce using the public URL.
To use this variable, the user must store the application path type using the StoreVariable action before using the Mobile.OpenApp action.
The key name in the StoreVariable action must be entered as "$$_Mobile_APP_PATH_TYPE" and the value of this key should either be Upload or PublicURL. Based on the value set in variable, QAS uses the app path type at test case level when executing offline packages in Sauce Labs environment.
When set as Upload, application file is uploaded into Sauce Storage.
When set as PublicURL, application file is taken by Sauce Labs using PublicURL.
In both the cases, it is mandatory for user to provide the absolute path to the application in the Mobile.OpenApp action parameter.
$$_HTTP_STATUS
This variable stores the HTTP request status when executing SOAP and REST API actions in QAS. You can use this value to form the test case flow based on your requirements.
$$_HTTP_HEADERS
This variable stores the HTTP headers after executing SOAP and REST API actions with QAS. You can use the values from the header to form the test case flow based on your requirements.
$$_HTTP_REPONSE_TIME
This variable stores the time taken to get the HTTP response. You can use this value to form the test case flow based on your requirements.