Jenkins for Test Automation

Jenkins is a continuous integration tool and used widely by both the development and testing teams. It comes without any licensing cost and is supported on multiple operating systems.

In the test automation world, we run test suites with a large number of test cases, collect results on execution, prepare a dashboard and pinpoint details on failures. All these are supported in Jenkins. Let us see some of the advantages of Jenkins −

  • Jenkins has plugins with which it can be integrated with tests developed in Selenium, Cucumber, TestNG, and so on to execute automated tests for the builds.

  • Tests in a test suite can be scheduled in a job and executed automatically in Jenkins.

  • Test results can be obtained in HTML format with the help of the Jenkins plugins. Besides, the results can be represented in the form of graphs/tables, highlighting the failures, duration of tests, total number of tests, and so on.

  • Jenkins prepares a trend on the results on the tests executed in the past.

  • Jenkins carries out the continuous integration processes smoothly, thereby saving the test time.

The details on how to configure automated tests in Jenkins are described in details in the below link −

To add a Jenkins plugin, click on the Manage Jenkins link available in the sidebar of the Jenkins application.

Then click on Manage Plugins.

We shall be navigated to the Plugins Manager page where we shall get the list of available Jenkins plugins.

Once we get our required plugin, we have the option either to install without restart(plugin gets installed but can be used only after Jenkins restart) or download now and install after restart(package plugin gets downloaded but can be installed only after Jenkins restart).

Drawbacks of using Jenkins in Test Automation −

  • Jenkins is open-source and has a large number of contributors. This has resulted in creation of multiple plugins for a single integration task. The users often get confused on which plugin to be used to carry out his task.

  • Most of the plugins do not have enough documentation to help the users.

  • The plugins available in Jenkins do not allow much change or variation to make them more personalised.

  • It requires some amount of time to have a grip in Jenkins, since there are a large number of features and configurations to be explored.

  • Docker integration with Jenkins needs to be improved.