Introduction: For Software Development Engineers in Test (SDET), executing tests offline provides flexibility, especially when there's no immediate access to the main software or in environments with limited connectivity. This guide will walk you through the process of working with offline suites in the Qualitia Automation Studio (QAS) using CLI commands.
📚Prerequisites:
Access to the Qualitia Automation Studio (QAS) Client.
An offline package saved on your computer.
Basic familiarity with Command Line Interface (CLI) operations.
🔂 Process Flow:
Executing Offline Suite using CLI Commands
You want to run tests offline using command prompt due to limited access to the QAS client.
open the Command Prompt.
Navigate to the location of your saved offline package.
Input: java -jar qualitiaoffline-8.6.x.jar to execute the offline package with the default settings.
However, if you wish to override certain settings:
Mapped Execution Profile: Enter the location of the execution profile you want in the following ways:
The location of the execution profile must be enclosed by double inverted commas.
It must be the first argument. For example: java -jar qualitiaoffline-8.6.x.jar "D:/ABCsettings.JSON"
Offline Suite: Enter the location of the offline suite as SuitesDir="Suite_Path". For example, java -jar qualitiaoffline-8.6.x.jar SuitesDir="D:/OfflineSuite/Suite1
Environment Variable: Enter environment variables and their associated values in the format java -jar qualitiaoffline-8.6.x.jar env.var1=value1 env.var2=value2. Here var1 and var2 denote environment variables, and value1 and value2 denote the associated values. For example, java -jar qualitiaoffline-8.6.x.jar env.username=john.smith env.password=12345
Other Parameters defined in the Selected Execution Profile: Enter the parameters preceded by their hierarchy in name=value format as command-line arguments. For example, to use a specific version of Google Chrome, enter the command line argument as follows:
java -jar qualitiaoffline-8.6.x.jar googleChrome.version=81.0.1.36 In this example, googleChrome is the topmost parameter and then version. You can provide multiple property=value pairs separating them with space, as shown in the following example:
java -jar qualitiaoffline-8.6.x.jar googleChrome.version=81.0.1.36 PageTimeoutInSeconds=10If you are overriding the mapped execution profile enter it as the first argument, as shown in the following example:
java -jar qualitiaoffline-8.6.x.jar "D:/ABCsettings.JSON" googleChrome.version=81.0.1.36 PageTimeoutInSeconds=10
If a key has a dot in its name, you need to put backslash before the dot such as chrome.chromedriverVersion, which is under androidChrome, as shown in the following example:
java -jar qualitiaoffline-8.6.x.jar androidChrome.chrome\.chromedriverVersion=83
Press Enter to initiate the offline suite execution.
Viewing an Offline Suite Execution Report
After running the tests, you need a comprehensive report to analyze the results.
Instantly check the results on the Real Time Reporting Portal.
Additionally, the offline suite creates a detailed summary report based on the location set in the Qualitia Offline Configuration Manager's General Settings tab.
If the report isn't available on the Real Time Reporting Portal after completion, because of
Qualitia Server URL is not configured in the offline suite.
Connection to Qualitia Server fails during offline suite execution.
you can manually upload the locally saved report.
Editing the Test Data for an Offline Suite
Before re-running tests or for a different testing scenario, you might need to change some test data.
One way to modify is through the Qualitia Client:
Open your test case from the client.
Access the Test Data Explorer to edit.
After changes, recreate the offline suite. Refer to the section Work with Offline Packages.
Alternatively, you can also edit the test data directly in the Excel file located in the Offline Suite Folder. But, using the Qualitia Client is recommended as it provides error alerts for incorrect data modifications.
By following this guide, you can efficiently set up, execute, review, and modify offline tests in QAS, ensuring a versatile and adaptable testing process.
Qualitia recommends using the Qualitia Client because it displays ❌ error message when change in test data is incorrect.
Editing Test Data in Offline Suite Test Data File
In scenarios where access to the Qualitia Client is limited, the offline suite provides flexibility by allowing you to directly modify test data. This guide simplifies the process for you, ensuring that they can quickly and effectively adapt their test cases as needed.
After the offline suite is created, for every test case that contains test data, the associated test data as excel files are created in the same folder with the same names as given to their associated test cases. You can modify the test data such as replace the existing test data and enable or disable TC iterations.
📚Prerequisites:
An offline suite with associated test data.
Basic knowledge of Excel and data formats.
Basics of Editing Test Data
You want to quickly adjust test data without altering the structure of the file.
Don't add or remove columns, or change the column order.
Use $NULL$ where you don't want to set a value for a parameter.
Delete rows for unwanted task or test case (TC) iterations.
Steps to Modify Test Data for an Offline Suite
Go to the offline suite folder.
Backup the test data file you'll edit.
Open the test data Excel file.
From the third row, tweak values as needed. The first row shows tasks in grey, with the second row detailing their parameters.
TC Iteration: Shows the number for every TC Iteration. There must be at least one TC Iteration for executing the test case.
Selection: Shows as True or False for the enabled or disabled iterations. You can modify the values. This is applicable for TC iterations only.
DataSetTag: Optionally, enter a label for identifying the dataset in the test case execution report. You can modify the values.
To add a TC iteration, insert a row with values for TC Iteration Number, Selection, and DataSetTag (optional).
For adding a task iteration, insert a row with values for associated parameters.
Save the Excel file after editing.
Executing Offline Suite on a Shared Drive
You want to execute tests located in a shared location, either for collaborative purposes or due to infrastructure constraints. You can run an offline suite in a shared drive for web and mobile applications in two ways: by mapping the shared drive to a local computer or without mapping.
Executing a Shared Offline Suite by Mapping the Shared Drive
For a more seamless experience, you might prefer mapping the shared drive to your local system.
Copy both the offline package and suite to the shared drive ensuring you have read and write permissions.
Map this shared drive to your local computer.
Adjust the offline suite settings as needed. For a detailed guide, look into Configuring the Settings for an Offline Suite.
To execute: Use the Command Prompt, navigate to the mapped location, and execute the offline package with the right command. Refer to section Executing Offline Suite using CLI Commands.
Or simply double-click the offline package (9.x.x jar) in the mapped drive.
By following this guide, you can efficiently manage, adjust, and execute their test scenarios, ensuring accurate results even in offline or shared environments.
Executing a Shared Offline Suite Without Mapping the Shared Drive to the Local Computer
To execute a shared drive without mapping the shared drive to the local computer:
Copy the offline package along with the offline suite to the shared drive with read and write access.
Open the shared location and double-click the offline package (9.x.x jar).
Note: You cannot execute an offline suite using the command prompt by specifying the complete UNC (Shared location).
Offline Suite Execution for Desktop Applications on a Shared Drive
You can execute an offline suite present in a shared drive for desktop applications.
Before you execute an offline suite for a desktop application, ensure that you have:
Installed UFT on the same computer from where you will execute the offline suite.
Mapped shared drive to local computer.
Copied offline package to shared drive with read and write access.
Copied TSR file in the local or shared drive and ensure you have access.
To execute offline suite for desktop applications on a shared drive:
Configure the offline suite as per the requirements. For detailed instructions, refer to Configuring the System Execution Profile Settings for a Desktop Project.
Do one of the following:
Open command prompt, navigate to mapped drive location that contains the offline package and offline suite
Execute the offline suite using the command line. For detailed instructions, refer to Configuring the Qualitia Client Settings .
Navigate to the mapped drive location that contains the offline package and the offline suite and double-click the offline package (9.x.x jar).
Executing Offline Suites & Integrating with CI Tools
Introduction:
This guide offers SDETs a clear path to execute offline suites stored on shared drives and integrate them with various Continuous Integration (CI) tools.
Executing an Offline Suite from a Shared Drive without Local Mapping:
Method: Direct execution from the shared drive. Steps:
Copy both the offline package and suite to the shared drive, ensuring you have read/write permissions.
Directly access the shared location and initiate the offline package by double-clicking on the 8.6.x jarfile.
Note: Using the command prompt with the full UNC path for execution isn't supported.
Execution using Continuous Integration Tools:
Method: Integration via QAS settings.
Ensure QAS's capability to integrate with CI tools like
Jenkins
TeamCity
Bamboo.
For mobile application tests, even though QAS hosts the Appium Server internally, use a custom Appium server for different Appium versions if needed.
Set the CI_Tool property in the mapped execution profile before starting.
Headless Executions:
Method: Browser-based testing without GUI.
Steps:
Recognize that headless executions run faster since they don't launch the browser UI. QAS supports this for Google Chrome and Mozilla Firefox.
To execute tests in headless mode:
Via QAS Client/OfflineConfigManager:
Open the associated execution profile.
Choose the browser.
Activate the respective headless setting, via CLI:
For Chrome: java -jar qualitiaoffline-xxxx.jar googleChrome.chromeOptions.args=--headless
For Firefox: java -jar qualitiaoffline-xxxx.jar firefox.firefoxOptions.args=--headless
Note: Xvfb on Linux isn't supported anymore. Use the methods mentioned for headless execution on Linux.
Method: Setup via Qualitia Client or OfflineConfigManager.
Steps:
Open the associated execution for a test suite.
From the Browser list, select either Chrome or Firefox.
Check the "Desired Capabilities" checkbox.
Based on your browser choice:
For Chrome:
Select the chromeOptions checkbox.
Check the args checkbox.
Input --headless in the associated field.
For Firefox:
Select the firefoxOptions checkbox.
Check the args checkbox.
Input --headless in the associated field.
Click Ok.
Method: CLI-based execution for headless mode.
Steps:
Open the Command Prompt.
Navigate to the directory containing the offline package.
To run on Chrome, use: java -jar qualitiaoffline-xxxx.jar googleChrome.chromeOptions.args=--headless
For Firefox execution, input: java -jar qualitiaoffline-xxxx.jar firefox.firefoxOptions.args=--headless
In conclusion, this guide ensures that SDETs have the tools and knowledge to execute offline suites, integrate with CI tools, and utilize headless executions effectively.