QA tester, automation specialist, automation systems engineer — these are just a few of the names for a test automation engineer. No matter what their title may be, they're essential to the software development life cycle, so here's a look at what they do. Markets and...
Jenkins is an automation server for continuous integration in software development.
It’s available for free under an open-source license at www.jenkins.io. For information on how to set up Jenkins, please follow the official Jenkins documentation.
In this chapter, you’ll find out how to integrate your Ranorex Studio tests as a build step in Jenkins.
On this introduction page, we explain the basic structure of this integration and which tools you need to set it up. The other pages of this chapter then show the required steps in detail.
Integrations are always based on making different systems work with each other. The following diagram illustrates a typical structure of Ranorex Studio tests integrated in Jenkins.
While typical, this structure is only an example. You can also use other version control and repository providers that are compatible with Jenkins.
The Ranorex Studio solution is under version control with Git and stored and managed in a repository on GitHub
The Jenkins server connects to the GitHub repository through a plugin and in this way has access to the Ranorex Studio solution
In Jenkins, the build process is set up as a project. It contains all the required build and post-build steps and their configurations. Some of the steps are implemented through Jenkins plugins
Once the build process is started, Jenkins carries out the build steps, which means it builds and executes the Ranorex Studio solution, thereby running the test
To set up the process illustrated above, you need the following software.
For creating and maintaining tests, you will need a full installation of Ranorex Studio and a Premium license. For only running a test on a machine with a Jenkins server, you will need a Runtime license.
You need a Jenkins server set up and running. For more information about downloading and setting up Jenkins, please refer to the official Jenkins documentation at www.jenkins.io.
Considering that Jenkins or the nodes executing the CI jobs do not have sufficient rights to start UI-applications, they initialize as a windows service. Ensure Jenkins is disabled as a service on the master or on the slave nodes where Ranorex automation is triggered.
To disable the Jenkins service, open the Services tool, right-click the Jenkins service, select Properties, and set the Startup type to Disabled, as shown below:
Use the following command to start Jenkins manually from the installation folder:
java -jar jenkins.war
After starting Jenkins, use this address to access the web interface: http://localhost:8080/
Git (version control)
The Ranorex Studio solution(s) you want to integrate as a Jenkins build step must be under version control. For the example process described in this chapter, we use Git. It is free under the GNU GPL and you can get it from https://git-scm.com/. You can also use other version control providers that are compatible with Jenkins.
Putting your Ranorex Studio solution under version control with Git is explained in
Interfaces and connectivity > Source control & revision control > ⇢ Git
GitHub (repository provider)
Typically, a free GitHub repository is used to store the files under Git version control online. This is optional, but in the explanations in this chapter, we use GitHub. You can create a GitHub repository for free on www.github.com.
Microsoft Visual Studio
Jenkins builds integrated Ranorex Studio solutions with a Microsoft Visual Studio compiler. You therefore need to have Microsoft Visual Studio installed. The free version is enough to use the integration, but depending on your requirements, you may need to upgrade to a paid version.
Go to https://visualstudio.microsoft.com/ for more information about different versions.