Serenity BDD BitBar Integration
BitBar is the cloud for all your testing needs. With BitBar, Serenity users have instant access to scale their cross-browser tests to real iOS and Android devices, as well as the latest and most popular browsers on macOS, Windows, and Linux.
The serenity-bitbar plugin ensures seamless integration with the BitBar online test automation platform.
Adding the BitBar plugin#
To add the integrated support for BitBar to your project, add the serenity-bitbar dependency to your project dependencies as follows:
- for Maven
<dependency> <groupId>net.serenity-bdd</groupId> <artifactId>serenity-bitbar</artifactId> <version>${serenity.version}</version></dependency>- for Gradle:
testImplementation "net.serenity-bdd:serenity-bitbar:${serenityVersion}"Specifying your BitBar credentials and grid URL#
Next, you need a BitBar account.
You can add your BitBar credentials in two ways:
- Define the following system property
BITBAR_API_KEY - BitBar API Key
- Define your API Key using the
bitbar.apiKeyproperty in yourserenity.conffile
bitbar.apiKey=XXXXXXXXConfiguring the BitBar driver#
Serenity interacts with BitBar via the RemoteDriver driver. You need to specify the remote URL for the geographical region you want to use in the webdriver.remote.url property as follows:
webdriver { driver = remote remote.url = "https://eu-mobile-hub.bitbar.com/wd/hub"}Alternatively, you can define a hub and the remote.url will be set automatically:
bitbar.hub = "eu-desktop-hub"Activating the BitBar plugin#
The Serenity BitBar plugin is invoked if Serenity finds a bitbar:options section in your serenity.conf file, or if you specify a remote.webdriver.url that points to a BitBar server. If you have no BitBar-specific capabilities, simply set the bitbar.active property to true as follows:
bitbar { active = true}Defining BitBar Capabilities#
You can specify the operating system and browser on which you want to run your tests by customizing the capabilities in your serenity.conf file. Do this in the bitbar:options section of the serenity.conf file, for example:
webdriver { driver = "remote" capabilities { browserName = "chrome" version = "latest" platform = "Windows" "bitbar:options" { osVersion = "10" screenResolution = "1920x1200" } }}