Introduction:
Want to accelerate your testing process and get faster feedback after every code change?
Selenium + Jenkins is your ultimate duo for achieving end-to-end test automation in a CI/CD pipeline.
This beginner-friendly guide will walk you through:
- Why Selenium and Jenkins are used together
- How to configure both for test automation
- Real-world use cases and practical examples
- Tips to maximize your ROI in automation
By the end, you’ll be ready to create a robust automation pipeline that ensures quality at speed.
What Is Selenium?
Selenium is an open-source framework used for automated testing of web applications. It allows you to simulate real user actions (clicks, inputs, form submissions) across browsers like Chrome, Firefox, and Edge.
Key Benefits:
- Cross-browser support
- Multiple language bindings (Java, Python, C#, etc.)
- Community-backed with rich integrations
What Is Jenkins?
Jenkins is a widely-used open-source automation server that enables continuous integration and continuous delivery (CI/CD).
It helps:
- Trigger test automation on every code commit
- Integrate with source control (GitHub, Bitbucket)
- Schedule test execution
- Generate and publish reports
Setting Up Selenium + Jenkins: Step-by-Step
Prepare Your Selenium Project
If you’re using Java + Maven:
- Add dependencies in pom.xml:
xml
Copy code
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>4.19.1</version>
</dependency>
- Include TestNG or JUnit for test management.
Install Jenkins
Download and install from jenkins.io.
Access Jenkins on http://localhost:8080.
Install the following plugins:
- Git Plugin
- Maven Integration Plugin
- TestNG Results Plugin
- HTML Publisher Plugin
Create a Jenkins Job
Choose “Freestyle Project” or use a Pipeline Job.
Basic Freestyle Example:
- Source Code Management -Git repository URL
- Build – mvn clean test
- Post-build Actions – Publish HTML/TestNG reports
Jenkinsfile Pipeline Example
If you prefer using a pipeline as code:
groovy
Copy code
pipeline {
agent any
stages {
stage(‘Checkout’) {
steps {
git ‘https://github.com/your-repo’
}
}
stage(‘Test’) {
steps {
sh ‘mvn clean test’
}
}
stage(‘Publish Report’) {
steps {
publishHTML(target: [
reportDir: ‘test-output’,
reportFiles: ‘index.html’,
reportName: ‘TestNG HTML Report’
])
}
}
}
}
Why Use Selenium + Jenkins?
| Feature | Benefit |
| Continuous Execution | Auto-run tests after each commit |
| Faster Feedback | Detect bugs earlier in the SDLC |
| Detailed Reports | Visual logs and results with each Jenkins job |
| Scalable Framework | Easily add more tests and integrate tools |
| Team Collaboration | Everyone can see real-time test status |
Pro Tips
- Run tests in headless mode on CI servers
- Use tags/groups in TestNG to selectively execute tests
- Integrate with Slack or Email for alerts
- Use parallel execution to save time (TestNG + Selenium Grid)
- Schedule nightly test runs using Jenkins Cron
Ready to Learn More?
The best investment you can make is in yourself. Explore our Free Selenium & Jenkins Course for Beginners
Let today be the day you take control of your automation journey.
YOU MAY BE INTERESTED IN
The Art of Software Testing: Beyond the Basics
Automation testing course in Pune

