Serenity BDD SauceLabs Integration
The serenity-saucelabs
plugin provides seamless integration with the SauceLabs online test automation platform.
#
Adding the SauceLabs pluginTo add the integrated support for SauceLabs to your project, you will need to add the serenity-saucelabs
dependency to your project dependencies. For Maven, you would add the following:
<dependency> <groupId>net.serenity-bdd</groupId> <artifactId>serenity-saucelabs</artifactId> <version>${serenity.version}</version> </dependency>
And for Gradle:
testImplementation "net.serenity-bdd:serenity-saucelabs:${serenityVersion}"
#
Specifying your SauceLabs credentials and grid URLNext, you will need a SauceLabs account.
Next you will need to configure your SauceLabs credentials (if you are logged on to the Saucelabs Dashboard [you can find these on this page]. The simplest way to do this is to define the following system properties:
SAUCE_USERNAME
- SauceLabs user nameSAUCE_ACCESS_KEY
- SauceLabs access key
Alternatively, you can define your username and accesskey using the sauce.username
and sauce.key
properties respectively in your serenity.conf
file:
sauce.username=myusersauce.key=XXXXXXXX
#
Configuring the SauceLabs driverSerenity interacts with SauceLabs via the RemoteDriver
driver. You will need to specify the remote URL for the geographical region you want to use in the webdriver.remote.url
property, like this:
webdriver { driver = remote remote.url = "https://ondemand.us-west-1.saucelabs.com/wd/hub"}
#
Activating the SauceLabs pluginThe Serenity SauceLabs plugin will be invoked if Serenity can find a "sauce:options"
section in your serenity.conf
file, or if you specify a remote.webdriver.url
that points to a SauceLabs server. If you have no Saucelabs-specific capabilities, simply set the sauce.active
property to true like this:
sauce { active = true}
#
Defining Saucelabs CapabilitiesYou can specify the operating system and browser you want to run your tests on by customising the Selenium Capabilities in your serenity.conf
file. You do this in the "sauce:options"
section of the serenity.conf
file, e.g.
webdriver { driver = "remote" capabilities { browserName = "chrome" version = "104.0" platform = "Windows 10" "sauce:options" { tags = ["smoketest","billing"] recordVideo = true recordLogs = false } } }