9.5. JetBrains TeamCity integration

Table of Contents

9.5.1. Introduction
9.5.2. Installation
9.5.3. Build Step definition
9.5.4. Build execution

9.5.1. Introduction

JetBrains TeamCity is a continuous integration server that can build, test and release software. Squish Runner plugin provides a seamless Squish integration with TeamCity. It allows adding one or multiple Squish Runner build steps to a Build Configuration, and executing Squish GUI tests on designated local or remote agents. After execution is done, the build is set as success if all tests are pass, otherwise the build is set to failed. Additionally artifacts for Squish tests are stored to allow efficient defect troubleshooting.

9.5.2. Installation

The plugin is available from: download.froglogic.com/resources/squish-teamcity-latest.zip.

To install the Squish Runner plugin shut down TeamCity server and copy the zip archive with the plugin to TeamCity Data Directory/plugins directory. Finally start the TeamCity server: the plugin files will be unpacked and processed automatically.

To check where TeamCity Data Directory is located go to Administration, next Global Settings page.

To verify that plugin is installed go to Administration and choose Plugins List. Squish Runner plugin shall be listed in External Plugins list.

9.5.3. Build Step definition

During build Configuration Steps definition go to Build Step option. Next press Add build step button. Next from Runner type drop down list choose Squish Runner. In one build configuration we can add multiple Squish Runner build steps.

Build Step Configuration

Next configure the build step executed by the plugin. In Squish installation section, in Installation root field specify the path to Squish directory. User can enter manually the path or use previously defined value from Build Parameters.

In Tests section we need to define Test Cases for execution by Squish. The mandatory setting is Test suite, where test suite name with full path need to be defined. If we only define Test suite and leave Test cases field empty then all test cases from given test suite will be executed. If we would like only defined test cases from test suite to be executed, we need to define them in Test cases field. Single or multiple values (separated by comma) are accepted.

In Settings section we can define additional parameters for executing GUI automated tests. In Host field we can define host where squishserver is running. If not defined default value localhost is used. In Port field we can define port number where squishserver is listening. If not defined default port number 4322 is used. The Environment variables field can hold environment variables (for both squishrunner and squishserver). We can add multiple environment variables separated by a space. If Start/stop squishserver checkbox is marked, then squishserver is started on the host where the agent is running and is listening on the port configured in the build step. When the execution of tests is done, squishserver is stopped. Starting and stopping squishserver is not supported on agents running on Windows platform.

9.5.4. Build execution

Squish Runner tests are executed as a part of a whole build. If any of test cases fails due to an FAIL or ERROR then a build is marked as failed. In Build log user can check which Squish Runner step is causing the whole build failure. All reports are stored in Artifacts tab, including Results XML files, HTML Reports and screenshots taken by Squish in case of FAIL or ERROR.