Features

Status Badges

Status Badges help you keep track of the status of your latest test build.
You can simply embed markdown code or HTML code to your project website to show the status of your most recent test build.

Builds

In order to show a status badge, you need to make sure that you're running your tests in a group, called a build.

For example: you have a project that has a bunch of tests. After every commit you want to make sure the tests still pass.

The tests you want to run are groupped in a build.

To make sure your tests are grouped in the same build, use Selenium's Desired Capabilities.
Simple pass "build" : "build-1XXX" in your Desired Capabilities:

Copy code
DesiredCapabilities caps = new DesiredCapabilities();
caps.setCapability("platform", "WIN7");
caps.setCapability("browserName", "Chrome");
caps.setCapability("build", "build-1XXX"); // for example

In our member area you will then see a new build, build-1XXX, which will contain all the tests that ran with the same build identifier.

Marking a build as passed/failed

To mark a build as passed or failed, your test runner should be configured to send the success state of each test to TestingBot via the TestingBot API.

  • If for every test in the build we know that the test succeeded, then we'll automatically mark the build as Passing.
  • If a test failed, the build will automatically be marked as Failed.
  • If you don't send us the success state for every test in the build, then we can not know the success state of the build. In this case we show an Unknown state.

Status Badge

With our Status Badges, you can easily monitor the status of your most recent build.

The auth parameter is generated by concatenating your api key and api secret with md5.

Below are the different states that your badge can have:

Badge Status
TestingBotTestingBotpassingpassing Passing
TestingBotTestingBotfailedfailed Failure
TestingBotTestingBotunknownunknown Unknown

We don't know if this build passed or failed.
Please use our REST-API to send the success state of your individual tests to TestingBot.

TestingBotTestingBoterrorerror Error

The link to the badge might be invalid, or you might not have any builds yet.

Markdown:
Copy code
[![TestingBot Test Status](https://testingbot.com/buildstatus/YOUR_TESTINGBOT_KEY?auth={authentication})](https://testingbot.com/builds/YOUR_TESTINGBOT_KEY?auth={authentication})
HTML:
Copy code
<a href="https://testingbot.com/builds/YOUR_TESTINGBOT_KEY?auth={authentication}">
  <img src="https://testingbot.com/buildstatus/YOUR_TESTINGBOT_KEY?auth={authentication}" alt="TestingBot Build Status"/>
</a>
Copy code
Digest::MD5.hexdigest("#{client_key}:#{client_secret}")
Copy code
MessageDigest m=MessageDigest.getInstance("MD5");
String s = "TESTINGBOT_KEY:TESTINGBOT_SECRET";
m.update(s.getBytes(),0,s.length());
System.out.println("MD5: "+new BigInteger(1,m.digest()).toString(16));
Copy code
echo md5("TESTINGBOT_KEY:TESTINGBOT_SECRET");
Copy code
import hashlib
print(hashlib.md5("TESTINGBOT_KEY:TESTINGBOT_SECRET".encode('utf-8')).hexdigest())
Copy code
var crypto = require('crypto');
crypto.createHash('md5').update("TESTINGBOT_KEY:TESTINGBOT_SECRET").digest("hex");
Copy code
Convert.ToBase64String(new System.Security.Cryptography.MD5CryptoServiceProvider().ComputeHash(System.Text.Encoding.UTF8.GetBytes("TESTINGBOT_KEY:TESTINGBOT_SECRET")));

Private Accounts

To display badges, or link to builds, you need to generate an authentication token.

To generate the authentication token, you must concatenate your TestingBot key, TestingBot secret and optionally an identifier. Finally, take the MD5 hash of the concatenated string:

Copy code
Digest::MD5.hexdigest("#{client_key}:#{client_secret}")
Copy code
MessageDigest m=MessageDigest.getInstance("MD5");
String s = "TESTINGBOT_KEY:TESTINGBOT_SECRET";
m.update(s.getBytes(),0,s.length());
System.out.println("MD5: "+new BigInteger(1,m.digest()).toString(16));
Copy code
echo md5("TESTINGBOT_KEY:TESTINGBOT_SECRET");
Copy code
import hashlib
print(hashlib.md5("TESTINGBOT_KEY:TESTINGBOT_SECRET".encode('utf-8')).hexdigest())
Copy code
var crypto = require('crypto');
crypto.createHash('md5').update("TESTINGBOT_KEY:TESTINGBOT_SECRET").digest("hex");

Open Source Accounts

Open Source accounts automatically have their tests and builds set to public. This means no authentication (auth parameter) is required to display badges or link to tests/builds.

More

  • If you like to show status-badges of multiple projects, please consider creating a new user account per project.
  • We're also providing browser-matrix images, displaying for which browsers your build passed/failed.