Tuesday, June 24, 2025

thumbnail

Integrating Selenium with Maven and Jenkins for CI/CD

 ๐Ÿš€ Integrating Selenium with Maven and Jenkins for CI/CD

If you're building automated browser tests with Selenium, you can use Maven to manage your test project and Jenkins to run tests automatically in your CI/CD pipeline.


๐Ÿงฑ Step 1: Set Up a Selenium Project with Maven

✅ 1. Create a Maven Project

You can create it from an IDE like IntelliJ or from the terminal:


bash

Copy

Edit

mvn archetype:generate -DgroupId=com.example -DartifactId=selenium-tests -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

✅ 2. Add Selenium Dependencies to pom.xml

xml

Copy

Edit

<dependencies>

  <dependency>

    <groupId>org.seleniumhq.selenium</groupId>

    <artifactId>selenium-java</artifactId>

    <version>4.21.0</version>

  </dependency>

  <dependency>

    <groupId>junit</groupId>

    <artifactId>junit</artifactId>

    <version>4.13.2</version>

    <scope>test</scope>

  </dependency>

</dependencies>

๐Ÿงช Step 2: Write a Simple Selenium Test

✅ Example LoginTest.java:

java

Copy

Edit

import org.junit.After;

import org.junit.Before;

import org.junit.Test;

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.chrome.ChromeDriver;


public class LoginTest {

    WebDriver driver;


    @Before

    public void setUp() {

        System.setProperty("webdriver.chrome.driver", "path/to/chromedriver");

        driver = new ChromeDriver();

    }


    @Test

    public void testTitle() {

        driver.get("https://example.com");

        assert driver.getTitle().contains("Example");

    }


    @After

    public void tearDown() {

        driver.quit();

    }

}

⚙️ Step 3: Run Tests with Maven

You can run your tests locally with:


bash

Copy

Edit

mvn test

๐Ÿงช Step 4: Set Up Jenkins for CI/CD

✅ 1. Install Jenkins

You can download and install Jenkins from: https://jenkins.io/download


Or run it with Docker:


bash

Copy

Edit

docker run -p 8080:8080 jenkins/jenkins:lts

✅ 2. Install Required Plugins

Maven Integration


Git Plugin


JUnit Plugin (optional for test reporting)


๐Ÿ” Step 5: Create a Jenkins Job

Go to Jenkins Dashboard → New Item


Choose Freestyle Project


Give it a name (e.g., Selenium-Maven-Test)


Under Source Code Management, select Git


Add your Git repository URL


Under Build Triggers, select:


Poll SCM or GitHub webhook for automation


Under Build section:


Add a build step → Invoke top-level Maven targets


Goal: clean test


๐Ÿ“Š Step 6: View Results

After running the job, Jenkins will:


Clone the project


Install dependencies using Maven


Run your Selenium tests


Show pass/fail results in the console output


✅ Optional: Add Test Reports to Jenkins

To visualize test results:


In your pom.xml, add the Surefire plugin:


xml

Copy

Edit

<build>

  <plugins>

    <plugin>

      <groupId>org.apache.maven.plugins</groupId>

      <artifactId>maven-surefire-plugin</artifactId>

      <version>3.2.5</version>

    </plugin>

  </plugins>

</build>

In Jenkins:


Add Post-build Action → Publish JUnit test result report


Set path as: **/target/surefire-reports/*.xml


๐Ÿ“Œ Summary

Tool Role

Selenium Automates browser tests

Maven Manages dependencies and builds

Jenkins Automates testing in CI/CD pipelines


๐Ÿง  Final Tips

Use Headless browsers (like Chrome headless) in CI to run without a GUI.


Add screenshot capture on test failure.


Integrate with email or Slack for alerting failed builds.

Learn Selenium JAVA Training in Hyderabad

Read More

Creating a Selenium Framework from Scratch Using Java and TestNG

How to Take Screenshots in Selenium Automatically on Failure

Cross-Browser Testing with Selenium WebDriver

Implicit vs Explicit Waits in Selenium – What’s the Difference?

Visit Our Quality Thought Training in Hyderabad

Get Directions

Subscribe by Email

Follow Updates Articles from This Blog via Email

No Comments

About

Search This Blog

Powered by Blogger.

Blog Archive