https://github.com/paypal/nemo-screenshot
Plugin for Nemo testing framework for adapting selenium screenshot capabilities
https://github.com/paypal/nemo-screenshot
Last synced: 10 months ago
JSON representation
Plugin for Nemo testing framework for adapting selenium screenshot capabilities
- Host: GitHub
- URL: https://github.com/paypal/nemo-screenshot
- Owner: paypal
- License: other
- Archived: true
- Created: 2014-05-22T17:36:19.000Z (about 12 years ago)
- Default Branch: master
- Last Pushed: 2019-07-08T18:28:19.000Z (about 7 years ago)
- Last Synced: 2024-09-25T01:31:38.681Z (almost 2 years ago)
- Language: JavaScript
- Size: 104 KB
- Stars: 12
- Watchers: 12
- Forks: 26
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.txt
Awesome Lists containing this project
README
## nemo-screenshot
Nemo plugin which uses selenium-webdriver to take a screenshot
Register as "screenshot" (see below)
[](https://travis-ci.org/paypal/nemo-screenshot)
### Requirements
* Lists `nemo@^1.0.4` as a peerDependency
### Usage
* `npm install --save-dev nemo-screenshot@^v1.0.0`
* Add this to your Nemo plugins configuration (adjust `arguments` according to where you want screenshots to be saved):
```javascript
plugins: {
screenshot: {
module: 'nemo-screenshot',
arguments: [reportPath {String}[, eventArray {Array}]]
},
/* other plugins */
},
driver: {
// driver props
}
```
The plugin takes as argument the path to save the screenshots and an optional `eventsArray`. The events array can have one or more of the following elements.
* `"click"` - Takes a screenshot everytime the user performs a click
* `"exception"` - Takes a screenshot when an exception occurs
### API
#### screenshot.snap
* `@argument filename {String}` will save `/filename.png` to the filesystem
* `@returns {Promise}` resolves to a JSON object:
```javascript
{
"imageName": "myImage.png",
"imagePath": "/path/to/image/"
// this will be included optionally if Jenkins environment variables are present
// "imageUrl": "jenkinsURL",
// "archivedImageUrl": "jenkinsURL"
}
```
#### screenshot.done
This is a convenience wrapper around `screenshot.snap` which can accept a callback, e.g. a mocha `done` method
* `@argument filename {String}` will save `/filename.png` to the filesystem
* `@argument done {Function}` errback function to execute after screenshot is saved (or if there is an error saving screenshot)
* `@argument err {Error} (optional)` error associated with screenshot. image information will be attached to this error's stack trace for reporting purposes
Usage example:
```javascript
it('will do some stuff then take a screenshot', function (done) {
nemo.somePlugin.someAction().then(function() {
// success!
nemo.screenshot.done('success', done);
}, function (err) {
// failure!
nemo.screenshot.done('success', done, err);
});
});
```
#### screenshot.setCurrentTestTitle
If set, the test title will be used as the screenshot filename when an exception occurs. Default screenshot filename is `ScreenShot_onException-[process_id]-[timestamp].png`, which is not easy to identify the failing test case.
* `@argument testTitle {String}` current test title