Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gkushang/nemo-saucelabs
https://github.com/gkushang/nemo-saucelabs
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/gkushang/nemo-saucelabs
- Owner: gkushang
- License: mit
- Created: 2015-05-01T17:25:43.000Z (over 9 years ago)
- Default Branch: develop
- Last Pushed: 2017-07-12T16:31:03.000Z (over 7 years ago)
- Last Synced: 2024-10-12T03:14:28.664Z (2 months ago)
- Language: JavaScript
- Size: 54.7 KB
- Stars: 0
- Watchers: 3
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# nemo saucelabs
**nemo.js integration with Saucelabs.com**
[![npm](https://img.shields.io/npm/v/nemo-saucelabs.svg)](https://www.npmjs.com/package/nemo-saucelabs) [![Dependency Status](https://david-dm.org/gkushang/nemo-saucelabs.svg)](https://david-dm.org/gkushang/nemo-saucelabs) [![Code Climate](https://codeclimate.com/github/gkushang/nemo-saucelabs/badges/gpa.svg)](https://codeclimate.com/github/gkushang/nemo-saucelabs) [![License](https://img.shields.io/npm/l/nemo-saucelabs.svg)](LICENSE)
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:
```javascript
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:
```javascript
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:
```javascript
passed: [boolean]
```
example:
```javascript
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:
```javascript
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
```