Sharing Tests

Below are various ways to share, embed or link to a test or build on TestingBot.

To share, view or link to a test, it is important to know its sessionId.
With Selenium, when a client starts a new browser session, the Selenium server will return a sessionId.
This sesssionId is a unique identifier and changes per test. It is stored as a member variable of the instantiated Selenium object. Most of the time it is named 'sessionId' or 'session_id', depending on the Selenium client you are using.

Link to a Test

You can easily share a single test result with someone in a safe way, without the other person needing an account.


To share a test result, you'll need to create the following url:
https://testingbot.com/tests/sessionId?auth=authentication-hash


The authentication hash is created with MD5 in the following format:

Digest::MD5.hexdigest("#{client_key}:#{client_secret}:#{session_id}")
MessageDigest m=MessageDigest.getInstance("MD5");
String s = "TESTINGBOT_KEY:TESTINGBOT_SECRET:session_id";
m.update(s.getBytes(),0,s.length());
System.out.println("MD5: "+new BigInteger(1,m.digest()).toString(16));
echo md5("TESTINGBOT_KEY:TESTINGBOT_SECRET:$session_id");
import hashlib
print(hashlib.md5("TESTINGBOT_KEY:TESTINGBOT_SECRET:#{session_id}".encode('utf-8')).hexdigest())
var crypto = require('crypto');
crypto.createHash('md5').update("TESTINGBOT_KEY:TESTINGBOT_SECRET:sessionId").digest("hex");
Convert.ToBase64String(new System.Security.Cryptography.MD5CryptoServiceProvider().ComputeHash(System.Text.Encoding.UTF8.GetBytes("TESTINGBOT_KEY:TESTINGBOT_SECRET:sessionId")));

An example link would then be
https://testingbot.com/tests/9jf392fj3j2f3ojid8?auth=230i439uf3fojf

Link to a Build

With TestingBot, it is possible to group several tests under one build identifier.
In our member area, you can then see all the tests grouped by builds.


To link to a build overview, please see this example:
https://testingbot.com/builds/YOUR_TESTINGBOT_KEY?auth=authentication-hash


To generate the authentication-hash, you must concatenate user key and user secret, then generate the MD5 hash:

Digest::MD5.hexdigest("#{client_key}:#{client_secret}")
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));
echo md5("TESTINGBOT_KEY:TESTINGBOT_SECRET");
import hashlib
print(hashlib.md5("TESTINGBOT_KEY:TESTINGBOT_SECRET".encode('utf-8')).hexdigest())
var crypto = require('crypto');
crypto.createHash('md5').update("TESTINGBOT_KEY:TESTINGBOT_SECRET").digest("hex");
Convert.ToBase64String(new System.Security.Cryptography.MD5CryptoServiceProvider().ComputeHash(System.Text.Encoding.UTF8.GetBytes("TESTINGBOT_KEY:TESTINGBOT_SECRET")));

To link directly to a build, please see this example:
https://testingbot.com/builds/YOUR_TESTINGBOT_KEY/build-identifier?auth=authentication-hash


To generate the authentication-hash, you must concatenate user key, user secret and build-identifier, then generate the MD5 hash:

Digest::MD5.hexdigest("#{client_key}:#{client_secret}:#{build_identifier}")
MessageDigest m=MessageDigest.getInstance("MD5");
String s = "TESTINGBOT_KEY:TESTINGBOT_SECRET:build_identifier";
m.update(s.getBytes(),0,s.length());
System.out.println("MD5: "+new BigInteger(1,m.digest()).toString(16));
echo md5("TESTINGBOT_KEY:TESTINGBOT_SECRET:$build_identifier");
import hashlib
print(hashlib.md5("TESTINGBOT_KEY:TESTINGBOT_SECRET:#{build_identifier}".encode('utf-8')).hexdigest())
var crypto = require('crypto');
crypto.createHash('md5').update("TESTINGBOT_KEY:TESTINGBOT_SECRET:build_identifier").digest("hex");
Convert.ToBase64String(new System.Security.Cryptography.MD5CryptoServiceProvider().ComputeHash(System.Text.Encoding.UTF8.GetBytes("TESTINGBOT_KEY:TESTINGBOT_SECRET:build_identifier")));

The build-identifier is the custom string you can send as an option to group several tests.

Embed Test Info

You can embed a test page in any CI detail page, test report or custom website. Please see the example below.
You add a SCRIPT tag in your page which links to the test. Replace sessionId with the correct sessionId of the test.


<script src="https://testingbot.com/job-embed/sessionId.js?auth=AUTH-TOKEN"></script>

To generate the authentication-token, you must concatenate user key, user secret and sessionId, then generate the MD5 hash:
Digest::MD5.hexdigest("#{client_key}:#{client_secret}:#{sessionId}")
MessageDigest m=MessageDigest.getInstance("MD5");
String s = "TESTINGBOT_KEY:TESTINGBOT_SECRET:sessionId";
m.update(s.getBytes(),0,s.length());
System.out.println("MD5: "+new BigInteger(1,m.digest()).toString(16));
echo md5("TESTINGBOT_KEY:TESTINGBOT_SECRET:$sessionId");
import hashlib
print(hashlib.md5("TESTINGBOT_KEY:TESTINGBOT_SECRET:#{sessionId}".encode('utf-8')).hexdigest())
var crypto = require('crypto');
crypto.createHash('md5').update("TESTINGBOT_KEY:TESTINGBOT_SECRET:sessionId").digest("hex");
Convert.ToBase64String(new System.Security.Cryptography.MD5CryptoServiceProvider().ComputeHash(System.Text.Encoding.UTF8.GetBytes("TESTINGBOT_KEY:TESTINGBOT_SECRET:sessionId")));

Embed Video Info

Next to embedding test info pages, you can also embed the video of the test.
This might be useful to include in test reports or on CI result pages.


<script src="https://testingbot.com/video-embed/sessionId.js?auth=AUTH-TOKEN"></script>

To generate the authentication-token, you must concatenate user key, user secret and sessionId, then generate the MD5 hash:
Digest::MD5.hexdigest("#{client_key}:#{client_secret}:#{sessionId}")
MessageDigest m=MessageDigest.getInstance("MD5");
String s = "TESTINGBOT_KEY:TESTINGBOT_SECRET:sessionId";
m.update(s.getBytes(),0,s.length());
System.out.println("MD5: "+new BigInteger(1,m.digest()).toString(16));
echo md5("TESTINGBOT_KEY:TESTINGBOT_SECRET:$sessionId");
import hashlib
print(hashlib.md5("TESTINGBOT_KEY:TESTINGBOT_SECRET:#{sessionId}".encode('utf-8')).hexdigest())
var crypto = require('crypto');
crypto.createHash('md5').update("TESTINGBOT_KEY:TESTINGBOT_SECRET:sessionId").digest("hex");
Convert.ToBase64String(new System.Security.Cryptography.MD5CryptoServiceProvider().ComputeHash(System.Text.Encoding.UTF8.GetBytes("TESTINGBOT_KEY:TESTINGBOT_SECRET:sessionId")));