or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

docs

index.md
tile.json

tessl/maven-org-seleniumhq-selenium--selenium-bom

Selenium BOM for managing consistent versions of Selenium dependencies across projects

Workspace
tessl
Visibility
Public
Created
Last updated
Describes
mavenpkg:maven/org.seleniumhq.selenium/selenium-bom@4.33.x

To install, run

npx @tessl/cli install tessl/maven-org-seleniumhq-selenium--selenium-bom@4.33.0

index.mddocs/

Selenium BOM

Selenium BOM (Bill of Materials) is a Maven POM artifact that provides centralized dependency management for the Selenium ecosystem. It enables consistent versioning across all Selenium artifacts in multi-module projects, eliminating version conflicts and simplifying dependency management for browser automation projects.

Package Information

  • Package Name: selenium-bom
  • Package Type: maven
  • Group ID: org.seleniumhq.selenium
  • Artifact ID: selenium-bom
  • Language: Java
  • Installation: Add to Maven dependencyManagement section (see usage below)

Core Usage

Import the BOM in your Maven project's dependencyManagement section:

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-bom</artifactId>
            <version>4.33.0</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

Basic Usage

After importing the BOM, declare Selenium dependencies without version numbers:

<dependencies>
    <!-- WebDriver API and Remote Driver -->
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-remote-driver</artifactId>
    </dependency>
    
    <!-- Browser-specific drivers -->
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-chrome-driver</artifactId>
    </dependency>
    
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-firefox-driver</artifactId>
    </dependency>
    
    <!-- Support utilities -->
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-support</artifactId>
    </dependency>
</dependencies>

Architecture

The Selenium BOM manages dependencies for the complete Selenium ecosystem:

  • Core API: Base WebDriver interfaces and implementations
  • Browser Drivers: Chrome, Firefox, Edge, Safari, Internet Explorer drivers
  • Grid Components: Distributed testing infrastructure with session management
  • Support Libraries: Page Object Model utilities, Select helpers, and more
  • DevTools Support: Chrome DevTools Protocol integrations

This centralized approach ensures that all Selenium components work together without version conflicts.

Capabilities

Dependency Management

The BOM provides version coordination for all Selenium artifacts, ensuring compatibility across the ecosystem.

<!-- Main Selenium BOM - manages all Selenium artifacts -->
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-bom</artifactId>
            <version>4.33.0</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
        
        <!-- External Dependencies BOM - manages third-party dependencies -->
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-dependencies-bom</artifactId>
            <version>4.33.0</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

Core WebDriver Dependencies

Primary WebDriver components for browser automation.

<!-- Complete Selenium Library (includes all drivers) -->
<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-java</artifactId>
</dependency>

<!-- Core WebDriver API -->
<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-api</artifactId>
</dependency>

<!-- Remote WebDriver Implementation -->
<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-remote-driver</artifactId>
</dependency>

<!-- WebDriver Support Utilities -->
<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-support</artifactId>
</dependency>

Browser Driver Dependencies

Browser-specific WebDriver implementations for automated testing.

<!-- Chrome/Chromium Driver -->
<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-chrome-driver</artifactId>
</dependency>

<!-- Base Chromium Driver -->
<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-chromium-driver</artifactId>
</dependency>

<!-- Firefox Driver -->
<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-firefox-driver</artifactId>
</dependency>

<!-- Microsoft Edge Driver -->
<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-edge-driver</artifactId>
</dependency>

<!-- Safari Driver -->
<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-safari-driver</artifactId>
</dependency>

<!-- Internet Explorer Driver -->
<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-ie-driver</artifactId>
</dependency>

Grid Infrastructure Dependencies

Selenium Grid components for distributed testing environments.

<!-- Grid Server Components -->
<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-grid</artifactId>
</dependency>

<!-- JDBC Session Map for Grid -->
<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-session-map-jdbc</artifactId>
</dependency>

<!-- Redis Session Map for Grid -->
<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-session-map-redis</artifactId>
</dependency>

DevTools Dependencies

Chrome DevTools Protocol (CDP) artifacts for browser automation and debugging.

<!-- Chrome DevTools Protocol v135 -->
<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-devtools-v135</artifactId>
</dependency>

<!-- Chrome DevTools Protocol v136 -->
<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-devtools-v136</artifactId>
</dependency>

<!-- Chrome DevTools Protocol v137 -->
<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-devtools-v137</artifactId>
</dependency>

Utility Dependencies

Additional Selenium utilities and supporting components.

<!-- JSON Serialization Utilities -->
<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-json</artifactId>
</dependency>

<!-- Driver Management Utilities -->
<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-manager</artifactId>
</dependency>

<!-- HTTP Client Utilities -->
<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-http</artifactId>
</dependency>

<!-- Operating System Utilities -->
<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-os</artifactId>
</dependency>

Managed Artifacts

The BOM manages versions for the following Selenium artifacts:

Artifact IDDescription
selenium-javaComplete Selenium WebDriver library (includes all drivers and support)
selenium-apiCore WebDriver interfaces and abstractions
selenium-remote-driverRemote WebDriver implementation with BiDi and DevTools
selenium-supportWebDriver support classes (PageFactory, Select, etc.)
selenium-chrome-driverChrome/Chromium WebDriver implementation
selenium-chromium-driverBase Chromium browser driver functionality
selenium-firefox-driverFirefox WebDriver implementation
selenium-edge-driverMicrosoft Edge WebDriver implementation
selenium-ie-driverInternet Explorer WebDriver implementation
selenium-safari-driverSafari WebDriver implementation
selenium-gridSelenium Grid server components
selenium-session-map-jdbcJDBC-based session map for Grid
selenium-session-map-redisRedis-based session map for Grid
selenium-jsonJSON serialization/deserialization utilities
selenium-managerDriver management utilities
selenium-httpHTTP client utilities for WebDriver communication
selenium-osOperating system utilities and platform-specific functionality
selenium-devtools-v135Chrome DevTools Protocol version 135 implementation
selenium-devtools-v136Chrome DevTools Protocol version 136 implementation
selenium-devtools-v137Chrome DevTools Protocol version 137 implementation
selenium-dependencies-bomBOM for managing external third-party dependencies

DevTools Versioning: The Chrome DevTools Protocol artifacts follow Chrome's major version numbers. These artifacts enable advanced browser automation features like network monitoring, performance profiling, and console access. The BOM includes support for the three most recent stable Chrome versions.

Version Information

  • Current Version: 4.33.0
  • License: Apache License 2.0
  • Homepage: https://selenium.dev/
  • Source Code: https://github.com/SeleniumHQ/selenium/

Complete Example

A complete Maven project using the Selenium BOM:

<project>
    <modelVersion>4.0.0</modelVersion>
    
    <groupId>com.example</groupId>
    <artifactId>selenium-test-project</artifactId>
    <version>1.0.0</version>
    <packaging>jar</packaging>
    
    <properties>
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>
    </properties>
    
    <dependencyManagement>
        <dependencies>
            <!-- Import Selenium BOM -->
            <dependency>
                <groupId>org.seleniumhq.selenium</groupId>
                <artifactId>selenium-bom</artifactId>
                <version>4.33.0</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
    
    <dependencies>
        <!-- Core WebDriver -->
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-remote-driver</artifactId>
        </dependency>
        
        <!-- Browser drivers -->
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-chrome-driver</artifactId>
        </dependency>
        
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-firefox-driver</artifactId>
        </dependency>
        
        <!-- Support utilities -->
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-support</artifactId>
        </dependency>
        
        <!-- Test framework -->
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter</artifactId>
            <version>5.9.2</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
</project>