---
title: Annotating Tests with Selenium's JavaScript Executor
description: Use Javascript to pass meta-data to TestingBot with Selenium's JavaScript
  Executor.
source_url:
  html: https://testingbot.com/support/web-automate/selenium/annotating-tests
  md: https://testingbot.com/support/web-automate/selenium/annotating-tests/index.md
---
# Updating Tests with Selenium

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](https://www.selenium.dev/selenium/docs/api/java/org/openqa/selenium/JavascriptExecutor.html) 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:

[Java](https://testingbot.com#)[Python](https://testingbot.com#)[NodeJS](https://testingbot.com#)[Ruby](https://testingbot.com#)[PHP](https://testingbot.com#)[C#](https://testingbot.com#)

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

    driver.execute_script('tb:test-name=My test')
    driver.execute_script('tb:test-result=passed')

    await driver.executeScript('tb:test-name=My test');
    await driver.executeScript('tb:test-result=passed');

    driver.execute_script('tb:test-name=My test')
    driver.execute_script('tb:test-result=passed')

    $web_driver->executeScript('tb:test-name=My test');
    $web_driver->executeScript('tb:test-result=passed');

    ((IJavaScriptExecutor)driver).ExecuteScript("tb:test-name=My test");
    ((IJavaScriptExecutor)driver).ExecuteScript("tb:test-result=passed");

## 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

    tb:break

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

    tb:test-result=true

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

    tb:test-tags=tag1,tag2

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.

Was this page helpful? Yes No 

## Looking for More Help?

Have questions or need more information?   
 You can reach us via the following channels:

- [Email us](https://testingbot.com/contact/new)
- [Join our Slack Channel](https://join.slack.com/t/testingb0t/shared_invite/zt-3bcw9xch-jk19~6XPs_xBrsAgAedkCw)
