Zero config Mochawesome reporter for Cypress with screenshots attached to tests.
reporter version | cypress version | reporter branch |
---|---|---|
v3 |
node >= 14 >= 6.7.0 >= 6.2.0 with experimentalRunEvents: true |
master |
v2 |
>= 6.7.0 >= 6.2.0 with experimentalRunEvents: true |
v2 |
v1 |
>= 4.0.0 |
v1 |
This setup tutorial works with Cypress >= v10, looking for older version setup? here
-
install cypress-mochawesome-reporter
npm i --save-dev cypress-mochawesome-reporter
or
yarn add -D cypress-mochawesome-reporter
-
Change cypress reporter & setup hooks
Edit config file (
cypress.config.js
by default)const { defineConfig } = require('cypress'); module.exports = defineConfig({ reporter: 'cypress-mochawesome-reporter', e2e: { setupNodeEvents(on, config) { require('cypress-mochawesome-reporter/plugin')(on); }, }, });
If you are override
before:run
orafter:run
hooks, use this:const { defineConfig } = require('cypress'); const { beforeRunHook, afterRunHook } = require('cypress-mochawesome-reporter/lib'); module.exports = defineConfig({ reporter: 'cypress-mochawesome-reporter', e2e: { setupNodeEvents(on, config) { on('before:run', async (details) => { console.log('override before:run'); await beforeRunHook(details); }); on('after:run', async () => { console.log('override after:run'); await afterRunHook(); }); }, }, });
-
Add to
cypress/support/e2e.js
import 'cypress-mochawesome-reporter/register';
-
run cypress
If you want to customize your HTML report with mochawesome-report-generator flags just add the flags you want to reporterOptions
const { defineConfig } = require('cypress');
module.exports = defineConfig({
reporter: 'cypress-mochawesome-reporter',
reporterOptions: {
charts: true,
reportPageTitle: 'custom-title',
embeddedScreenshots: true,
inlineAssets: true,
saveAllAttempts: false,
},
e2e: {
setupNodeEvents(on, config) {
require('cypress-mochawesome-reporter/plugin')(on);
},
},
});
Additional reporter options:
name | type | default | description |
---|---|---|---|
embeddedScreenshots |
boolean |
false |
Embedded external screenshots into HTML using base64, use with inlineAssets option to produce a single HTML file |
quiet |
boolean |
false |
Silence console messages |
saveAllAttempts |
boolean |
true |
Save screenshots of all test attempts, set to false to save only the last attempt |
debug |
boolean |
false |
Creates log file with debug data |
- Simple use of
cypress-mochawesome-reporter
- Using
cypress-multi-reporters
- With
mochawesome-report-generator
flags - Change default screenshots folder in
cypress.json
Run npm i
in root directory then:
cd examples/<example-project>
npm i
npm test