SauceLabs Plugin
The plugin provides integration with continuous testing cloud SauceLabs.
Installation
-
Copy the below line to
dependencies
section of the projectbuild.gradle
filePlease make sure to use the same version for all VIVIDUS dependencies. Example 1. build.gradleimplementation(group: 'org.vividus', name: 'vividus-plugin-saucelabs')
-
If the project was imported to the IDE before adding new dependency, re-generate the configuration files for the used IDE and then refresh the project in the used IDE.
Profiles
The plugin defines profiles with a set of the preconfigured properties.
|
Use in conjunction with desktop web application profiles. |
|
Use in conjunction with mobile web application profiles. Required properties:
|
|
Use in conjunction with mobile web application profiles. Required properties:
|
|
Use in conjunction with native mobile application profiles. Required properties:
|
SauceLabs profiles can be enabled by adding the corresponding entry to configuration.profiles
property.
configuration.profiles=saucelabs/web,web/desktop/chrome
SauceLabs profile must be first. |
Explore SauceLabs Capabilities for more fine-grained configuration.
Links to SauceLabs test runs can be found in Allure report |
Properties
The properties marked with bold are mandatory. |
Property Name | Acceptable values | Default | Description |
---|---|---|---|
|
hostname |
|
Sauce Labs OnDemand host to be used to create a new session |
|
username |
|
|
|
password |
|
|
|
|
Sauce Labs data center to use |
|
|
|
|
Enables Sauce Connect Proxy |
|
|
|
If |
|
String line with CLI flags |
Used to provide set of custom Sauce Connect command line arguments |
|
|
Comma (,) separated list of host glob patterns |
This property comes into effect only if proxy is used, otherwise its value is ignored. The property specifies the list of glob patterns for hosts that are connected-to directly, others are connected through the proxy. By default the list inicludes
host patterns to avoid sending of status information by SauceConnect to SauceLabs REST API throughout the lifetime of a tunnel via proxy used by tests. |
configuration.profiles=saucelabs/web,web/desktop/chrome
selenium.grid.host=ondemand.us-west-1.saucelabs.com
selenium.grid.username=secretsauce
selenium.grid.password=87380d3afd8fd8aed55a
saucelabs.data-center=US_WEST
configuration.profiles=saucelabs/mobile_app,mobile_app/ios
selenium.grid.host=ondemand.us-west-1.saucelabs.com
selenium.grid.username=secretsauce
selenium.grid.password=87380d3afd8fd8aed55a
saucelabs.data-center=US_WEST
selenium.grid.device-name=iPhone Simulator
selenium.grid.appium-version=2.0.0
selenium.grid.platform-version=16.2
# https://docs.saucelabs.com/mobile-apps/app-storage/
selenium.grid.capabilities.app=myapp.app
configuration.profiles=saucelabs/mobile_app,mobile_app/android
selenium.grid.host=ondemand.us-west-1.saucelabs.com
selenium.grid.username=secretsauce
selenium.grid.password=87380d3afd8fd8aed55a
saucelabs.data-center=US_WEST
selenium.grid.device-name=Android GoogleAPI Emulator
selenium.grid.appium-version=2.0.0
selenium.grid.platform-version=13.0
# https://docs.saucelabs.com/mobile-apps/app-storage/
selenium.grid.capabilities.app=myapp.apk
Sauce Orchestrate
The Sauce Orchestrate is a new and unique approach to web and mobile application testing that increases test execution speed and enables end-to-end test orchestration.
Prerequisites to install:
How to run VIVIDUS steps using Sauce Orchestrate:
-
Go to the project root directory.
-
Build a docker image with tests and push it to a docker registry as described in this article.
-
Create a
.sauce/config.yml
file in the project root with the following content:apiVersion: v1alpha kind: imagerunner sauce: region: us-west-1 suites: - name: VIVIDUS test suite workload: webdriver resourceProfile: c2m2 # replace the image value with the actual one image: vividus.jfrog.io/tests-docker-release/vividus-sample-tests:0.1.0-SNAPSHOT imagePullAuth: user: $DOCKER_REGISTRY_USERNAME token: $DOCKER_REGISTRY_PASSWORD artifacts: - '/vividus/output/reports/*' artifacts: cleanup: true download: when: always match: - "*" directory: ./report
-
Please see saucectl configuration for more details.
-
Make sure
region
configuration value corresponds to the region specified by thesaucelabs.data-center
property, please see region docs for mapping. -
The
DOCKER_REGISTRY_USERNAME
andDOCKER_REGISTRY_PASSWORD
are expected to be set during the 2nd step of the guide.
-
-
Start tests by using
saucectl
:saucectl run
-
Wait until the tests run is finished and see
report
folder in the project root for reports.