Table of Contents | ||
---|---|---|
|
...
- 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.
- 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".
Expand title View Image 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
Expand title View Image
Configuration Settings
...
- Decide a machine in the network to register as hub (with IP, for example, 192.168.25.6).
- Download the Selenium-server-standalone jar file on Hub machine.
- Open Command Prompt and navigate to the location where Selenium-server-standalone-jar is saved.
- Execute command "java -jar selenium-server-standalone-2.xx.0.jar-role hub -port 4445".
Create Node and Register to Hub
...
- Download the Selenium-server-standalone jar file on Hub machine.
- Launch the command prompt and navigate to the location where Selenium-server-standalone jar file is saved.
- Execute command "java -jar selenium-server-standalone-2.xx.x.jar -role node–hub http://hubIP:4445/grid/register".
Configuration Settings
Before executing test cases in remote execution in Selenium grid, you need to configure settings accordingly.
...
- 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
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
Offline Remote Execution and Reports
...
For more information about installing Appium Server, refer to the Qualitia Online Help.
Offline Execution on Sauce Labs
The 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 run-time Alert / Windows.
To know more about Sauce Labs visit: _+https://saucelabs.com/+_ click here.
Prior starting offline execution on Sauce Labs, ensure you have;
- An active account with valid user name / password and
- Sufficient balance of execution hours.
Configuration Settings
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:
- Open the sauce.Properties properties file.
- Set properties "custom_username", "custom_accesskey" to valid values with reference to Sauce Lab's active user account.
- Set "platform", "browser", and "version" to corresponding OS, browser, and browser version you want your offline package to execute on.
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
...
Note |
---|
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:
...
Users should not specify UDID when executing test cases on mobile devices on Sauce Labs.Notes:
Note |
---|
|
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.
Figure 3.4.3 3
Once all the configuration settings are done successfully, you can now execute test cases on Sauce Labs.
Executing Offline Package
You can execute the offline package following traditional method of offline execution.
For more detailsinformation on execution of offline package, please refer section 2.2.2, "to the Offline Package - Execution" section.
Values you provide in the sauce.properties file can also be provided using command line. You can set the sauce properties using three different sources as mentioned below.
Sauce.properties | It is a set of default Sauce properties file. You can always use this file to define your own set of properties. |
---|---|
User Defined Sauce Properties | Qualitia users can create their own properties file for Sauce Labs, which includes all the Sauce Labs properties. This file can be used by providing command line arguments accordingly when executing offline package. |
Command Line Arguments | Qualitia allows providing Sauce properties as command line arguments. For example, java -jar qualitia-offline-xxxx.jar custom_username=<<sauce user name>> platform=MAC recordVideo=false |
Viewing Current Execution on Sauce Lab's Dashboard
Once you have triggered the offline execution, you can view the status of your ongoing executions on the Sauce Lab's DashboardsDashboard. Each test case appears on dashboard as a single job with execution status against it. All the test cases are taken one by one by the sequence they are arranged in Suite. The status is updated after each test execution is completed on Sauce Lab environment with its status (fail / pass) against it. You can view the execution of test case clicking the current job on Dashboard.
You can record your test case execution configuring the sauce.properties file accordingly.
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 from the Metadata tab. The video contains the execution of all the test cases available in Suite as the value set against QualitiaExecMode in the qualitia.properties file is PS (refers to per suite).
Figure 3.4.3 4
Figure 3.4.3 5
Execution Reports
Test
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 also download the video of test case execution from the Metadata tab. Figure 3.4.3 6
Execution of Tests Running on Firewall Applications
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 - 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
Execution using Browser Capabilities
You can also execute test cases on remote environment using selenium supported Browser Capabilities. Please refer section "
For more information on this, please refer to the Execution using Browser's Capabilities" for more detailsCapabilities section.
Executing Test Cases on iOS Devices
If you are executing test cases on iOS mobile devices using Sauce Labs, you need to configure settings in the iosdc.properties file accordingly.
- If iOS device is 9.3.x and below, automationname should be Appium or
- If iOS device is 10.0.x and above, automationname should be XCUITest.
Offline Execution on BrowserStack
BrowserStack is a cloud environment that allows running tests in the cloud using different combinations of operating systems, browsers, and browser versions. In this environment, all tests are executed on BrowserStack VM. You can view the ongoing tests execution on BrowserStack. To know
For more information about BrowserStack visit: https://www.browserstack.com/, click here.
Before you start offline execution on BrowserStack, make sure ensure you have the following:
- An active account with valid Username/Access Key and
- Sufficient balance of execution hours
Configuring qualitia.properties and browserstack.properties
In order to execute test cases on BrowserStack, you need to configure the qualitia.properties file accordingly.
To execute the offline package on the BrowserStack environment:
- Open the qualitia.properties file from the config folder of offline package.
- Set ExecutionEnvironment as browserstack.
Once the qualitia.properties file is updated, you must configure the browserstack.properties file in order to execute offline package in the BrowserStack environment.
...
- OS=Windows
- OS_Version=10
- browser=iexplore
- version=11
...
Note |
---|
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 detailsinformation about offline package execution, please refer to the section, 2.2.2, "Offline Package - Execution" section.
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):
...
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):
...
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.
...
For more information about this, please refer to the Execution using Browser's Capabilities section.
Execution using Browser's Capabilities
Selenium allows you setting desired browser specific properties to be used when executing test cases. These properties can be set for offline execution as well. You can provide these browser specific details through browser-capability files. For each supported browser (Firefox, IE, Google Chrome, and Safari) there is a separate property file present in the Config folder of Qualitia's offline package. Following is the list of files;
...
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:
...
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
...
...
Reports
Execution reports display OS and Browser with their corresponding versions on its summary page along with the execution environment used. For example, if you have chosen execution as Sauce and execution browser as Firefox 42 on Windows 8.1 report is displayed as follows;
Figure 3.4.6 1
Notes:
...
Note |
---|
|
...
|
Limitations of Remote/Sauce Executions
When using Qualitia Offline Package on the Remote and Sauce environments, following are the limitations users face when executing test cases.
Lack of Support for Java Robot Based Actions:
Sauce does not support Java robot based actions when executing test cases. Hence following actions do not get executed in Sauce and Remote environment;
...
Lack of support for java robot based actions on Sauce / Remote environment fails the test case executions.
Figure 3.4.7 1
In order to overcome this problem, you need to validate the test cases that have java based robot actions as mentioned above and;
...
For more information about support for AutoIt, see section 3.4.8, "please refer to the Support for AutoIT in Sauce Execution Environment section."
Lack of Support for Headless Mode:
Sauce execution environment does not support the Headless mode.
For parallel execution in Sauce, you can execute tests in multiple VMs. A separate VM is allocated to execute each offline package, so you can run multiple offline packages to get multiple VMs.
User Defined Firefox Profile:
Executing test cases in Sauce environment using user defined Firefox profile is experimental.
...
...
Support for AutoIT in Sauce Execution Environment
In order to achieve execution of Windows based actions such as DownloadFile, PressKeys, WindowsAuthentication, and so on, Qualitia supports Sauce's "Pre-Run" feature. It allows uploading AutoIT.exe (or any exe) and running before starting test case executions. Running .exe performs the windows based actions flawlessly.
In order to achieve this, you need to set following properties in the Sauce.properties file.
...
https://wiki.saucelabs.com/display/DOCS/Temporary+Storage+Methods (upload)Notes:
Note |
---|
AutoIT works only on Windows platform and does not support other platforms such as Linux, Mac, and so on. End user is responsible for writing AutoIT scripts and generating respective .exe file. Qualitia provides an example of AutoIT script in the Help folder of Qualitia package. |
Figure 3.4.8 1