Other

You can use your own selenium webdriver server. You will need to know the url of your webdriver server before you can get started. If your webdriver server takes basic authentication, you can pass that in the url (e.g. https://username:[email protected]).

import assert from 'assert';
import cabbie from 'cabbie-async';

async function runTest() {
  // connect to your selenium server, adding {debug: true} makes cabbie log each method call.
  const driver = cabbie('https://username:[email protected]', {debug: true});

  try {
    await driver.activeWindow.navigateTo('http://example.com');

    const heading = await driver.activeWindow.getElement('h1');
    assert.equal(
      await heading.getText(),
      'Example Domain',
    );
  } finally {
    await driver.dispose();
  }
}

runTest().catch(ex => {
  console.error(ex.stack);
  process.exit(1);
});