Sauce Labs Desktop

Introduction

Provar supports Sauce Labs desktop cloud testing from Provar version 1.9.8 onwards. (And, oh hey, we do Sauce Labs mobile, too.)

Sauce Labs provides comprehensive desktop testing using real devices, emulators and simulators. With Sauce Labs you can run automated tests of your web apps on a variety of operating system/browser versions for desktop and mobile browsers.

Use the following links to navigate to the relevant section:

Configuring Sauce Labs in Provar

Pre-Requisites

Before configuring a Sauce Labs Desktop App in Provar, you should have already sorted your Sauce Labs setup and have your Sauce Labs username, access token and factory class (if applicable). Refer to Sauce Labs’ documentation for more information on completing this setup in Sauce Labs.

Adding a Browser Provider

To begin configuring the Sauce Labs Desktop App in Provar, start by adding a new Browser Provider.

Navigate to the Test Settings view and click the Browser Providers tab. Then click the Add New (‘+’) button:

On the ‘Add new Browser Provider screen’, Add a ‘Provider Name’ and select the ‘Sauce Labs Desktop’ radio button:

Add your Sauce Labs details to connect to Sauce Labs, including Factory Class if applicable:

Use the ‘Test Connection’ button to verify the server details:

Adding Browsers

Next, add the Browsers that will be used by clicking the Add New (‘+’) button on the Browsers section:

On the ‘Add Sauce Labs Desktop Browsers’ page, select the Platform where testing is going to be carried out. (You can ignore the Browser Name as this will be prepopulated based on your other selections.) The Platform dropdown will show all the platforms assigned to the relevant Sauce Labs account.

Then select a Web Browser and a Browser Version. For Browser Version, you can select ‘latest’ instead of a specific version if you want to run on the latest version of your chosen browser.

Once you are happy with the device details provided, click the ‘OK’ button to see the Browser added to the Browser Provider:

Then click the ‘OK’ button on the Browser Provider screen to see it added to the Browser Provider tab:

Running Tests on Sauce Labs for Desktop

Once setup has been completed, tests can be run in Run mode, Debug mode or Run under ANT.

Run and Debug Mode Execution

To start executing test cases, first select the new Web Browser which you created above:

This can also be set for a particular test case by using the ‘Web Browser Override’ on the test’s Connection step.

Then click Run or Debug to run the test.

Progress can be monitored as usual in the Test Runner:

In the Sauce Labs Dashboard, under ‘Automated Builds’, you can monitor currently running and previously executed sessions:

Clicking on a session provides running details:

Run under ANT execution

Provar also provides Run under ANT execution for Sauce Labs for Desktop.

To select this, right-click on the test(s) or folder and select ‘Run Under ANT’.

In the ANT Dialog, select the new Web Browser you created above:

This will add the following parameters to the Build.xml file:

Running this file will initiate the session/run in a similar way to the Run and Debug mode sessions above.

Proxy Environments

Sauce Labs execution will work as normal when there are proxies defined under Provar Network Settings, or defined under the Desired Capability of the Browser Provider as a ‘proxyURL’ (see below).

Note that, if proxy information is set up at both levels, Provar will give preference to the proxy information in the Desired Capability setting in the Browser Provider.

To add a proxy at the Browser Provider level, open the Browser Provider in edit and go to the Desired Capabilities section.

Click the ‘Add New’ (‘+’) icon:

On ‘Add new desired Capabilities’ screen, enter a Name of ‘proxyURL’ and the value:

Then click ‘OK’.

Once added, use the ‘Test Connection’ button to make sure the connection is working as expected.

Modifying the Job Name

You can define a custom Job Name if you would like to present a specific name in Sauce Labs. This is helpful when you have multiple sets of test cases. If a custom Job Name is defined, a single entry will be created with a grouping of test cases inside.

You can define a custom Job Name by setting up a new system environment variable or in console where an ANT job is running. If the environment variable PROVAR_Sauce Labs_BUILDNAME is set, this name will be used as the build name.

This can be done by setting up a new system environment variable of PROVAR_SAUCELABS_BUILDNAME:

The system environment variable can also be set in the console:

Limitations

The following limitations currently exist in Provar’s implementation of Sauce Labs.

Accessing Chrome profiles

Normally, when Provar’s test execution happens locally, Provar users can specify the Google Chrome profile that should be used in the execution. This is not supported when executing tests over Selenium Grid as the execution will be happening at the remote node. Due to this limitation, you’ll need to re-provide a password and verification token when executing over Selenium Grid, or your IP will need to be whitelisted. Salesforce should know from where the request is coming so it can provide login access to execute the tests.

Accessing locally stored files

Normally Provar allows you to download a file locally to perform actions such as assertions. This is not supported when executing tests on Selenium Grid because the remote node will not be able to access the locally downloaded file, so any tests which use locally downloaded files will not run successfully.

If you are affected by either of these limitations please contact Provar support directly for advice.