Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Qualitia Client and Offline Package supports test suite executions on multiple platforms and browsers for test case executions and report viewing. Along with the local machines, test suite can be executed through Qualitia Client and Offline package on remote o cloud environments.

...

  • Saucelabs

  • Browserstack

  • Perfecto

  • Testobject.

...

...

maxLevel1

Supported Environments for Test Suite Executions

...

You can execute the test cases using an offline package after configuring settings accordingly. This gives you the provision to trigger suite execution using any machine in the network. You do not need to move the offline package to different machines to execute it.

You can do it in the following two ways:

...

Qualitia uses the selenium-standalone-server-jar for test case executions on the target remote machine.

To run selenium-stand- alone jar:

  1. Download the selenium-standalone-jar on the target machine where you want to execute test cases.

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

  3. Open the Command Prompt window and navigate to the location where offline jar is located.

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

Configuring the Settings for a Normal Remote Execution

...

  1. Do one of the following:

    1. To execute from a Qualitia client, open the associated execution profile.

    2. To execute an offline suite, do the following in the order listed:

      1. Open the offline package folder.

      2. From the Configuration Manager folder, and double-click the Qualitia Offline Configuration Manager. 

      3. Do one of the following;

        1. Click Browse next to Select the Suite Directory, and then locate and select the offline suite.

        2. Enter the location path of the offline suite folder, and press Tab.

    3. Under the Select the profile to edit, select the execution profile created to execute on remote environment.

    4. Select the associated execution profile that is defined to execute on remote environment.

    5. From the Mapped Execution Profile list, select the execution profile you have opened.

  2. Set the ExecutionEnvironment as Remote.

  3. 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/wd/hub

  4. Click Save.

...

  1. Download the Selenium-server-standalone jar file on the node machine.

  2. Launch the command prompt and navigate to the location where Selenium-server-standalone jar file is saved.

  3. Execute command "java -jar selenium-server-standalone-2.xx.x.jar -role node –hub http://hubIP:4445/grid/registerr".

...

  • Selenium server jar version used in Qualitia offline package and downloaded at remote machines including Hub and Nodes must be the same all over.

  • Java needs to be installed and configured in the computer’s environment path.

  • Port number used for the hub is changeable and the default port number is 4444.

  • As hub selects a 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, you recommend using the Selenium grid links given below.

Either you can create an execution profile to execute on the remote environment or edit an existing execution profile. For more information, refer to Working with Execution Profiles.

...

  1. Do one of the following:

    • To execute the test suite from a Qualitia client, open the associated execution profile.

    • To execute the offline suite, do the following in the order listed:

      1. Open the offline package folder.

      2. From the Configuration Manager folder, and double-click the Qualitia Offline Configuration Manager. 

      3. Do one of the following;

        1. Click Browse next to Select the Suite Directory, and then locate and select the offline suite.

        2. Enter the location path of the offline suite folder, and press Tab.

      4. Under the Select the profile to edit, select the execution profile created to execute on remote environment.

      5. Select the associated execution profile that is defined to execute on remote environment.

      6. From the Mapped Execution Profile list, select the execution profile you have opened.

  2. Set the ExecutionEnvironment as Remote.

  3. 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/wd/hub

  4. Set the GridPlatform value to a valid platform where you want to execute test cases. For example: Set the GridPlatform=Win10.

  5. Click Save.

...

Remote Executions for Mobile Applications on Selenium Grid

...

What is Selenium Grid?

Selenium Grid is a part of the Selenium Suite that is specialized to run multiple tests across different browsers, operating systems, and machines simultaneously.

...

In this example, we have used two devices, Samsung S7 and Samsung S5 mini. For each of these devices, we will configure a separate grid node. To set up the grid nodes, create a separate JSON configuration file for both the devices as shown below, and upload them to the Appium server instances.

Node1.json (Android 1)

{
"capabilities":
[
{
"deviceName": "Android 1",
"platformVersion": "8.1",
"maxInstances": 1,
"platformName": "Android",
"browserName": "GoogleChrome"
}
],
"configuration":
{
"cleanUpCycle":2000,
"timeout":30000,
"proxy": "org.openqa.grid.selenium.proxy.DefaultRemoteProxy",
"url":"http://10.81.234.7:4723/wd/hub",
"host": "10.81.234.7",
"port": 4723,
"maxSession": 2,
"register": true,
"registerCycle": 5000,
"hubPort": 4444,
"hubHost": "192.168.25.218",
"hubProtocol": "http"
}
}

Node2.json (Android 2)

{
"capabilities":
[
{
"deviceName": "Android 2",
"platformVersion": "8.1",
"maxInstances": 1,
"platformName": "Android",
"browserName": "GoogleChrome"
}
],
"configuration":
{
"cleanUpCycle":2000,
"timeout":30000,
"proxy": "org.openqa.grid.selenium.proxy.DefaultRemoteProxy",
"url":"http://10.81.234.7:4723/wd/hub",
"host": "10.81.234.7",
"port": 4723,
"maxSession": 2,
"register": true,
"registerCycle": 5000,
"hubPort": 4444,
"hubHost": "192.168.25.218",
"hubProtocol": "http"
}
}

To run the test cases on the same machine with two devices and on two different Appium instances. the Appium Server port must be different for lauchned two Appium instances.

...

Either you can create an execution profile to execute on the remote environment or edit an existing execution profile. For more information, refer to Working with Execution Profiles.
Before you execute a test suite, ensure that all the nodes in the network meets the minimum system requirements. For more information, refer to Requirements and Configuration Settings for Mobile Environments.

To configure the settings for executing through Selenium Grid:

  1. Do one of the following:

    • To execute the test suite from a Qualitia client, open the associated execution profile.

    • To execute the offline suite, do the following in the order listed:

      1. Open the offline package folder.

      2. From the Configuration Manager folder, and double-click the Qualitia Offline Configuration Manager. 

      3. Do one of the following;

        1. Click Browse next to Select the Suite Directory, and then locate and select the offline suite.

        2. Enter the location path of the offline suite folder, and press Tab.

      4. Under the Select the profile to edit, select the execution profile created to execute on remote environment.

      5. Select the associated execution profile that is defined to execute on remote environment.
        From the Mapped Execution Profile list, select the execution profile you have opened.

  2. Configure the settings in the associated execution profile. For more information, refer to Requirements and Configuration Settings for Mobile Environments.

  3. Set the ExecutionEnvironment as Remote.

  4. Set the RemoteURL value to a valid remote URL that is IP and port of the remote machine.

    For example: RemoteURL=http://192.168.25.123:4445

  5. Set the GridPlatform value to a valid platform where you want to execute test cases. For example: Set the GridPlatform=Win10.

  6. Click Save.

  • In case you have multiple versions of java, Qualitia uses the version set against the "JAVA_HOME" system variable under System Properties settings of your computer.

  • To execute mobile test cases using Selenium grid, make sure that Appium server is up and running on the designated node.

Suite Execution

Execute the test suite or offline suite you have configured. To know how to execute an offline package, refer to Offline Package.

Info

If you want to use PowerShell Utility on Selenium Mobile Grid to perform parallel execution, refer to (8.5.X) Parallel Execution using Power Shell Utility .

...

  1. From the Environment list, select Cloud.

  2. From the Cloud Platform list, select BrowserStack.

  3. Select the Edit Desired Capabilities checkbox.

  4. Select or enter the following values:

  • Url

  • username 

  • accesskey

Additional Recommendations:

On the Execution Parameters tab, select ScreenCaptureMode as Browser.

...

  1. Make sure you have set the browserstack.local value as true in the Edit Additional capabilities.

  2. Download the BrowserStackLocal.exe on any machine in the network using the following url:
    https://www.browserstack.com/automate/python#setting-local-tunnel

  3. Unzip the folder.

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

  5. Press Enter.

...

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:

Execution on Sauce Labs

Introduction

...

  • An active account with valid user name / password 

  • Sufficient balance of execution hours.

Info

After logging to Sauce Labs, click Data Center located at the top-right corner, and select the Time Zone to USE West 1.

Mandatory Settings in Qualitia

...

  • Url

  • username 

  • accesskey

  • For testing on a desktop web application, select usew3c as True.

  • For testing on a mobile application,

    • Enter the Platform Version only and do not edit the default value for the Native Object sync time. 

    • Do not add the same capabilities that are already specified in Sauce labs Mobile section, such as deviceName.

    • For iOS mobile application, ignore value present in Appium Server URL as it is mandatory field. It is not used in the execution.

  • For testing on a mobile hybrid application, select nativeWebScreenshot as True.

  • For testing on an iOS native or hybrid application, perform the following actions:

    • From the automationName drop-down, select XCUITest.

    • Enter the latest Appium version number as the appiumVersion.

Additional Recommendations:

In the Execution Parameters tab, select ScreenCaptureMode as Browser.

...

  1. Open the associated execution profile.

  2. Under Edit Additional Capabilities, set the desired value for slw.tunnelIdentifier.
    The value set here for this key will be required when executing sc.exe in step 6. For more information on configuring this property, refer Sauce Labs documentation.

  3. Download the Sauce Connect Proxy on any machine in the network using following url: 
    https://wiki.saucelabs.com/display/DOCS/Sauce+Connect+Proxy

  4. Extract the folder at the suitable location.
    You will find the sc.exe file in the bin folder.

  5. Open Command Prompt and navigate to the folder where sc.exe file exists. 

  6. Enter the following command.

    Code Block
    sc -u <sauce_username> -k <accesskey> -i <tunnelID>
    For example: sc -u john.doe -k 8becc95c-4559-4582-a617-7d38544797a2 -i tunnel-1232
  7. Press Enter.

...

For more information on this, please refer to the Execution using Browser Capabilities section.

Executing Test Cases on iOS Devices

...

Execution on Sauce Labs Real Device-TestObject

Introduction

The Sauce Labs Real Device-TestObject provides you the ability to run Qualitia test cases across Android and iOS physical devices. With its Web interface, you can run tests using different combinations of platforms, platform versions, and browsers. In this environment all Qualitia mobile application tests are executed on physical devices. Sauce Labs allows you viewing video recordings of the test case executions.

To know more about Sauce Labs click here.

...

Settings in the Associated Execution Profile:

You must create execution profiles that are solely used for execution on the Browserstack platform from the Qualitia Client. In those execution profiles, you must define the below settings that are mandatory for test suite execution.

...

  • URL

  • Username

  • Accesskey

  • Devicename

  • testobject_api_key

  • test_app_id

  • For testing on a native app, select nativeWebScreenshot as True.

  • For testing on an iOS application, select an Appium Version.

Additional Recommendations:

  • In the Execution Parameters tab, select ScreenCaptureMode as Browser.

...

Mandatory Settings and Execution Guidelines in Qualitia

The mobile native and hybrid application file, that is the apk, ipa, and app file, is not uploaded on Perfecto automatically during the Qualitia Automation Studio executions.

...

  1. From the Environment list, select as Cloud.

  2. From the Cloud Platform list, select Perfecto.

  3. Select the Edit Additional Capabilities checkbox.

  4. Select or enter the following values:

    1. Enter the following as URL
      https://testingcloud.perfectomobile.com/nexperience/perfectomobile/wd/hub 

    2. Either enter Username and Password, or SecurityToken.

  5. Perform the following steps to execute the test suite on a mobile application,

    1. Select enableAppiumBehavior as True.

    2. To execute test suite on a mobile web application:

      1. Select enableAppiumBehavior and useAppiumForWeb as Tru

      2. Select AutomationName for Android as Appium and for iOS as XCUITest.

      3. Enter SeleniumVersion to 4.0.0.

      4. Enter the chrome driver version for the target mobile device, in ChromeDriverVersion to 2.xx, where xx denotes a chrome driver version, such as 91 and 92

    3. To execute test suite on an Android hybrid application:

      1. Select enableAppiumBehavior and useAppiumForHybrid as True.

      2. Enter SeleniumVersion to 4.0.0.

      3. Enter the chrome driver version for the target mobile device, in ChromeDriverVersion to 2.xx, where xx denotes a chrome driver version, such as 91 and 92

    4. To execute test suite on an iOS hybrid application:

      • Select enableAppiumBehavior, useAppiumForHybrid,and iOSResign as True.

Additional Recommendations:

In the Execution Parameters tab, select ScreenCaptureMode as Browser.

Note

If you have used ID, Accessibility ID, and Class locator types when adding native mobile app objects in Qualitia, Perfercto Appium integration translates these all locator types to xPath at the time of test case execution.

For more information, refer to the PerfectoMobile documentation

...

Once you have triggered the offline execution, you can view the status of your ongoing executions in Perfecto's Execution Center. Each test case appears on dashboard as a single grid with execution status against it. The status is updated after each test execution is completed in Perfecto's environment with its status (FAILED / SUCCESS) against it. Select the test case from the list and click Report from top to view recording of your test case.

Info

Qualitia and Perfecto's reports may mismatch if Qualitia test case contains any situation which ends the WebDriver session. This situation may arise due to the use of actions like Mobile.CloseApp, opening multiple WebDriver sessions in a single test case and so forth.

To view the execution report of Qualitia test cases:

...

  1. Download Perfecto Connect executable depending on your OS.

  2. Unzip the folder and run the file using command line interface along with Cloud URL and Security Token
    For example: 

    Code Block
    perfectoconnect.exe -c <Perfecto_Cloud_URL> -s <Security_token>
  3. Executing this file will give you the tunnel ID.

  4. Under Edit Additional capabilities, enter the tunnel ID in tunnelId. 

For more information about this, refer to the Perfecto documentation.

Limitations of Remote/Cloud Executions

...

  • custom_use_prerun: This option decides whether to use Pre-Run feature or not. Set it as true to run the Pre-Run feature.

  • custom_exe_name: This contains the exe file name to be executed in Sauce environment. To run exe in Sauce, you must upload the file to Sauce network.

  • args: It is the list of command line parameters that you want to execute.

  • custom_use_upload: This option decides whether to upload file in Sauce network or not. Set it as true to use upload related properties.

  • custom_file_path: Set this to the valid path where the file is located to be uploaded in the Sauce network.

  • Same way set all other properties for pre-run and uploading script file.

  • For more information about the Pre-Run feature operation, please refer following links,

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.