Define a Link with a Squash TF Execution Server
From Squash TM, you can start the execution of automated tests on the Jenkins automation server via Squash TF.
The aim of the Squash TM-Squash TF link is to provide you with a simple way to manage Squash TF automated tests from Squash TM. For this, Squash TM sends a request to the Squash TF server to start the test, then Squash TF sends back the results to Squash TM.
Declare a Test Automation Server
You must declare a "Jenkins" automation server by following the procedure to Add a Test Automation Server to allow Squash TM to connect to Jenkins.
Once the server is saved, you must associate it with the Squash TM project from the Automation block of the project's configuration page.
Once the test automation server is associated with the project, you must select the Jenkins jobs that will be used for the execution of the automated tests.
Add a Source Code Server (Optional)
Squash TM enables you to create scripted test cases (Gherkin and BDD). These test cases can then be transmitted for automation in the .feature or .robot formats to a source code repository hosted by GitHub, GitLab, or Bitbucket.
You can access the management page of the source code management servers from the Administration workspace. It enables you to add a source code management server and to declare the repositories in question.
Once you have added the repository, you can associate it with a project containing scripted test cases to push into the repository.
To learn more on how to transmit scripted test cases, please visit this page Transmit a Scripted Test Case to a SCM.
Define Squash TM's Public URL
Squash TM's public URL must imperatively be entered in the System Parameters of the Administration Workspace for the execution results of the automated tests executed with Squash TM to be transmitted to Squash TM.
This URL prevails over the value of the property tm.test.automation.server.callbackurl that is in the file squash.tm.cfg.properties.
Create a User for the Test Automation Server
To executed automated tests with Squash TM, you must imperatively create a user belonging to the group "Test Automation Server" in Squash TM.
Configure Squash TF
Configure Security Parameters
For Squash to be able to send an order Squash TF to execute a job, a user with the execution rights must be created on the Squash TF server beforehand.
Configuring the security of the Squash TF server amounts to configuring the security of the embedded Jenkins server. To configure Jenkins's standard security, we recommend that you choose the best option according to your environment. For this, please read the Jenkins documentation.
Configure the TM callback
Once the Squash TF server has executed a test suite following a request of the Squash TM server, Squash TF sends back information on the execution to the Squash TM server. This feature works as follows:
- When Squash TM sends an execution request to the Squash TF server, it gives Squash TF its callback URL.
- Squash TF uses this callback URL to retrieve the login and password to use, and sends the execution event to Squash TM.
Squash TF associates the callback URL and the login/password pair thanks to a properties file. You can edit this file from the Configuration files menu of the Manage Jenkins workspace.
In the taLinkConf.properties file, for each Squash TM server using this Squash TF server, you have to define a callback URL and the login/password associated with the automated execution user created on Squash TM.
For a Squash TM server with http://myServeur:8080/squash as the callback URL and tfserver/tfserver as the login/password of the automated execution server user, you must define the following properties in the taLinkConf.properties:
Configure the Jenkins URL
From the Squash TF framework 1.8.0, when the framework sends execution information to Squash TM, it provides the URL of the HTML report. To make the URL of the HTML report, the JENKINS_URL variable is used. You must configure this variable in Jenkins from the Configure system menu of the Manage Jenkins workspace, in the "Jenkins URL" field.
When you first launch Jenkins, even if the "Jenkins URL" property contains the right value, you must click on Save or Apply. Otherwise, the JENKINS_URL variable will not be correctly configured.