---
title: Browser Matrix - Monitor Automated Tests with CI
description: Embed a live browser-coverage matrix in your GitHub README, build dashboard
  or wiki. Shows which browser and OS combinations your Selenium and Appium tests
  passed against on TestingBot.
source_url:
  html: https://testingbot.com/support/other/browser-matrix
  md: https://testingbot.com/support/other/browser-matrix/index.md
---
# Browser Matrix

With our Browser Matrix image you can quickly see the status for your latest test build for the various browsers/platforms.

You can simply add 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 browser matrix image, 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 grouped in a **build**.

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

    DesiredCapabilities caps = new DesiredCapabilities();
    caps.setCapability("platformName", "WIN11");
    caps.setCapability("browserName", "Chrome");
    caps.setCapability("build", "build-1XXX"); // for example

In our [member area](https://testingbot.com/members/builds) you will then see a new build, `build-1XXX`, which will contain all the tests that ran with the same build identifier.

## Marking tests passed/failed

To mark tests as passed or failed, your test runner should be configured to send the success state of each test to TestingBot via the [TestingBot API](https://testingbot.com/support/api#updatetest).

The browser matrix image will then show the success state for every browser/platform in your build.

## Browser Matrix

Below is an example of how the browser matrix image looks like, and information on how to embed this image on your website.

 ![TestingBot Build Matrix](https://testingbot.com/assets/support/buildmatrix-8f49f44a625e3b4118d16079fd18239f5ed45b30ed0ba283b9e33ec980ecbc4f.png)  
**Markdown:**

    [![TestingBot Test Status](https://testingbot.com/buildmatrix/YOUR_TESTINGBOT_KEY?auth={authentication})](https://testingbot.com/builds/YOUR_TESTINGBOT_KEY?auth={authentication})

**HTML:**

    <a href="https://testingbot.com/builds/YOUR_TESTINGBOT_KEY?auth={authentication}">
      <img src="https://testingbot.com/buildmatrix/YOUR_TESTINGBOT_KEY?auth={authentication}" alt="TestingBot Build Matrix"/>
    </a>

## Private Accounts

To display the matrix image, 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:

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

    Digest::MD5.hexdigest("#{client_key}:#{client_secret}")

    MessageDigest m=MessageDigest.getInstance("MD5");
    String s = "API_KEY:API_SECRET";
    m.update(s.getBytes(),0,s.length());
    System.out.println("MD5: "+new BigInteger(1,m.digest()).toString(16));

    echo md5("API_KEY:API_SECRET");

    import hashlib
    print(hashlib.md5("API_KEY:API_SECRET".encode('utf-8')).hexdigest())

    var crypto = require('crypto');
    crypto.createHash('md5').update("API_KEY:API_SECRET").digest("hex");

## Open Source Accounts

[Open Source](https://testingbot.com/open-source) accounts automatically have their tests and builds set to public. This means no authentication (auth parameter) is required to display matrix images or link to tests/builds.

## More

- If you like to show browser matrix images of **multiple projects** , please consider creating a new user account per project. 
- We're also providing [status badges](https://testingbot.com/support/other/status-badges), displaying if your build passed/failed. 

### Looking for more help?

Have questions or need more information? Reach out via email or Slack.

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