In this post, we will finalize everything by running our tests in Jenkins. We will cover Jenkins & GitHub Integration with the Selenium Python tests as well as generate a JUnit report at the end to see the results in Jenkins.
Pre-requisite
Make sure you have Jenkins installed in your local machine so that you can follow along with the rest of the steps. You can watch the Jenkins Installation video below that I made for the WebdriverIO tutorial series to see how to do that –
Push changes to GitHub
Once you have Jenkins installed, the next thing you will need to do is push all the code changes to your GitHub repository. But, before that, make sure to create a requirements.txt
file to store all your packages details –
pip freeze > requirements.txt
This will create a new file listing all the packages that you were using in the virtual environment.
Now, you can push all the changes to GitHub.
Jenkins Integration
To make Jenkins work with the Python environment, you will need to install the ShiningPanda plugin. Then, create a new job in Jenkins, and in the build step select Custom Python Builder
and add the following steps –
python -m venv env call ./env/Scripts/activate.bat pip install -r requirements.txt pip install seleniumbase sbase install chromedriver latest pytest --junit-xml=report.xml --headless
The above script will create a virtual environment and install all the necessary packages for you. Once packages are installed we are triggering our tests using the pytest
command.
Check out the video below to learn more about how to integrate your Selenium Python tests with Jenkins & GitHub –
To learn more about Selenium Python, check out the full tutorial series here for free!
I hope this post helped you out, let me know if you have any questions in the comments below!
Happy testing!