Getting Started
Get your first Selenium Boot test running in under 5 minutes.
Prerequisites
- Java 17+
- Maven 3.8+
- Chrome or Firefox installed
info
No WebDriver binaries required — Selenium Manager handles browser driver downloads automatically.
Step 1 — Add the dependency
pom.xml
<dependency>
<groupId>io.github.seleniumboot</groupId>
<artifactId>selenium-boot</artifactId>
<version>1.3.0</version>
</dependency>
Step 2 — Create the configuration file
Create selenium-boot.yml in your project root (next to pom.xml):
selenium-boot.yml
browser:
name: chrome
headless: false
execution:
baseUrl: https://your-app.com
retry:
enabled: true
maxAttempts: 2
timeouts:
explicit: 10
pageLoad: 30
Step 3 — Write your first test
src/test/java/com/example/LoginTest.java
import com.seleniumboot.test.BaseTest;
import org.testng.Assert;
import org.testng.annotations.Test;
public class LoginTest extends BaseTest {
@Test(description = "Valid user can log in")
public void loginTest() {
open(); // navigates to baseUrl
// your test steps here
Assert.assertTrue(getDriver().getTitle().contains("Dashboard"));
}
}
Step 4 — Create a TestNG suite
testng.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd">
<suite name="selenium-boot-suite" verbose="1">
<test name="MyTests">
<classes>
<class name="com.example.LoginTest"/>
</classes>
</test>
</suite>
Step 5 — Run
mvn test
What happens
- Framework loads
selenium-boot.yml - Chrome launches automatically
- Your test runs
- Screenshot captured on any failure
- Browser closes
- HTML report generated at
target/selenium-boot-report.html - Metrics JSON at
target/selenium-boot-metrics.json
Project structure
your-project/
├── pom.xml
├── selenium-boot.yml ← framework config
├── testng.xml ← test suite definition
└── src/
└── test/
└── java/
└── com/example/
├── pages/
│ └── LoginPage.java
└── tests/
└── LoginTest.java
Working example project
A complete working project is available at: https://github.com/seleniumboot/selenium-boot-test
Clone it, run mvn test, and you'll have a full working suite with page objects, step logging, and retry configured.
Next steps
- Configuration Reference — all available config options
- BasePage — write clean page objects
- Step Logging — add named steps to your tests