Setting up the Selenium library for your favourite programming language.
First you need to install the Selenium bindings for your automation project.
The installation process for libraries depends on the language you choose to use.
Make sure you check the Selenium downloads page to make sure
you are using the latest version.
View the minimum supported Java version here .
Installation of Selenium libraries for Java is accomplished using a build tool.
Maven Specify the dependencies in the project’s pom.xml
file:
<dependencies>
<dependency>
<groupId> org.seleniumhq.selenium</groupId>
<artifactId> selenium-java</artifactId>
examples/java/pom.xml
Copy
Close
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns= "http://maven.apache.org/POM/4.0.0"
xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation= "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" >
<modelVersion> 4.0.0</modelVersion>
<groupId> dev.selenium</groupId>
<artifactId> selenium-examples</artifactId>
<version> 1.0.0</version>
<properties>
<maven-surefire-plugin.version> 3.0.0-M7</maven-surefire-plugin.version>
<java.version> 8</java.version>
<maven.compiler.target> ${java.version}</maven.compiler.target>
<maven.compiler.source> ${java.version}</maven.compiler.source>
<project.encoding> UTF-8</project.encoding>
<project.build.sourceEncoding> ${project.encoding}</project.build.sourceEncoding>
<project.reporting.outputEncoding> ${project.encoding}</project.reporting.outputEncoding>
</properties>
<repositories>
<repository>
<id> sonatype-nexus-snapshots</id>
<url> https://oss.sonatype.org/content/repositories/snapshots/</url>
<snapshots>
<enabled> true</enabled>
</snapshots>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId> org.seleniumhq.selenium</groupId>
<artifactId> selenium-java</artifactId>
<version> 4.9.1</version>
</dependency>
<dependency>
<groupId> org.seleniumhq.selenium</groupId>
<artifactId> selenium-grid</artifactId>
<version> 4.9.1</version>
</dependency>
<dependency>
<groupId> org.slf4j</groupId>
<artifactId> slf4j-api</artifactId>
<version> 2.0.5</version>
</dependency>
<dependency>
<groupId> ch.qos.logback</groupId>
<artifactId> logback-classic</artifactId>
<version> 1.4.6</version>
</dependency>
<dependency>
<groupId> org.junit.jupiter</groupId>
<artifactId> junit-jupiter-engine</artifactId>
<version> 5.9.2</version>
<scope> test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId> org.apache.maven.plugins</groupId>
<artifactId> maven-surefire-plugin</artifactId>
<version> ${maven-surefire-plugin.version}</version>
<configuration>
<includes>
<include> **/*Test.java</include>
<include> **/*Example.java</include>
</includes>
</configuration>
</plugin>
</plugins>
</build>
</project>
Gradle Specify the dependency in the project build.gradle
file as testImplementation
:
testImplementation 'org.seleniumhq.selenium:selenium-java:4.9.1'
testImplementation 'org.seleniumhq.selenium:selenium-grid:4.9.1'
examples/java/build.gradle
Copy
Close
plugins {
id 'java'
}
group 'dev.selenium'
version '1.0-SNAPSHOT'
repositories {
mavenCentral ()
}
dependencies {
testImplementation 'org.seleniumhq.selenium:selenium-java:4.9.1'
testImplementation 'org.seleniumhq.selenium:selenium-grid:4.9.1'
testImplementation 'org.junit.jupiter:junit-jupiter-engine:5.9.0'
}
test {
useJUnitPlatform ()
}
The minimum supported Python version for each Selenium version can be found
in “Supported Python Versions” on PyPi .
There are a couple different ways to install Selenium.
Pip Download Alternatively you can download the PyPI Built Distribution
(selenium-x.x.x.-py3-none-any.whl) and install it using pip :
pip install selenium-x.x.x.-py3-none-any.whl
Require in project To use it in a project, add it to the requirements.txt
file:
examples/python/requirements.txt
Copy
Close
selenium==4.9.1
pytest
flake8
A list of all supported frameworks for each version of Selenium
is available on Nuget
There are a few options for installing Selenium.
Packet Manager Install-Package Selenium.WebDriver
.NET CLI dotnet add package Selenium.WebDriver
CSProj in the project’s csproj
file, specify the dependency as a PackageReference
in ItemGroup
:
<PackageReference Include= "Selenium.WebDriver" Version= "4.9.0" />
examples/dotnet/SeleniumDocs/SeleniumDocs.csproj
Copy
Close
<Project Sdk= "Microsoft.NET.Sdk" >
<PropertyGroup>
<TargetFramework> net5.0</TargetFramework>
<GenerateProgramFile> false</GenerateProgramFile>
</PropertyGroup>
<ItemGroup>
<PackageReference Include= "Microsoft.NET.Test.Sdk" Version= "17.3.2" />
<PackageReference Include= "Microsoft.IdentityModel.Tokens" Version= "6.23.1" />
<PackageReference Include= "MSTest.TestAdapter" Version= "2.2.10" />
<PackageReference Include= "MSTest.TestFramework" Version= "2.2.10" />
<PackageReference Include= "Selenium.Support" Version= "4.5.0" />
<PackageReference Include= "Selenium.WebDriver" Version= "4.9.0" />
</ItemGroup>
<ItemGroup>
<Folder Include= "LocalPackages" />
</ItemGroup>
</Project>
Additional considerations Further items of note for using Visual Studio Code (vscode) and C#
Install the compatible .NET SDK as per the section above.
Also install the vscode extensions (Ctrl-Shift-X) for C# and NuGet.
Follow the instruction here
to create and run the “Hello World” console project using C#.
You may also create a NUnit starter project using the command line dotnet new NUnit
.
Make sure the file %appdata%\NuGet\nuget.config
is configured properly as some developers reported that it will be empty due to some issues.
If nuget.config
is empty, or not configured properly, then .NET builds will fail for Selenium Projects.
Add the following section to the file nuget.config
if it is empty:
<configuration>
<packageSources>
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
<add key="nuget.org" value="https://www.nuget.org/api/v2/" />
</packageSources>
...
For more info about nuget.config
click here .
You may have to customize nuget.config
to meet you needs.
Now, go back to vscode, press Ctrl-Shift-P, and type “NuGet Add Package”, and enter the required Selenium packages such as Selenium.WebDriver
.
Press Enter and select the version.
Now you can use the examples in the documentation related to C# with vscode.
You can see the minimum required version of Ruby for any given Selenium version
on rubygems.org
Selenium can be installed two different ways.
Install manually gem install selenium-webdriver
Add to project’s gemfile gem 'selenium-webdriver' , '= 4.9.1'
examples/ruby/Gemfile
Copy
Close
# frozen_string_literal: true
source 'https://rubygems.org'
gem 'ffi' , '~> 1.15' , '>= 1.15.5' if Gem . win_platform? # Windows only
gem 'rake' , '~> 13.0'
gem 'rspec' , '~> 3.0'
gem 'rubocop' , '~> 1.35'
gem 'rubocop-rspec' , '~> 2.12'
gem 'selenium-webdriver' , '= 4.9.1'
You can find the minimum required version of Node for any given version of Selenium in the
Node Support Policy
section on npmjs
Selenium is typically installed using npm.
Install locally npm install selenium-webdriver
Add to project In your project’s package.json
, add requirement to dependencies
:
"selenium-webdriver" : "^4.9.2"
examples/javascript/package.json
Copy
Close
{
"name" : "javascript-examples" ,
"version" : "1.0.0" ,
"scripts" : {
"test" : "npx mocha test/**/*.spec.js --timeout 60000"
},
"author" : "The Selenium project" ,
"license" : "Apache-2.0" ,
"dependencies" : {
"@sitespeed.io/edgedriver" : "^113.0.1774-9" ,
"assert" : "^2.0.0" ,
"chromedriver" : "^113.0.0" ,
"geckodriver" : "^4.0.0" ,
"selenium-webdriver" : "^4.9.2"
},
"devDependencies" : {
"mocha" : "^10.2.0"
}
}
Use the Java bindings for Kotlin.