In order to integrate your tests with TeamCity, first you need to have node.js (version >= 6.0.0) installed on the TeamCity machine or one of its slave machines.

Now, just follow these steps:

  1. Create a New Build Step in your project:

2. Choose "Command Line" runner type:

3. Set the Custom Script with the appropriate parameters, as described in the CLI page. Here is the basic script template, containing the first part that makes sure you have the latest npm package, and the CLI command itself:

Shell

set -x
mkdir -p "%system.teamcity.build.workingDir%/.npm-packages"
prefix=%system.teamcity.build.workingDir%/.npm-packages
NPM_PACKAGES="%system.teamcity.build.workingDir%/.npm-packages"
export PATH="$PATH:$NPM_PACKAGES/bin"
export NODE_PATH="$NODE_PATH:$NPM_PACKAGES/lib/node_modules"
npm config set prefix %system.teamcity.build.workingDir%/.npm-packages
npm install -g @testim/testim-cli
set +x
%system.teamcity.build.workingDir%/.npm-packages/bin/testim \
 --label "<YOUR LABEL>" \
 --token "<YOUR ACCESS TOKEN>" \
 --project "<YOUR PROJECT ID>" \
 --host "<SELENIUM GRID HOST, e.g. 127.0.0.1>" \
 --port 4444 \
 --reporters teamcity,console

In order for TeamCity to store, analyze and show the results, Testim generates a unique TeamCity report format which is automatically recognized:

Note that you can also see its progress test-by-test as they are executed!

Did this answer your question?