node package manager
Stop wasting time. Easily manage code sharing in your team. Create a free org »



A simplified interface for starting and stopping BrowserStack workers


  • #list
    • should list all available browsers
    • should fail if not authorized
  • #start
    • should return a list of running workers pointing at the correct URL
    • should fail if not authorized
    • should fail if a worker cannot be started and terminate any workers that were started
    • should fail if an error is encountered while waiting for workers to start
    • should fail if workers are not running within specified timeout value
    • should fail if already started
  • #stop
    • should fail if not started
    • when started
      • should terminate all (and only) the workers previously started by this instance
      • should fail if a worker cannot be terminated
  • #clean
    • should terminate all the workers associated with the given credentials
    • should fail if started
    • should fail if not authorized


npm install simplified-browserstack


var SimplifiedBrowserStack = require('simplified-browserStack');
var simplifiedBrowserStack = new SimplifiedBrowserStack({
  username: 'USERNAME',
  password: 'PASSWORD'
simplifiedBrowserStack.list(function(error, browsers) {
  // browsers will be an array of available browser types 
  // time to wait for workers to start running 
  queueTimeout: QUEUE_TIMEOUT,
  // default URL for started workers 
  url: 'URL',
  // default timeout for started workers 
  timeout: TIMEOUT,
  // list of browser types to start, as returned from the list function 
  browsers: [{
    os: 'OS',
    browser: 'BROWSER',
    version: 'VERSION',
    // override the default URL 
    url: 'URL',
    // override the default worker timeout 
    timeout: TIMEOUT
  }, {
    os: 'OS',
    browser: 'BROWSER',
    version: 'VERSION',
    // override the default URL 
    url: 'URL',
    // override the default worker timeout 
    timeout: TIMEOUT
}, function(errors, workers) {
  // the workers array will contain the started worker IDs 
  simplifiedBrowserStack.stop(function(errors) {
    // the workers will have been stopped 
    // errors may be reported if a worker has already timed out 
    // but any running workers should have been stopped anyway 
simplifiedBrowserStack.clean(function(errors) {
  // Should stop any workers associated with the 
  // BrowserStack account 
  // useful for cleaning up orphaned workers 


  • Nothing yet


In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using ./ or .\grunt.bat.


Copyright (c) 2012 Peter Halliday
Licensed under the MIT license.