---
description: What is Jenkins? Jenkins is the leading open-source continuous integration tool developed by Hudson lab. It is cross-platform and can be used on Windows, Linux, Mac OS and Solaris environments. Jenkin
title: Maven &amp; Jenkins Integration with Selenium Tutorial
image: https://www.guru99.com/images/maven-jenkins.png
---

[Skip to content](#main) 

## What is Jenkins in Selenium?

Jenkins is the leading open-source continuous integration tool developed by Hudson lab. It is cross-platform and can be used on Windows, Linux, Mac OS and Solaris environments. Jenkins is written in Java. Jenkin’s chief usage is to monitor any job which can be SVN checkout, cron or any application states. It fires pre-configured actions when a particular step occurs in jobs.

## Important Features of Jenkins

* **Change Support:** Jenkins generates the list of all changes done in repositories like SVN.
* **Permanent links:** Jenkins provides direct links to the latest build or failed build that can be used for easy communication
* **Installation:** Jenkins is easy to install either using direct installation file (exe) or war file to deploy using application server.
* **Email integration:** Jenkins can be configured to email the content of the status of the build.
* **Easy Configuration:** To configure various tasks on Jenkins is easy.
* **TestNG test:** Jenkins can be configured to run the automation test build on[ Testng ](https://www.guru99.com/all-about-testng-and-selenium.html)after each build of SVN.
* **Multiple VMs:** Jenkins can be configured to distribute the build on multiple machines.
* **Project build:** Jenkins documents the details of jar, version of jar and mapping of build and jar numbers.
* **Plugins:** 3rd party plugin can be configured in Jenkins to use features and additional functionality.

## Why Jenkins and Selenium?

* Running Selenium tests in Jenkins allows you to run your tests every time your software changes and deploy the software to a new environment when the tests pass.
* Jenkins can schedule your tests to run at specific time.
* You can save the execution history and Test Reports.
* Jenkins supports Maven for building and[ Testing ](https://www.guru99.com/software-testing.html)a project in continuous integration.

## What is Maven in Selenium?

Maven is a powerful project / build management tool, based on the concept of a POM (Project Object Model) that includes project information and configuration information for Maven such as construction directory, source directory, dependency, test source directory, Goals, plugins, etc.

## Why Maven & Jenkins

Selenium WebDriver is great for browser automation. But, when using it for testing and building a test framework, it feels underpowered. Integrating Maven with Selenium provides following benefitsApache Maven provides support for managing the full lifecycle of a test project.

* Maven is used to define project structure, dependencies, build, and test management.
* Using pom.xml(Maven) you can configure dependencies needed for building testing and running code.
* Maven automatically downloads the necessary files from the repository while building the project.

### RELATED ARTICLES

* [ Verify Element Present & waitFor Command in Selenium ](https://www.guru99.com/enhancing-selenium-ide-script.html "Verify Element Present & waitFor Command in Selenium")
* [ Selenium Framework: Data, Keyword & Hybrid Driven ](https://www.guru99.com/creating-keyword-hybrid-frameworks-with-selenium.html "Selenium Framework: Data, Keyword & Hybrid Driven")
* [ FindElement by XPath in Selenium ](https://www.guru99.com/find-element-selenium.html "FindElement by XPath in Selenium")
* [ How to Maximize Browser Window in Selenium ](https://www.guru99.com/maximize-resize-minimize-browser-selenium.html "How to Maximize Browser Window in Selenium")

## How to Install Maven and use it with TestNG Selenium

Here is steps to install Maven and use it with TestNG Selenium

For this tutorial, we will use Eclipse (Juno) IDE for[ Java ](https://www.guru99.com/java-tutorial.html)Developers to set up Selenium WebDriver Project. Additionally, we need add m2eclipse plugin to Eclipse to facilitate the build process and create pom.xml file.  
Let’s add m2eclipse plugin to Eclipse with following steps:

**Step 1)** In Eclipse IDE, select **Help** | **Install New Software** from Eclipse Main Menu.

**Step 2)** On the Install dialog, Enter the URL <https://www.eclipse.org/m2e/>. Select **Work with** and m2e plugin as shown in the following screenshot:

[](https://www.guru99.com/images/5-2015/050115%5F1023%5FMavenJenkin1.png)

**Step 3)** Click on **Next** button and finish installation.

**Configure Eclipse with Maven**

With m2e plugin is installed, we now need create Maven project.

**Step 1)** In Eclipse IDE, create a new project by selecting **File** | **New** | **Other** from Eclipse menu.

**Step 2)** On the **New** dialog, select **Maven** | **Maven Project** and click Next

[](https://www.guru99.com/images/5-2015/050115%5F1023%5FMavenJenkin2.png)

**Step 3)** On the **New Maven Project** dialog select the **Create a simple project** and click Next

[](https://www.guru99.com/images/5-2015/050115%5F1023%5FMavenJenkin3.jpg)

**Step 4)** Enter WebdriverTest in **Group Id**: and **Artifact Id**: and click finish

[](https://www.guru99.com/images/5-2015/050115%5F1023%5FMavenJenkin4.jpg)

**Step 5)** Eclipse will create **WebdriverTest** with following structure:

[](https://www.guru99.com/images/5-2015/050115%5F1023%5FMavenJenkin5.jpg)

**Step 6)** Right-click on **JRE System Library** and select the **Properties** option from the menu.

[](https://www.guru99.com/images/5-2015/050115%5F1023%5FMavenJenkin6.jpg)

On the **Properties for JRE System Library** dialog box, make sure **Workspace default JRE** is selected and click OK

[](https://www.guru99.com/images/5-2015/050115%5F1023%5FMavenJenkin7.jpg)

**Step 7)**. Select **pom.xml** from **Project Explorer**..

[](https://www.guru99.com/images/5-2015/050115%5F1023%5FMavenJenkin8.jpg)

pom.xml file will Open in Editor section

[](https://www.guru99.com/images/5-2015/050115%5F1023%5FMavenJenkin9.jpg)

**Step 8)** Add the Selenium, Maven, TestNG,[ Junit ](https://www.guru99.com/junit-tutorial.html)dependencies to pom.xml in the <project> node:

	<dependencies>			
        <dependency>				
             <groupId>junit</groupId>								
             <artifactId>junit</artifactId>								
             <version>3.8.1</version>								
             <scope>test</scope>								
        </dependency>				
        <dependency>				
            <groupId>org.seleniumhq.selenium</groupId>								
            <artifactId>selenium-java</artifactId>								
            <version>2.45.0</version>								
		</dependency>				
        <dependency>				
            <groupId>org.testng</groupId>								
            <artifactId>testng</artifactId>								
            <version>6.8.8</version>								
            <scope>test</scope>							  			
       </dependency>				
</dependencies>

**Step 9)** Create a New TestNG Class. Enter Package name as “example” and “NewTest” in the **Name**: textbox and click on the **Finish** button as shown in the following screenshot:

[](https://www.guru99.com/images/5-2015/050115%5F1023%5FMavenJenkin10.jpg)

**Step 10)**. Eclipse will create the NewTest class as shown in the following screenshot:

[](https://www.guru99.com/images/5-2015/050115%5F1023%5FMavenJenkin11.png)

**Step 11)** Add the following code to the **NewTest** class:

This code will verify the title of Guru99 Selenium Page

package example;		

import org.openqa.selenium.By;		
import org.openqa.selenium.WebDriver;		
import org.openqa.selenium.firefox.FirefoxDriver;		
import org.testng.Assert;		
import org.testng.annotations.Test;	
import org.testng.annotations.BeforeTest;	
import org.testng.annotations.AfterTest;		
public class NewTest {		
	    private WebDriver driver;		
		@Test				
		public void testEasy() {	
			driver.get("https://demo.guru99.com/test/guru99home/");  
			String title = driver.getTitle();				 
			Assert.assertTrue(title.contains("Demo Guru99 Page")); 		
		}	
		@BeforeTest
		public void beforeTest() {	
		    driver = new FirefoxDriver();  
		}		
		@AfterTest
		public void afterTest() {
			driver.quit();			
		}		
}	

**Step 12)** Right-click on the WebdriverTest and select **TestNG** | **Convert to TestNG**.  
Eclipse will create testng.xml which says that you need to run only one test with the name **NewTest** as shown in the following screenshot:

[](https://www.guru99.com/images/5-2015/050115%5F1023%5FMavenJenkin12.jpg)

Update the project and make sure that file appears in the tree **Package Explorer** (right click on the project – Refresh).

[](https://www.guru99.com/images/5-2015/050115%5F1023%5FMavenJenkin13.jpg)

**Step 13)** Now you need to run test through this **testng.xml.**

So, go to the **Run Configurations** and create a new launch **TestNG**, select the project and field **Suite** as **testng.xml** and click Run

[](https://www.guru99.com/images/5-2015/050115%5F1023%5FMavenJenkin14.jpg)

Make sure that build finished successfully.

**Step 14)**. Additionally, we need to add

1. maven-compiler-plugin
2. maven-surefire-plugin
3. testng.xml

to pom.xml**.** 

The maven-surefire-plugin is used to configure and execute tests. Here plugin is used to configure the testing.xml for TestNG test and generate test reports.

The maven-compiler-plugin is used to help in compiling the code and using the particular JDK version for compilation. Add all dependencies in the following code snippet, to pom.xml in the <plugin> node:

[](https://www.guru99.com/images/5-2015/050115%5F1023%5FMavenJenkin15.jpg)

**Step 15)** To run th**e** tests in the Maven lifecycle, Right-click on the WebdriverTest and select **Run As** | **Maven test**. Maven will execute test from the project.

[](https://www.guru99.com/images/5-2015/050115%5F1023%5FMavenJenkin16.jpg)

Make sure that build finished successfully.

## How to Integration of Jenkins with Selenium WebDriver

Here is steps to Install Jenkins and configure it to Run Maven with TestNg Selenium

**Installation** 

**Step 1)** Go to [http://jenkins-ci.org/](https://www.jenkins.io/download/) and download correct package for your OS. Install Jenkins.

[](https://www.guru99.com/images/jenkins-maven-download.png)

**Step 2)** Unzip Jenkins to specified folder. Run exe file as shown in following screenshot:

[](https://www.guru99.com/images/5-2015/050115%5F1023%5FMavenJenkin18.jpg)

**Step 3)** In **Jenkins 1.607 Setup** window click on **Next** button.

[](https://www.guru99.com/images/5-2015/050115%5F1023%5FMavenJenkin19.jpg)

**Step 4)** Click on **Install** button in the end.

[](https://www.guru99.com/images/5-2015/050115%5F1023%5FMavenJenkin20.jpg)

**Step 5)** Once installation is done, navigate to the Jenkins Dashboard (http://localhost:8080 by default) in the browser window.

[](https://www.guru99.com/images/5-2015/050115%5F1023%5FMavenJenkin21.jpg)

**Step 6)** Click on the **New Item** link to create a CI job.

[](https://www.guru99.com/images/5-2015/050115%5F1023%5FMavenJenkin22.jpg)

**Step 7)** Select the Maven project radio button as shown in the following screenshot:

[](https://www.guru99.com/images/5-2015/050115%5F1023%5FMavenJenkin23.jpg)

Using the Build a **Maven Project** option, Jenkins supports building and testing Maven projects.

**Step 8)** Click on OK button. A new job with name “WebdriverTest” is created in Jenkins Dashboard.

[](https://www.guru99.com/images/5-2015/050115%5F1023%5FMavenJenkin24.jpg)

**Step 9)** Go to **Manage Jenkins** \=> **Configure System** as shown in the following screenshot.

[](https://www.guru99.com/images/5-2015/050115%5F1023%5FMavenJenkin25.jpg)

Click on JDK installations and configure JDK as in the following screenshot:

[](https://www.guru99.com/images/5-2015/050115%5F1023%5FMavenJenkin26.jpg)

**Step 10)** Go to the **Build** section of new job.

* In the **Root POM** textbox, enter full path to pom.xml
* In Goals and options section, enter “clean test”

[](https://www.guru99.com/images/5-2015/050115%5F1023%5FMavenJenkin27.jpg)

**Step 11)** Click on **Apply** button.

[](https://www.guru99.com/images/5-2015/050115%5F1023%5FMavenJenkin28.jpg)

**Step 12)** On the WebdriverTest project page, click on the **Build Now** link.

[](https://www.guru99.com/images/5-2015/050115%5F1023%5FMavenJenkin29.jpg)

Maven will build the project. It will then have TestNG execute the test cases.

**Step 13)** Once the build process is completed, in Jenkins Dashboard click on the **WebdriverTest** project

[](https://www.guru99.com/images/5-2015/050115%5F1023%5FMavenJenkin30.jpg)

**Step 14)**  The WebdriverTest project page displays the build history and links to the results as shown in the following screenshot:

[](https://www.guru99.com/images/5-2015/050115%5F1023%5FMavenJenkin31.jpg)

**Step 15)** Click on the “Latest Test Result” link to view the test results as shown in the following screenshot:

[](https://www.guru99.com/images/5-2015/050115%5F1023%5FMavenJenkin32.jpg)

**Step 16)**. Select specific build, and you will see the current status by clicking on “**console output**“.

[](https://www.guru99.com/images/5-2015/050115%5F1023%5FMavenJenkin33.jpg)

## Scheduling Jenkins for automatic execution.

Scheduling builds(Selenium Tests) is one of the important features of Jenkins where it automatically triggers the build, based on defined criteria. Jenkins provides multiple ways to trigger the build process under the Build Trigger configuration.

For example:  
Enter 0 23 \* \* \* in the Schedule textbox as shown in the following screenshot. This will trigger the build process every day at 11 p.m.

[](https://www.guru99.com/images/5-2015/050115%5F1023%5FMavenJenkin34.jpg)

## Using Jenkings without Maven

To run pure TestNg script in Jenkins, enter the following in build

**D:>java -cp “Pathtolibfolder\\lib\\\*;Pathtobinfolder\\bin” org.testng.TestNG testng.xml**

[](https://www.guru99.com/images/5-2015/050115%5F1023%5FMavenJenkin35.png)

* Click on Save button.
* Note: The actual path of lib and bin folder need to add in above command.
* After saving the command, Jenkins will build project in predefined time, and this command will be run using TestNG.
* Result will be stored in custom report HTML file that can be sent via email with a Jenkin configuration
* Output of the code will be

[](https://www.guru99.com/images/5-2015/050115%5F1023%5FMavenJenkin36.png)

## Benefits of using Jenkins

1. Early issue finding – Bug can be detected in early phase of the software development
2. Automatic integration – no separate effort required to integrate all changes
3. Installer – a deployable system available at any point of development
4. Records – part build records maintained
5. Support and Plugins: One of the reasons for Jenkin’s popularity is the availability of large community support. Also, lots of ready-made plugins are available which help you expand its functionality.

#### Summarize this post with:

ChatGPT Perplexity Grok Google AI 

**Stay Updated on AI** **Get Weekly AI Skills, Trends, Actionable Advice.** 

##### Sign up for the newsletter

Subscribe for Free 

 You have successfully subscribed.  
Please check your inbox.

![AI-Newsletter]() Chosen by over **350,000+** professionals 

[Scroll to top ](#wrapper)Scroll to top 

× 

Toggle Menu Close 

Search for: 

Search 

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://www.guru99.com/#organization","name":"Guru99","sameAs":["https://www.facebook.com/Guru99Official","https://twitter.com/guru99com"],"logo":{"@type":"ImageObject","@id":"https://www.guru99.com/#logo","url":"https://www.guru99.com/images/guru99-logo-v1-150x59.png","contentUrl":"https://www.guru99.com/images/guru99-logo-v1-150x59.png","caption":"Guru99","inLanguage":"en-US"}},{"@type":"WebSite","@id":"https://www.guru99.com/#website","url":"https://www.guru99.com","name":"Guru99","publisher":{"@id":"https://www.guru99.com/#organization"},"inLanguage":"en-US"},{"@type":"ImageObject","@id":"https://www.guru99.com/images/maven-jenkins.png","url":"https://www.guru99.com/images/maven-jenkins.png","width":"394","height":"200","inLanguage":"en-US"},{"@type":"BreadcrumbList","@id":"https://www.guru99.com/maven-jenkins-with-selenium-complete-tutorial.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":"1","item":{"@id":"https://www.guru99.com","name":"Home"}},{"@type":"ListItem","position":"2","item":{"@id":"https://www.guru99.com/selenium","name":"Selenium"}},{"@type":"ListItem","position":"3","item":{"@id":"https://www.guru99.com/maven-jenkins-with-selenium-complete-tutorial.html","name":"Maven &amp; Jenkins Integration with Selenium Tutorial"}}]},{"@type":"WebPage","@id":"https://www.guru99.com/maven-jenkins-with-selenium-complete-tutorial.html#webpage","url":"https://www.guru99.com/maven-jenkins-with-selenium-complete-tutorial.html","name":"Maven &amp; Jenkins Integration with Selenium Tutorial","dateModified":"2025-04-24T13:06:08+05:30","isPartOf":{"@id":"https://www.guru99.com/#website"},"primaryImageOfPage":{"@id":"https://www.guru99.com/images/maven-jenkins.png"},"inLanguage":"en-US","breadcrumb":{"@id":"https://www.guru99.com/maven-jenkins-with-selenium-complete-tutorial.html#breadcrumb"}},{"@type":"Person","@id":"https://www.guru99.com/author/admin","name":"Krishna Rungta","url":"https://www.guru99.com/author/admin","image":{"@type":"ImageObject","@id":"https://www.guru99.com/images/krishna-rungta-v2-120x120.png","url":"https://www.guru99.com/images/krishna-rungta-v2-120x120.png","caption":"Krishna Rungta","inLanguage":"en-US"},"worksFor":{"@id":"https://www.guru99.com/#organization"}},{"articleSection":"Selenium","headline":"Maven &amp; Jenkins Integration with Selenium Tutorial","description":"What is Jenkins? Jenkins is the leading open-source continuous integration tool developed by Hudson lab. It is cross-platform and can be used on Windows, Linux, Mac OS and Solaris environments. Jenkin","keywords":"selenium","@type":"Article","author":{"@id":"https://www.guru99.com/author/admin","name":"Krishna Rungta"},"dateModified":"2025-04-24T13:06:08+05:30","image":{"@id":"https://www.guru99.com/images/maven-jenkins.png"},"name":"Maven &amp; Jenkins Integration with Selenium Tutorial","subjectOf":[{"@type":"HowTo","name":"How to Integrate Jenkins with Selenium","description":"Here is a step-by-step process on How to Integrate Jenkins with Selenium","step":[{"@type":"HowToStep","text":"Download correct package for your OS. Install Jenkins.","image":"https://www.guru99.com/images/5-2015/050115_1023_MavenJenkin17.jpg","name":"Step 1) Go to http://jenkins-ci.org/","url":"https://www.guru99.com/maven-jenkins-with-selenium-complete-tutorial.html#step1"},{"@type":"HowToStep","text":"Run exe file as shown in following screenshot:","image":"https://www.guru99.com/images/5-2015/050115_1023_MavenJenkin18.jpg","name":"Step 2) Unzip Jenkins to specified folder.","url":"https://www.guru99.com/maven-jenkins-with-selenium-complete-tutorial.html#step2"},{"@type":"HowToStep","text":"In Jenkins 1.607 Setup window click on Next button.","image":"https://www.guru99.com/images/5-2015/050115_1023_MavenJenkin19.jpg","name":"Step 3) click on Next button","url":"https://www.guru99.com/maven-jenkins-with-selenium-complete-tutorial.html#step3"},{"@type":"HowToStep","text":"Click on Install button in the end.","image":"https://www.guru99.com/images/5-2015/050115_1023_MavenJenkin20.jpg","name":"Step 4) Ready to install","url":"https://www.guru99.com/maven-jenkins-with-selenium-complete-tutorial.html#step4"},{"@type":"HowToStep","text":"Once installation is done, navigate to the Jenkins Dashboard (http://localhost:8080 by default) in the browser window.","image":"https://www.guru99.com/images/5-2015/050115_1023_MavenJenkin21.jpg","name":"Step 5) Navigate to the Jenkins Dashboard","url":"https://www.guru99.com/maven-jenkins-with-selenium-complete-tutorial.html#step5"},{"@type":"HowToStep","text":"Click on the New Item link to create a CI job.","image":"https://www.guru99.com/images/5-2015/050115_1023_MavenJenkin22.jpg","name":"Step 6) Create a CI job.","url":"https://www.guru99.com/maven-jenkins-with-selenium-complete-tutorial.html#step6"},{"@type":"HowToStep","text":"Select the Maven project radio button as shown in the following screenshot:","image":"https://www.guru99.com/images/5-2015/050115_1023_MavenJenkin23.jpg","name":"Step 7) Select the Maven project","url":"https://www.guru99.com/maven-jenkins-with-selenium-complete-tutorial.html#step7"},{"@type":"HowToStep","text":"New job with name 'WebdriverTest' is created in Jenkins Dashboard.","image":"https://www.guru99.com/images/5-2015/050115_1023_MavenJenkin24.jpg","name":"Step 8) Click on OK button","url":"https://www.guru99.com/maven-jenkins-with-selenium-complete-tutorial.html#step8"},{"@type":"HowToStep","text":"Go to Manage Jenkins =&gt; Configure System as shown in the following screenshot.","image":"https://www.guru99.com/images/5-2015/050115_1023_MavenJenkin25.jpg","name":"Step 9) Go to Manage Jenkins","url":"https://www.guru99.com/maven-jenkins-with-selenium-complete-tutorial.html#step9"},{"@type":"HowToStep","text":"Go to the Build section of new job.","image":"https://www.guru99.com/images/5-2015/050115_1023_MavenJenkin27.jpg","name":"Step 10) Open build section","url":"https://www.guru99.com/maven-jenkins-with-selenium-complete-tutorial.html#step10"},{"@type":"HowToStep","text":"Click on Apply button.","image":"https://www.guru99.com/images/5-2015/050115_1023_MavenJenkin28.jpg","name":"Step 11) Apply changes","url":"https://www.guru99.com/maven-jenkins-with-selenium-complete-tutorial.html#step11"},{"@type":"HowToStep","text":"On the WebdriverTest project page, click on the Build Now link.","image":"https://www.guru99.com/images/5-2015/050115_1023_MavenJenkin29.jpg","name":"Step 12) click on the Build Now link","url":"https://www.guru99.com/maven-jenkins-with-selenium-complete-tutorial.html#step12"},{"@type":"HowToStep","text":"Once the build process is completed, in Jenkins Dashboard click on the WebdriverTest project","image":"https://www.guru99.com/images/5-2015/050115_1023_MavenJenkin30.jpg","name":"Step 13) click on the WebdriverTest project","url":"https://www.guru99.com/maven-jenkins-with-selenium-complete-tutorial.html#step13"},{"@type":"HowToStep","text":"The WebdriverTest project page displays the build history and links to the results as shown in the following screenshot:","image":"https://www.guru99.com/images/5-2015/050115_1023_MavenJenkin31.jpg","name":"Step 14)  Check build history and links","url":"https://www.guru99.com/maven-jenkins-with-selenium-complete-tutorial.html#step14"},{"@type":"HowToStep","text":"Link to view the test results as shown in the following screenshot:","image":"https://www.guru99.com/images/5-2015/050115_1023_MavenJenkin32.jpg","name":"Step 15) Click on the 'Latest Test Result'","url":"https://www.guru99.com/maven-jenkins-with-selenium-complete-tutorial.html#step15"},{"@type":"HowToStep","text":"You will see the current status by clicking on 'console output'.","image":"https://www.guru99.com/maven-jenkins-with-selenium-complete-tutorial.html","name":"Step 16) Select specific build","url":"https://www.guru99.com/maven-jenkins-with-selenium-complete-tutorial.html#step16"}]}],"@id":"https://www.guru99.com/maven-jenkins-with-selenium-complete-tutorial.html#schema-273452","isPartOf":{"@id":"https://www.guru99.com/maven-jenkins-with-selenium-complete-tutorial.html#webpage"},"publisher":{"@id":"https://www.guru99.com/#organization"},"inLanguage":"en-US","mainEntityOfPage":{"@id":"https://www.guru99.com/maven-jenkins-with-selenium-complete-tutorial.html#webpage"}}]}
```
