A Gorgeous HTML/CSS Reporter for Mocha.js
npm install mochawesome-screenshotsA reporter takes a screenshot after each failed test.
Installation of the module:
```
$ npm install mochawesome-screenshots --save-dev
Usage remains the same as the Mocahwesome.
For protractor - configuration file example:
`
framework: 'mocha',
mochaOpts: {
reporter: 'mochawesome-screenshots',
reporterOptions: {
reportDir: 'customReportDir',
reportName: 'customReportName',
reportTitle: 'customReportTitle',
reportPageTitle: 'customReportPageTitle',
takePassedScreenshot: false,
clearOldScreenshots: true,
shortScrFileNames: false,
jsonReport: false,
multiReport: false
},
timeout: 600000
},
`
For playwright and puppeteer:
* Make global your "page" variable.
* Add reporterOptions:
` `
framework: playwright (puppeteer)`
For cypress: `
framework: cypress`
For webdriver.io: `
framework: webdriverio`
For nightwatch.js: ``
framework: nightwatchjs
Use 'multiReport = true' for parallel test execution (adding timestamp in report file name),
or change report name in tests or hooks for shardTestFiles option:
const logReport = require('mochawesome-screenshots/logReport');
it('Change report name', function() {
logReport.setReportName(this, 'customReportName');
});
Log data to report:
const logReport = require('mochawesome-screenshots/logReport');
it('Log build number', function() {
logReport.log(this, 'build number:' + buildNumber);
});
Add custom screenshots from mochawesome-reports/screenshots folder to report:
it('Custom screenshot', function() {
..
save screenshot 1 to ('./mochawesome-reports/screenshots/'+imageFileName1);
save screenshot 2 to ('./mochawesome-reports/screenshots/'+imageFileName2);
..
logReport.setScreenshot(this, imageFileName1, 'message1');
logReport.setScreenshot(this, imageFileName2, 'message2');
});