Я хочу создать отчет по огурцу HTML. Я могу создать отчет HTML, но дело в том, что всякий раз, когда я сам прекращаю выполнение, он не генерирует отчет об огурце. Кто-нибудь может помочь мне создать отчет после каждой функции? Если я выйду из e2e, я смогу увидеть отчет. Есть ли способ добиться этого? заранее спасибо
Я использую "cucumber- html -reporter": "^ 4.0.3",
Config.ts
framework: 'custom',
frameworkPath: require.resolve('protractor-cucumber-framework'),
ignoreUncaughtExceptions: true,
// framework: "custom",
// frameworkPath: require.resolve("protractor-cucumber-framework"),
specs:getFeatureFiles(),
restartBrowserBetweenTests: false,
onPrepare: () => {
console.log(path.resolve(process.cwd()))
browser.ignoreSynchronization = true;
browser.manage().window().maximize();
browser.manage().timeouts().setScriptTimeout(6000000);
// Reporter.createDirectory(jsonReports);
console.log(`\n==========================================================================`);
console.log(`\nThe directory './reports', which holds reports / screenshots is being removed.\n`);
console.log(`==========================================================================\n`);
fs.removeSync('./reports/json-output-folder');
console.log("report");
fs.mkdir('./reports/json-output-folder');
console.log("created");
function generate(param: { jsonDir: string; reportPath: string }) {
console.log("function");
}
},
cucumberOpts: {
// required step definitions
compiler: "ts:ts-node/register",
require : [
'../steps/*.js', './/Test/hooks/*.js',
path.resolve(process.cwd(), './/Test/steps/*.js'),
],
removeOriginalJsonReportFile : true,
format: "json:./reports/json/cucumber_report.json",
strict : true,
dryRun : false,
tags : argv.tags || ''
},
onComplete: () => {
CucumberReporter.GenerateCucumberReport();
},
CucumberReporter.ts
export class CucumberReporter {
private static jsonDir = process.cwd() + "report/json";
private static htmlDir = process.cwd() + "report/html";
private static jsonFile = CucumberReporter.jsonDir + "/cucumberReport.json";
private static cucumberReporterOptions = {
theme: 'bootstrap',
jsonFile: CucumberReporter.jsonFile,
output: CucumberReporter.htmlDir + "/cucumberReport.html",
reportSuiteAsScenerios: true,
metadata: {
"AppVersion": "0.0.1",
"Test Environemnt": "Testing",
"Browser": "Chrome",
"Parallel": "Scenerios",
"Executed": "Local",
}
};
public static CreateReportFile(dirname) {
if (!fs.existsSync(dirname))
mkdirp.sync(dirname);
}
public static GenerateCucumberReport() {
try {
report.generate(CucumberReporter.cucumberReporterOptions);
} catch (err) {
if (err) {
throw new Error("Failed to save cucumber test results to json file.");
}
}
}
}