Транспортир-огурец: как создать HTML отчет после каждой выполненной функции? - PullRequest
0 голосов
/ 04 февраля 2020

Я хочу создать отчет по огурцу 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.");
            }


        }
    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...