TeamCity Automated Testing

TeamCity is a Java-based build management/CI system created by Jetbrains.

TeamCity Plugin

We've created a plugin which offers integration with our TestingBot.com services.

Below is a list of features this plugin offers:

  • Add a tab where we show the lists of tests for the current build. The overview shows a list of tests with their passed/failed state, together with the browser they ran on.
  • View logs (Selenium, Chrome, Firefox, Safari logs) and a recorded video together with screenshots of every test, straight from inside TeamCity.
  • Option to start/stop a TestingBot Tunnel automatically before and after every build run.
  • Predefined environment variables with your TestingBot key and secret.

1. Install the Plugin

Go to Server Administration and click Plugins List

TeamCity integration

2. Upload Plugin

Click on upload plugin zip and upload our TestingBot plugin.

Or download the plugin from the TeamCity plugin page.

TeamCity integration

3. Restart TeamCity

Restart TeamCity to see the TestingBot plugin in the plugin list.

Configuring a Project

Now that the plugin is installed, we can use the TestingBot plugin in a TeamCity project.

  1. Click on Build Features
  2. Click Add build feature and select TestingBot from the list.
TeamCity integration

3. Credentials

Add your TestingBot Key and Secret, which you can obtain from the member dashboard.

TeamCity integration

4. Test Overview in TestingBot Tab

You can now see an overview of your Selenium tests in the TestingBot tab.

TeamCity integration

5. Test Details

Click a test to see a video recording, screenshots and logs for the test.

TeamCity integration

6. Configuring Tests

The plugin will automatically set the following Environment Variables, which you can use in your tests:

  • TB_KEY : Your TestingBot key, available in our member area.
  • TB_SECRET : Your TestingBot secret, available in our member area.

It is important to output TestingBotSessionID={webdriver-session-id} for every test to stdout.
The plugin will parse the output looking for these ids. An example on how to do this with Java:

System.out.println("TestingBotSessionID=" + (((RemoteWebDriver) driver).getSessionId()).toString());