nemo-saucelabs
v5.0.1
Published
updates Sauce Labs jobs with test information and test results
Downloads
25
Maintainers
Readme
nemo saucelabs
nemo.js integration with Saucelabs.com
This plugin exposes methods to update the metadata of running Sauce Labs job, e.g. Test Name, Test tags, Build Id and Test result (Pass/Fail) on Sauce Labs dashboard. It also exposes a method to get Job URL to print on your test reports. Once nemo-saucelabs
plugin is registered, you will have nemo.saucelabs
object available.
This is v3
of this plugin, which requires as a peer dependency nemo@^3.0.0-alpha.6
, which in turn required node v6
or later
Installation and usage
Use npm
to install nemo-saucelabs
into your project:
npm install --save-dev nemo-saucelabs@^3.0.0
for Cucumber 2, install >v5.0.0. Mocha is supported as is.
npm install --save-dev nemo-saucelabs@^5.0.1
Then, define the nemo-saucelabs
plugin in your config/config.json
under plugins
section and specify Sauce Labs username
and accessKey
under serverCaps
section:
"plugins": {
"saucelabs": {
"module": "nemo-saucelabs"
}
},
"driver": {
"browser": "chrome",
"server": "http://sauce-username:[email protected]:80/wd/hub",
"serverCaps": {
"username": "sauce-username",
"accessKey": "sauce-access-key", // not a real access key
"platform": "MAC",
"version": "27.0"
}
}
Methods
1. Update Sauce Labs Job: updateJob(data)
request fields:
name: [string] update the job name,
cucumber_tags: [scenario.getTags()] nemo-saucelabs will traverse cucumber tags and get tag names to update the job tags
tags: [list of strings] array of tags to update the job tags,
build: [int] The build number being tested,
custom-data: [JSON] a set of key-value pairs with any extra info that a user would like to add to the job. Max 64KB.
example:
var options = {
name: scenario.getName(),
cucumber_tags: scenario.getTags(),
build: build_id,
custom-data: {
testInfo: 'information about test or cause of test failure...'
}
};
nemo.saucelabs.updateJob(options)
.then(function() { /* process success results */ })
.catch(function(err) { /* process error */ });
2. Update Sauce Labs Job Result: isJobPassed(isPassed)
request fields:
passed: [boolean]
example:
var isPassed = test.isPassed();
nemo.saucelabs.isJobPassed(isPassed)
.then(function() { /* process success results */ })
.catch(function(err) { /* process error */ });
3. Get Sauce Labs Job URL: getJobUrl()
example:
nemo.saucelabs.getJobUrl()
.then(function(url) { /* do something with url e.g. `console.log` */ })
.catch(function(err) { /* process error */ });
// example saucelabs url: https://saucelabs.com/tests/153a38fac7ab48869e7b3b9c3c567665