Headless browser testing runs browser tests without displaying the browser window. The browser still renders pages and executes JavaScript — everything happens in the background.
Benefits:
- ✓Faster execution — no UI rendering overhead
- ✓Runs in CI/CD pipelines — no display server needed
- ✓Consumes less memory
- ✓Still supports screenshots and JavaScript execution
Chrome Headless:
Java
ChromeOptions options = new ChromeOptions();
options.addArguments("--headless");
options.addArguments("--no-sandbox");
options.addArguments("--disable-dev-shm-usage");
options.addArguments("--window-size=1920,1080");
WebDriver driver = new ChromeDriver(options);
driver.get("https://automateqa.online");
System.out.println(driver.getTitle());
Firefox Headless:
Java
FirefoxOptions options = new FirefoxOptions();
options.addArguments("--headless");
WebDriver driver = new FirefoxDriver(options);
Common use cases:
- ✓Jenkins, GitHub Actions, GitLab CI pipelines
- ✓Docker containers
- ✓Scheduled overnight regression runs
Note: Chrome 112+ uses
--headless=newfor better compatibility with modern web apps.
