Skip to main content

Selenium with Java

Your guide to running tests using Java on BrowserStack’s Selenium Grid of 3000+ real devices and desktop browsers.

Run tests on 3000+ real devices and desktop browsers

Prerequisites

  • You need to have BrowserStack Username and Access key, which you can find in your account profile. If you have not created an account yet, you can sign up for a Free Trial.
  • Java v8+ (if using Gradle, Java v9+ is required), Selenium v2.5+ (JSON Wire / W3C).
  • If you are using CLI for running tests, ensure that Maven or Gradle is installed on your machine, its environment variables are set, and its bin is added to system path, $PATH.

Run a sample build

Run a sample Java test build, which is based on the TestNG runner, using your preferred method on BrowserStack:

Get Sample Project

Get our sample project using one of the following options:

Option 1: Download Project

Download ZIP

Option 2: Via Git

Clone our sample Git repository using the adjacent code snippet

Copy icon Copy snippet

Option 3: Via Maven Archetype

Setup using Maven archetype to create a new sample project with your BrowserStack credentials pre-configured.

Copy icon Copy snippet
Copy icon Copy snippet

Configure your browserstack.yml config file

The browerstack.yml file holds all the required capabilities to run your tests on BrowserStack

Set access credentials

Set userName and accessKey properties in browserstack.yml to authenticate your tests on BrowserStack.

Select desktop browsers or real devices from a list of 3000+ available combinations:

Parallel thread #1
Parallel thread #2
Parallel thread #3

Update the browserstack.yml config file

Copy and replace the following config in the browserstack.yml file available in the root directory of this project.

browserstack.yml
Copy icon Copy snippet

Run sample tests on BrowserStack!

Install dependencies and run a sample test build on BrowserStack:

Using Maven

Copy icon Copy snippet

Using Gradle

Copy icon Copy snippet

Clone the sample repository using Maven Archetype

Open Eclipse IDE and create a new project.

Select Maven Project and click Next:
Eclipse IDE Configuration

Click Next to configure archetype.

Type com.browserstack in the filter to search for BrowserStack archetypes, select testng-archetype-setup, and then click Next:

Eclipse IDE Configuration

Set a GroupId and ArtifactId for the project. Then, add the following BrowserStack Credentials to the properties and click Finish:

Copy icon Copy snippet


Eclipse IDE Configuration

Ensure that you press Enter after adding your BrowserStack Credentials.

The project with relevant browserstack.yml config file and runner-specific files is generated. Your project appears in the IDE as follows:

Eclipse IDE Configuration

Ensure that BrowserStack credentials are correctly updated in the browserstack.yml file before running the tests.

Configure your browserstack.yml config file

Configure a few parameters in the sample repo to start testing.

Select desktop browsers or real devices from a list of 3000+ available combinations:

Parallel thread #1
Parallel thread #2
Parallel thread #3

Update the browserstack.yml config file

Copy and replace the platforms object in the browserstack.yml file available in the root directory of this project.

browserstack.yml
Copy icon Copy snippet

Run sample tests on BrowserStack

Go to pom.xml, right click on it and click Run AsMaven Test:
Eclipse IDE Configuration

Facing issues with TestNG Plugin?

If you are getting this error, follow the below steps to resolve the issue:

TestNG Runner Error

  1. Get .m2 repository path for browserstack-java-sdk jar .m2 repository path
  2. Pass the .m2 repository path in argline of maven-surefire-plugin in your pom.xml Modify argline
  3. Now you can run tests using TestNG Plugin

Clone the sample repository using Maven Archetype

Open IntelliJ IDEA and create a new project.

Under Generators, click the Maven Archetype tab and set a name for the Project. In Archetype, click Add:

IntelliJ IDEA Configuration

Set the GroupId, ArtifactId, and Version of the Archetype using the following snippet. Click Add to save the configuration:

Copy icon Copy snippet

IntelliJ IDEA Configuration

Add the following BrowserStack Credentials to the properties and click Create:

Copy icon Copy snippet

IntelliJ IDEA Project Structure

Ensure that you press Enter after adding your BrowserStack Credentials.

The project with relevant browserstack.yml config file and runner-specific files is generated. Your project appears in the IDE as follows:

IntelliJ IDEA Project Structure

Ensure that BrowserStack credentials are correctly updated in the browserstack.yml file before running the tests.

Configure your browserstack.yml config file

Configure a few parameters in the sample repo to start testing.

Select desktop browsers or real devices from a list of 3000+ available combinations:

Parallel thread #1
Parallel thread #2
Parallel thread #3

Update the browserstack.yml config file

Copy and replace the platforms object in the browserstack.yml file available in the root directory of this project.

browserstack.yml
Copy icon Copy snippet

Run sample tests on BrowserStack

Run the tests using the following steps:

Click the Maven tool window on the right-hand side. If you can’t see the tool window, click View -> Tool Windows -> Maven to enable it:

Intellij IDEA Configuration

Under Profiles, select the profiles for running tests:

Intellij IDEA Configuration

Expand the Lifecycle drop-down, and then double-click test to run the tests:

Intellij IDEA Configuration

Next steps

After you have successfully run your first test on BrowserStack, try integrating your test suite with BrowserStack.

We're sorry to hear that. Please share your feedback so we can do better

Contact our Support team for immediate help while we work on improving our docs.

We're continuously improving our docs. We'd love to know what you liked






Thank you for your valuable feedback

Is this page helping you?

Yes
No

We're sorry to hear that. Please share your feedback so we can do better

Contact our Support team for immediate help while we work on improving our docs.

We're continuously improving our docs. We'd love to know what you liked






Thank you for your valuable feedback!

Talk to an Expert
Download Copy