How to setup a Jenkins slave to run Squish tests

Skip to end of metadata
Go to start of metadata

The following steps describe how to setup a Jenkins slave to run a Squish test:

Step Description Example
1 First of all Squish needs to be installed on the slave machine as described at How to Install Squish. Squish installed at C:\Squish
2 Setup a node inside Jenkins at Manage Jenkins|Manage Nodes|New Node. For Windows slaves please make sure to not start the slave as Windows Service at Launch method. Windows Services are intended to run command line applications but not to run applications which consist of a GUI. Starting the Jenkins slave as JNLP via Launch slave agents via Java Web Start works fine. Node name is windows_qt47
3 Read the article Automation on Windows without a screen to make sure you don't run into the pitfalls listed there.  
4 To configure where the Squish Jenkins Plugin can find a Squish installation open Manage Jenkins|Configure System|Squish|Advanced configuration. Each line of the text area consists of a simple key value mapping. To configure a Squish installation located at C:\Squish choose an arbitrary name / key like squishOnWindowsForQt47 and append the /squishPath tag to assign the absolute path. For convenience you can use the node name too of course. slaveWinQt47/squishPath=C:\Squish
5 Finally use the Config option inside the Squish build step to enter the name / key used inside the advanced configuration. This way the Squish Jenkins Plugin knows where to find the Squish installation on the slave. windows_qt47

While executing the Jenkins job the squishrunner as well as the squishserver will be executed on the Jenkins slave. The test suite configured inside the Test Suite option of the Squish build step refers to the Jenkins slave file system not to the Jenkins master node file system.

The Squish Jenkins Plugin supports using the Jenkins environment variables listed at Jenkins Set Environment Variables. A common approach is to checkout the test suite from a version control system into the job's workspace directory and to use the WORKSPACE Jenkins environment variable e.g. ${WORKSPACE}/suite_book.

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.