JSPM

  • Created
  • Published
  • Downloads 146386
  • Score
    100M100P100Q199446F
  • License MIT

installs a `selenium-standalone` command line to install and start a standalone selenium server

Package Exports

  • selenium-standalone
  • selenium-standalone/lib/default-config
  • selenium-standalone/lib/default-config.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (selenium-standalone) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

selenium-standalone Build Status Dependency Status devDependency Status

Gitter

Command line or programmatic install and launch of selenium standalone server, chrome driver, internet explorer driver, firefox driver and phantomjs

It will install a selenium-standalone command line that will be able to install selenium server and start firefox, chrome, internet explorer or phantomjs for your tests.

npm install selenium-standalone@latest -g
selenium-standalone install
selenium-standalone start

screencast

Command line API

# simple, use defaults and latest selenium
selenium-standalone install
selenium-standalone start

# specify selenium args, everything after -- is for selenium
selenium-standalone start -- -debug

# choose selenium version
selenium-standalone install --version=2.43.0 --baseURL=http://selenium-release.storage.googleapis.com

# choose chrome driver version
selenium-standalone install --drivers.chrome.version=2.12 --drivers.chrome.baseURL=http://chromedriver.storage.googleapis.com

# choose ie driver architecture
selenium-standalone start --drivers.ie.arch=ia32 --drivers.ie.baseURL=http://selenium-release.storage.googleapis.com

Programmatic API

Example

var selenium = require('selenium-standalone');

selenium.install({
  // check for more recent versions of selenium here:
  // http://selenium-release.storage.googleapis.com/index.html
  version: '2.44.0',
  baseURL: 'http://selenium-release.storage.googleapis.com',
  drivers: {
    chrome: {
      // check for more recent versions of chrome driver here:
      // http://chromedriver.storage.googleapis.com/index.html
      version: '2.14',
      arch: process.arch,
      baseURL: 'http://chromedriver.storage.googleapis.com'
    },
    ie: {
      // check for more recent versions of internet explorer driver here:
      // http://selenium-release.storage.googleapis.com/index.html
      version: '2.44',
      arch: process.arch,
      baseURL: 'http://selenium-release.storage.googleapis.com'
    }
  },
  logger: function(message) {

  },
  progressCb: function(totalLength, progressLength, chunkLength) {

  }
}, cb);

selenium.install([opts,] cb)

opts.version selenium version to install.

opts.drivers map of drivers to download and install along with selenium standalone server.

Here are the current defaults:

{
  chrome: {
    version: '2.14',
    arch: process.arch,
    baseURL: 'http://chromedriver.storage.googleapis.com'
  },
  ie: {
    version: '2.44.0',
    arch: process.arch,
    baseURL: 'http://selenium-release.storage.googleapis.com'
  }
}

arch is either ia32 or x64, it's here because you might want to switch to a particular arch sometimes.

baseURL is used to find the server having the selenium or drivers files.

opts.progressCb(totalLength, progressLength, chunkLength) will be called if provided with raw bytes length numbers about the current download process. It is used by the command line to show a progress bar.

opts.logger will be called if provided with some debugging information about the installation process.

cb(err) called when install finished or errored.

selenium.start([opts,] cb)

opts.drivers map of drivers to run along with selenium standalone server, same as selenium.install.

By default all drivers are loaded, you only control and change the versions or archs.

opts.spawnOptions spawn options for the selenium server. Defaults to undefined

opts.seleniumArgs array of arguments for the selenium server, passed directly to child_process.spawn. Defaults to [].

opts.spawnCb will be called if provided as soon as the selenium child process was spawned. It may be interesting if you want to do some more debug.

cb(err, child) called when the server is running and listening, child is the ChildProcess instance created.

So you can child.kill() when you are done.

Available browsers

By default, google chrome, firefox and phantomjs are available when installed on the sytem.

Tips

Running headlessly

On linux,

To run headlessly, you can use xvfb:

xvfb-run --server-args="-screen 0, 1366x768x24" selenium-standalone start