Providing arguments based on the execution environments or making changes to the properties file, the same QualitiaOffline jar file can be used to execute tests in different environments.
...
Qualitia Offline Package is compatible to execute on Sauce Labs and Remote environments along with local environments. Depending on the desired environment the Qualitia.Properties file accommodates configurations as follows;:
To execute offline package on | Configure Qualitia.Properties as |
Local Machine | ExecutionEnvironment=local |
Remote Machine | ExecutionEnvironment=remote |
Sauce Labs | ExecutionEnvironment=sauce |
...
Anchor | ||||
---|---|---|---|---|
|
Here is a quick overview of the browsers and platforms you can use for test executions using offline package.
| Local |
|
|
| Remote |
|
|
|
|
| IE | Firefox | Chrome | Safari |
| IE | Firefox | Chrome | Safari |
Windows | Yes | Yes | Yes |
|
| Yes | Yes | Yes |
|
Linux |
| Yes | Yes |
|
|
| Yes | Yes |
|
Mac |
|
|
| Yes |
|
|
|
| Yes |
Here is a quick overview of the browsers and platforms you can use for test executions using offline package.
Executions on Virtual Machines:
| BrowserStack |
|
|
| Sauce Labs |
|
|
|
| ||
| IE | Firefox | Chrome | Safari |
| IE | Firefox | Chrome | Safari | ||
Windows | Yes | Yes | Yes |
|
| Yes | Yes | Yes |
| ||
Linux |
|
|
|
|
|
| Yes | Yes |
| ||
Mac |
|
|
| Yes |
|
|
|
| Yes |
Anchor | ||||
---|---|---|---|---|
|
Once test cases are executed, Qualitia displays reports using Internet Explorer (IE) browser on the local machine from where the execution is triggered. Following is the quick overview of the supported browsers that can be used for viewing reports on different platforms.
Note: Chrome is not supported for report viewing.
| IE | Firefox | Chrome | Safari |
Windows | Yes | Yes | Not Supported |
|
Linux |
| Yes | Not Supported |
|
Mac |
| Yes | Not Supported | Yes |
...
The offline package can be executed in local environments exactly as it is executed traditionally. Change the ExecutionEnvironment value as local in the qualitia.properties file and start executing it.
To change configuration settings for executing tests in local environment:
- Open the config folder of offline package.
- Open qualitia.properties file using Notepad++.
...
Figure 2.2.2 2
Note: All the other configuration settings in the qualitia.properties file have to be done traditionally.
Anchor | ||||
---|---|---|---|---|
|
You can execute offline package using the traditional method after the configuration settings are done.
For more information on execution of offline package, see section 2.2.2, Offline Package - Execution.
It uses browsers available on local machine for test case executions. For example, if you have chosen "Firefox" to be the execution browser and the local machine has Firefox v42, Qualitia continues execution using Firefox v42. After the execution is complete, test execution reports are displayed on the local machine.
Anchor | ||||
---|---|---|---|---|
|
You can execute test cases on remote environment using Selenium supported Browser Capabilities.
For more information about executing test cases using browser capabilities, see section 3.4.5, "Execution using Browser's Capabilities."
...
This option can be used when you are aware of the remote machine details where you wish to execute your test cases. Please note that here you choose to execute Offline Package on a remote machine with specific details.
Qualitia uses the selenium-standalone-server-jar for test case executions on the target remote machine.
To run selenium-stand- alone jar:
- Download the selenium-standalone-jar on the target machine where you want to execute test cases.
- Download the drivers corresponding to the offline execution browser (chromedriver, IEdriverServer, and so on) and store it in the same location where the selenium-stand-alone-jar is saved.
Figure 3.4.1 1
- Open the Command Prompt window and navigate to the location where jar is stored.
- Do one of the following:
- If the execution browser is Iexpore and selenium sever standalone version is 2.xx.x, execute following command: java -jar selenium-server-standalone-2.45.0.jar - Dwebdriver.ie.driver="D:\Data\Testing\Apps\IEDriverServer.exe".
...
- If the execution browser is Iexpore and selenium sever standalone version is 3.xx.x, execute following command: java -Dwebdriver.ie.driver="D:\Data\Testing\Apps\IEDriverServer.exe" -jar selenium-server-standalone-3.0.1.jar
Configuration Settings
Once you download Selenium-stand-alone jar and browser drivers, you need you change some settings in the qualitia.properties file in order to run Normal Remote Execution.
To configure settings as for Normal Remote Execution:
- Open the qualitia.properties file from the config folder of offline package.
- Set the ExecutionEnvironment value as remote.
- Set the RemoteURL value to a valid remote URL that is IP and port of remote machine.
...
You can choose this option when you have distributed test environments where you want network to select a remote machine based on the availability.
Key Points to Know Before You Start
What is Hub?
The Hub is the main command center for managing which machines your test will run on. This is where you can see list of all the available nodes currently running in your grid environment (Remote Execution Environment).
What is Node?
A Node is a machine that you register with your Hub. By registering with Hub, the Hub now knows about the Node and any configuration information you used when you registered the node.
In order to perform remote execution through selenium grid, you need to configure Hub and Node in the network.
Creating Hub in the Network
A Hub can be created in the network following the steps mentioned below.
...
- Selenium server jar version used in Qualitia offline package and downloaded at remote machines including Hub and Nodes should be same all over.
- Java needs to be installed and configured in computer's environment path.
- Port number used for hub is changeable and default port number is 4444.
- As hub selects node for execution at its own at run time, you cannot provide details for specific OS / Platform.
- To know more about how to setup Selenium grid hub and node it is recommend using the selenium grid links given below.
- {_}{+}https://github.com/SeleniumHQ/selenium/wiki/Grid2+_
- _+http://www.joecolantonio.com/2014/10/07/selenium-grid-how-to-setup-a-hub-and-node/+_
To configure settings for remote execution in selenium grid:
- Open the qualitia.properties file from the config folder of offline package.
- Set the ExecutionEnvironment value as remote to inform qualitia-offline.jar that offline package has to be executed on a remote machine.
- Set the RemoteURL value to a valid remote URL that is IP and port of remote machine. For example: RemoteURL=http://192.168.25.123:4445
Figure 3.4.2 3
Offline Remote Execution and Reports
You can execute offline package using the traditional method after the configuration settings are done.
For more information about remote executions, see section 2.2.2, "Offline Package - Execution."
It uses browsers available on local machine for test case executions. For example, if you have selected "Firefox" as an execution browser and the local machine has Firefox version 42, Qualitia continues execution using Firefox version 42. Execution Reports are displayed on the local machine after executing the test cases.
Execution using Browser Capabilities
You can execute test cases on remote environment using selenium supported Browser Capabilities.
For more information about executing test cases using browser capabilities, see section 3.4.5, "Execution using Browser's Capabilities."
Mobile Test Case Execution on Nodes:
In order to execute mobile test cases using selenium grid, make sure that Appium server is up and running on the designated node.
For more information about installing Appium Server, refer to the Qualitia Online Help.
...
Sauce Labs is cloud environment which allows users to run tests in the cloud using different combinations of operating systems, browsers, and browser versions. In this environment all tests are executed on Sauce Labs VM. You can view the ongoing suite execution on Sauce Lab's Dashboard.
It is recommended to set ScreenCaptureMode value as Browser when the execution environment is Sauce or Remote.
You can set the value for FailStepOnBrowserScreenshotFailure as per the test case requirements (as true or false) to behave when the application under test generates any runtime Alert / Windows.
To know more about Sauce Labs visit: _+https://saucelabs.com/+_
Prior starting offline execution on Sauce Labs, ensure you have;
...
In order to execute test cases using Sauce Labs, you need to configure the qualitia.properties file accordingly.
To execute the offline package using the Sauce Labs environment:
- Open the qualitia.properties file from the config folder of offline package.
- Set ExecutionEnvironment as Sauce.
- Set DefaultWebExecutionPlatform as follows:
- If you are testing desktop application, set it as Desktop or
- If you are testing mobile application, set it as Mobile
Figure 3.4.3 1
When the Application under Test is desktop application and you want to execute the offline package in Sauce Labs environment, you need to configure the sauce.properties file accordingly.
To update the sauce.properties file:
...
For example, if you want your offline package to execute on Internet Explorer 11 on OS Windows 8.1 then set keys as follows:
- platform=Windows 8.1
- browser=Iexplore
- version=11
Notes:
If you are providing these values through command line, each value should be provided within double quotes if values are containing spaces; otherwise, the spaces in values will result in inconsistencies. For example, java -jar Qualitia-Offline-xxx.jar platform="Windows 8.1".
For more information on platforms, browsers, browser versions supported on Sauce, please refer https://saucelabs.com/platforms/.
If you do not set these values against platform in the Sauce.properties file, all your test cases will be executed on Linux. Also, if you do not specify the version, test cases will be executed using the latest version of browsers.
Figure 3.4.3 2
When the Application under Test is mobile application and you want to execute the offline package in the Sauce Labs environment, you need to configure the saucemobile.properties file accordingly.
To update the saucemobile.properties file:
- Open saucemobile.properties file.
- Set properties "custom_username", "custom_accesskey" to valid credentials with reference to Sauce Lab's active user account.
- Set "Browsername", "Devicename", "Platformversion", "appiumVersion", "deviceOrientation" and so forth to corresponding browser, device, platform, Appium, and Orientation of device you want your offline package to execute on. For example, if you want to execute your offline package on Samsung Galaxy S4 Device that has Android 6.0 operating system using Appium version 1.6.4, then set keys as follows:
- Browsername=[Keep it blank for native application or specify the browser name for Web applications]
- DeviceName=Samsung Galaxy S4 Device
- Platformversion=6.0
- appiumVersion=1.6.4
- DeviceOrientation=Portrait
Users should not specify UDID when executing test cases on mobile devices on Sauce Labs.
Notes:
For more information about property possible values, refer the saucemobile.properties file.
You can use the Platform Configurator maintained by Sauce Labs to get the exact values of properties to set in the configuration files. Open Platform Configurator, select the properties based on which you want to configure your device on Sauce Labs and you will find the list of properties to be set in the configuration file at the end of page.
If you are providing these values through command line, each value should be provided within double quotes if values are containing spaces; otherwise, the spaces in values will result in inconsistencies. For example, java -jar Qualitia-Offline-xxx.jar platform="Windows 8.1".
For more information on platforms, browsers, browser versions supported on Sauce, please refer https://saucelabs.com/platforms/.
If you do not specify the version of browsers, test cases will be executed using the latest version of browsers.
4. Set the "custom_mobileAppPathType" as follows:
- When the application is to be uploaded from local drive, set it to Upload or
- When the application is to be taken from public URL such as Google Drive, DropBox, set it to PublicURL.
...
Few applications are configured to be accessed using private networks. Such applications deny access when they are being accessed from other than local networks and so from Sauce Lab. Executing test cases on Sauce for such applications needs special configurations.
Figure 3.4.3 7
You need to execute the Sauce-Connect.jar file on the machine in the private network to allow Sauce executing tests flawlessly.
To execute applications of private network on Sauce:
- Download the Sauce connect zip on any machine in the network using following url:{_}https://saucelabs.com/downloads/Sauce-Connect-3.1-r32.zip_
- Unzip the folder.
- Open Command Prompt and navigate to the Sauce-connect.jar file followed by Sauce Username and Access key.
For example, <Location of the jar file>java -jar Sauce-Connect.jar parvinm ab8fa4d8-8c1f-4904-8353-b6074fc744fb - Hit Press the Enter button.
Once the Sauce-Connect.jar file is executed successfully, you can execute your Offline tests on Sauce environment using the same method mentioned above.
Figure 3.4.3 8
...
Notes:
If you are providing these values through command line, each value should be provided within double quotes if values are containing spaces; otherwise, the spaces in values will result in inconsistencies. For example, java -jar Qualitia-Offline-xxx.jar platform="Windows 8.1".
The OS/OS_Version properties override the values set for Platform property. For example, if you have set the OS/OS_Version properties as Windows/10 and the property for Platform is set as Windows 8, then offline Package is executed on Windows/10.
For more information on platforms, browsers, browser versions supported on BrowserStack, see the following: https://www.browserstack.com/list-of-browsers-and-platforms?product=live.
Once all the configuration settings are done successfully, you can now execute test cases on BrowserStack.
- Executing Offline Package
You can execute the offline package using traditional method of offline execution.
For more details, please refer to the section, 2.2.2, "Offline Package - Execution".
Values you provide in the browserstack.properties file can also be provided using the Command Prompt window. You can set the BrowserStack properties using three different sources as mentioned below.
browserstack.properties | It is a set of default BrowserStack properties file. You can always use this file to define your own set of properties. |
| Qualitia users can create their own properties file for BrowserStack, which includes all the BrowserStack properties. This file can be used by providing command line arguments accordingly when executing offline package. |
Command Line Arguments | Qualitia allows providing BrowserStack properties as command line arguments. For example, java -jar qualitia-offline-xxxx.jar custom_username=<<BrowserStack user name>> platform=MAC recordVideo=false |
- Viewing Current Execution on BrowserStack
Once you have triggered the offline execution, you can view the status of your ongoing executions on BrowserStack. BrowserStack considers each Test case as a new project. The status is updated after each project is completed with its status against it. Also, you can filter the projects by their status (Completed, Timeout, or Errors) or you can search it by build name or session name.
You can record your test case execution configuring the browserstack.properties file accordingly. If you set the recordVideo value as true and all the test case executions will be recorded. You can download these videos once the test execution is completed.
- Execution Reports
Test execution reports are launched on the machine from where the execution was triggered after the test case execution is completed. You can view the browser type and browser version on the report displayed.
- Execution of Tests Running Behind Firewall Applications
Sometimes applications are configured to be accessed within private networks. Such applications deny access when they are being accessed from other than local networks and so from BrowserStack. Executing test cases on BrowserStack for such applications needs special configurations.
When executing test case for applications running behind firewall on Windows, you need to execute the BrowserStackLocal.exe file on the machine in the private network to allow BrowserStack to execute tests flawlessly.
To execute test cases for applications running behind firewall on BrowserStack (Windows):
- Make sure you have set the browserstack.local value as true in the browserstack.properties file.
- Download the BrowserStackLocal.exe on any machine in the network using the following url:
https://www.browserstack.com/automate/python#setting-local-tunnel - Unzip the folder.
- Open Command Prompt and navigate to the BrowserStackLocal.exe file followed by BrowserStack Access key.
For example:
<Path where the file is saved> BrowserStackLocal.exe --key <BrowserStack access key> - Press Enter.
Once the BrowserStackLocal.exe file is executed successfully, you can execute your Offline tests on BrowserStack environment using the same method mentioned above.
When executing test case for applications running behind firewall on Mac, you need to execute the BrowserStackLocal Unix Executable file on the machine in the private network to allow BrowserStack executing tests flawlessly.
To execute test cases for applications running behind firewall on BrowserStack (Mac):
- Make sure you have set the browserstack.local value as true in the browserstack.properties file.
- Download the BrowserStackLocal Unix Executable file on any machine in the network using the following url:
https://www.browserstack.com/automate/python#setting-local-tunnel - Unzip the folder.
- Open Terminal and navigate to the BrowserStackLocal Unix Executable file followed by BrowserStack Access key.
For example:
./BrowserStackLocal --key <BrowserStack access key> - Press Enter.
Once the BrowserStackLocal Unix Executable file is executed successfully, you can execute your Offline tests on BrowserStack environment using the same method mentioned above.
- Execution Using Browser Capabilities
You can also execute test cases on remote environment using Selenium supported Browser capabilities. Please refer section 3.4.5, "Execution using Browser's Capabilities" for more details.
...
Each property file above is a set of all the browser specific properties that Selenium allows you change. If you do not change any property, Selenium uses its default values.
Changing Browser Capabilities:
Selenium uses its own settings for each key that has been commented in the file, except unexpectedAlertBehaviour. Changing properties here overrides the values provided in qualitia.properties / sauce.properties, or selenium's default values. When executing test cases using offline package, you can change some property values providing command line arguments accordingly. But all capability keys do not accept values from command line, hence it is recommended providing values through property files.
To change browser capabilities:
- Open the browserdc.properties file from the config folder of offline package.
- Locate the value you want to change in the file.
- Remove the # sign located prior to the capability.
- Enter the value you want to set for the capability.
For example; if you want to change the version of the browser to be used for test execution, remove the # sign located prior to the version and enter the version number against it.
Figure 3.4.5 1
Qualitia gives you provision to set these values for Selenium. Selenium has its own control on what value to use and how to reflect them in Execution Browser. For more information about Selenium Capabilities, refer following links:
- _+https://code.google.com/p/selenium/wiki/DesiredCapabilities+_
- _+https://sites.google.com/a/chromium.org/chromedriver/capabilities+_
Anchor | ||||
---|---|---|---|---|
|
...