x-browser
v0.1.4
Published
Get the results of a test function from one or more real browsers
Downloads
5
Readme
x-browser
Get the return value of a JavaScript function on one or more Selenium-powered browsers.
In order to use this locally, you'll need to install Selenium Server. webdriver-manager does this for you:
npm i -g webdriver-manager
webdriver-manager update
webdriver-manager start
Or you can use a cloud testing service, such as BrowserStack, Sauce Labs, or TestingBot. See the examples directory for usage.
Installation
Install it with npm:
npm install x-browser
API
xbrowser(config[, done])
Run the configuration and optionally call done(error,
results)
when finished with all browsers. This function returns a promise, so
it's friendly with testing frameworks such as Mocha.
Configuration
For the most part, your configuration object can have any of the same properties that webdriverio expects, including:
desiredCapabilities
(alias:browser
orbrowsers
) can either be an object withbrowserName
,version
, and other Selenium-compatible "desired capabilities"; or a descap-compatible shorthand string describing one or more browsers.user
andkey
may be used to provide credentials to cloud services such as Sauce Labs or BrowserStack.host
andport
may be used to specify the Selenium Server hostname and port. If unspecified, the default hostname and port for Selenium Server are used.logLevel
may be'silent'
, etc.
The following configuration properties are specific to x-browser:
test
should be a JavaScript function that will be run on each browser. This function may only access its own parameters and global variables in the browser scope, such aswindow
anddocument
. It must be synchronous.arguments
can be used to specify an array of up to 6 arguments to thetest
function. These arguments must be primitives, arrays, or object literals that can be serialized withJSON.stringify()
.
CLI
The x-browser
npm package installs a CLI tool, which you can learn more
about with:
x-browser --help