This Java project demonstrates different behaviors encountered when attempting to create a remote WebDriver instance on the SauceLabs platform using Selenium's RemoteWebDriverBuilder
with BiDi capabilities.
The project provides four distinct test cases, implemented with JUnit 5, to highlight these issues and their outcomes. The build platform is Gradle with a wrapper included.
- Java
- Gradle (Wrapper included, no need to install)
- SauceLabs account with valid credentials
The following cases demonstrate the behavior of RemoteWebDriverBuilder
under different configurations:
-
Case 1:
- Description: Create a WebDriver instance using
RemoteWebDriverBuilder
with SauceLabs capabilities. - Result: Session could not be created.
- Description: Create a WebDriver instance using
-
Case 2:
- Description: Create a WebDriver instance using
RemoteWebDriverBuilder
with SauceLabs capabilities and additional DevTools capabilities. - Result: Session is created, but the WebDriver does not support BiDi capabilities.
- Description: Create a WebDriver instance using
-
Case 3:
- Description: Create a WebDriver instance using
RemoteWebDriverBuilder
without SauceLabs-specific capabilities. - Result: Success, session is created, and BiDi capabilities are supported.
- Description: Create a WebDriver instance using
-
Case 4:
- Description: Create a WebDriver instance without using
RemoteWebDriverBuilder
, directly specifying SauceLabs capabilities. - Result: Success, session is created, and BiDi capabilities are supported.
- Description: Create a WebDriver instance without using
src
├── test
│ └── java
│ └── com.example.webdriverissues
│ └── ExampleTest.java
build.gradle
gradlew
gradlew.bat
settings.gradle
README.md
git clone https://github.com/vkepin/selenium-BiDi-issue.git
export SAUCE_USERNAME=<username>
export SAUCE_API_KEY=<key>
./gradlew test
Test results will be displayed in the console and saved in the build/reports/tests/test directory.