UNPKG

1.25 kBJavaScriptView Raw
1// Link: https://nightwatch-api.netlify.app/cucumber/
2
3const fs = require('fs');
4const path = require('path');
5const { setDefaultTimeout, After, AfterAll, BeforeAll } = require('cucumber');
6const { createSession, closeSession, startWebDriver, stopWebDriver, getNewScreenshots } = require('nightwatch-api');
7const reporter = require('cucumber-html-reporter');
8
9setDefaultTimeout(60000);
10
11BeforeAll(async () => {
12 await startWebDriver({ env: process.env.NIGHTWATCH_ENV, headless: process.argv.indexOf('--headless') >= 0 });
13 await createSession();
14});
15
16AfterAll(async () => {
17 await closeSession();
18 await stopWebDriver();
19
20 const reportDir = path.resolve(process.cwd(), '.reports/');
21 if (!fs.existsSync(reportDir)) {
22 fs.mkdirSync(reportDir);
23 }
24
25 setTimeout(() => {
26 reporter.generate({
27 theme: 'bootstrap',
28 jsonFile: path.resolve(reportDir, 'cucumber/report.json'),
29 output: path.resolve(reportDir, 'cucumber/report.html'),
30 reportSuiteAsScenarios: true,
31 launchReport: false,
32 metadata: {
33 'App Version': '0.0.0',
34 'Test Environment': 'DEMO'
35 }
36 });
37 }, 1000);
38});
39
40After(function() {
41 getNewScreenshots().forEach(file => this.attach(fs.readFileSync(file), 'image/png'));
42});