Browser Stack

Browser Stack is a cloud provider. It requires a monthly or yearly subscription, but offers free plans for open source projects.

Start by signing up for an account at browserstack.com, then set the following environment variables:

BROWSER_STACK_USERNAME
Your browser stack username.
BROWSER_STACK_ACCESS_KEY
Your browser statck access key.

To do this locally, you can create a .env file in your project's root directory:

BROWSER_STACK_USERNAME={your browser stack username}
BROWSER_STACK_ACCESS_KEY={your browser stack access key}

Then you can test using code like:

import assert from 'assert';
import cabbie from 'cabbie-sync';

// connect to browserstack, adding {debug: true} makes cabbie log each method call.
const driver = cabbie('browserstack', {debug: true});

try {
  // navigate to a url in the currently active window
  driver.activeWindow.navigateTo('http://example.com');

  // get an element, and check that its text equals some expected value
  assert.equal(
    driver.activeWindow.getElement('h1').getText(),
    'Example Domain',
  );
} finally {
  // whether tests pass or fail, dispose of the driver
  driver.dispose();
}