Annotating Tests with Selenium's JavaScript Executor

You can use the TestingBot API to send various test information back to TestingBot: test-name, passed/failed state, build identifier and more.
We've added custom JavaScript executor commands which allow you to send back test meta-data to TestingBot, while your test is running.

Below are some examples on how to do this in various programming languages:

Ruby/Python Example


Java Example

((JavascriptExecutor)driver).executeScript("tb:test-name=My test");

Javascript Example

driver.executeScript('tb:test-info={"public":true,"name":"my test","build":"first-build"}')


Set a test name

tb:test-name=My Test Name

Sets the test-name for the currently running test. This name will be visible on TestingBot.

Break test


This will add a breakpoint to the test and pause it, so that you can investigate it manually.
When you go to the test result page on TestingBot, a live session will appear so that you can debug with mouse and keyboard.

Test Result

Possible values: passed, true, failed, false

This will set the test as passed ("passed" or true) or failed ("failed" or false) on TestingBot.

Test Build

tb:test-build=my build

Sets the test's build name.

Test Tags

comma-separated list of tags

Sets the test's tags.

Test Context

tb:test-context=my context

Logs the given context and prints it on the TestingBot test result page, in the Selenium command list.

Test Info

tb:test-info={'build':'my first build', 'name':'my new test', 'public':true}
JSON-formatted dictionary with optional keys: 'build', 'name', 'public', 'status_message', 'extra'

Pass in a JSON dictionary with various fields to update the test's meta-data on TestingBot.