A Karma plugin. Launch any browser on TestingBot!
Last updated 4 years ago by testingbot .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install karma-testingbot-launcher 
SYNC missed versions from official npm registry.


js-standard-style npm version npm downloads

Build Status Dependency Status devDependency Status

Run your tests on the TestingBot browser cloud!


Install karma-testingbot-launcher as a devDependency in your package.json:

npm install karma-testingbot-launcher --save-dev


This launcher is used to run your tests across many browsers and platforms on TestingBot. Typically this runner is used in a CI (Continuous Integration) system.

Adding karma-testingbot-launcher to an existing Karma config

To use and configure this launcher, you will need to add two properties to your top-level Karma config, testingbot and customLaunchers, set the browsers array to use TestingBot browsers, and add the testingbot reporter.

The testingbot object defines global properties for each browser/platform while the customLaunchers object configures individual browsers. The testingbot reporter will send back the test success state to https://testingbot.com. Here is a sample Karma config to get the launcher running:

module.exports = function(config) {
  // Check out https://testingbot.com/support/getting-started/browsers.html for all browser possibilities
  var customLaunchers = {
    TB_chrome: {
      base: 'TestingBot',
      browserName: 'chrome',
      platform: 'Windows 7',
      version: '35'
    TB_firefox: {
      base: 'TestingBot',
      browserName: 'firefox',
      version: '30'


    // The rest of your karma config is here
    // ...
    testingbot: {
        testName: 'Web App Unit Tests'
    customLaunchers: customLaunchers,
    browsers: Object.keys(customLaunchers),
    reporters: ['dots', 'testingbot'],
    singleRun: true

Note: this config assumes that process.env.TB_KEY and process.env.TB_SECRET are set.

testingbot config properties shared across all browsers


Type: String Default: process.env.TB_KEY

Your TestingBot api key, you can sign up here.


Type: String Default: process.env.TB_SECRET

Your TestingBot api secret which you will see on your account page.


Type: Boolean Default: true

If true, TestingBot Tunnel will be started automatically. Set this to false if you are launching tests locally and want to start TestingBot manually.


Type: Object Default:

  apiKey: 'apiKey',
  apiSecret: 'apiSecret',
  tunnelIdentifier: 'tunnelId' //optional

Options to send to TestingBot. Check here for all available options.


Type: String default: hub.testingbot.com


Type: Number default: 80


Type: String Default: One of the following environment variables: process.env.BUILD_NUMBER process.env.BUILD_TAG process.env.CI_BUILD_NUMBER process.env.CI_BUILD_TAG process.env.TRAVIS_BUILD_NUMBER process.env.CIRCLE_BUILD_NUM process.env.DRONE_BUILD_NUMBER

ID of the build currently running. This should be set by your CI.


Type: String Default: 'Karma test'

Name of the unit test group you are running.


Type: Array of Strings

Tags to use for filtering jobs in your TestingBot account.


Type: String

TestingBot Tunnel can proxy multiple sessions, this is an id of a tunnel session.


Type: Boolean Default: false

Set to true if you want to record a video of your Karma session.


Type: Boolean Default: true

Set to false if you don't want to record screenshots.


Type: String Default: null

Control who can view job details.

customLaunchers config properties

The customLaunchers object has browser names as keys and configs as values. Documented below are the different properties which you can configure for each browser/platform combo.

Note: You can learn about the available browser/platform combos on the TestingBot browsers page.


Type: String Required: true

This defines the base configuration for the launcher. In this case it should always be TestingBot so that browsers can use the base TestingBot config defined at the root testingbot property.


Type: String Required: true

Name of the browser.


Type: String Default: Latest browser version for all browsers

Version of the browser to use.


Type: String Default: 'Linux' for Firefox/Chrome, 'Windows 7' for IE/Safari

Name of platform to run browser on.


Type: String Default: 'portrait'

Accepted values: 'portrait' || 'landscape'

Set this string if your unit tests need to run on a particular mobile device orientation for Android Browser or iOS Safari.

More Information

You can find more information on our website regarding TestingBot Tunnel and Karma.

Current Tags

  • 1.0.4                                ...           latest (2 months ago)

7 Versions

  • 1.0.4                                ...           2 months ago
  • 1.0.3                                ...           2 years ago
  • 1.0.2                                ...           3 years ago
  • 1.0.1                                ...           4 years ago
  • 0.1.2                                ...           4 years ago
  • 0.1.1                                ...           5 years ago
  • 0.1.0                                ...           5 years ago
Maintainers (1)
Today 0
This Week 0
This Month 15
Last Day 0
Last Week 1
Last Month 7
Dependencies (4)

Copyright 2014 - 2017 © taobao.org |