执行完成后如何生成Json文件

How to generate Json file after execution finish

我正在使用黄瓜和量角器并生成我正在使用的报告

cucumber-html-reporter 我已经添加了生成报告的配置

var options = {
        theme: 'bootstrap',
        jsonFile: 'reporter/cucumber_report.json',
        output: 'reporter/cucumber_report.html',
        reportSuiteAsScenarios: true,
        launchReport: true,
};
defineSupportCode(function({ After }) {
    After((scenario)=> {
      reporter.generate(options);
     });
    });

但我没有使用此代码生成 json 文件,我在 google 中搜索,生成 json 文件的代码应添加到 cucumberOptsconf.js 中,但我不确定 cucumberOpts 中应该包含什么代码以生成 json 文件并转换为报告。

希望大家能帮帮我。

也许this可以帮到你,它是针对Typescript的,但代码几乎是一样的。您可以在 After 挂钩中导出文件。 link 适用于 CucumberJS 1,如果您查看 master 分支,您还可以找到 CucumberJS 2 解决方案

与使用 format 选项生成 JSON 文件相比,这样做的优点是您可以在保存

之前修改 JSON

希望对您有所帮助

对于仍然有这个问题的人,在我的例子中,问题是我使用的是 cucumber v1 而不是 cucumber v2。对于这种情况,我应该使用 registerHandler 而不是 After 这是完整的示例:

defineSupportCode(function({registerHandler}) {
  registerHandler('AfterFeatures', function (features) {
        reporter.generate(options);
  });
});

希望对大家有所帮助