【问题标题】:Javascript console.log status of Cucumber scenarioCucumber 场景的Javascript console.log 状态
【发布时间】:2019-09-10 02:38:39
【问题描述】:

我想使用 afterScenario 钩子打印每个黄瓜场景的状态。

我尝试打印出scenario.status(代码如下),但它打印出“未定义”

afterScenario: (scenario) => {
    console.log(scenario.status);
}

仅打印场景时,我看不到状态。

Scenario {
  feature: 
   Feature {
     description: undefined,
     keyword: 'Feature',
     line: 1,
     name: 'Sample Test',
     tags: [],
     uri: '/Users/Daredevil/e2e/features/sampleProject/intro.feature',
     scenarios: [ [Circular] ] },
  keyword: 'Scenario',
  lines: [ 15, 7 ],
  name: 'Getting test status',
  tags: 
   [ Tag { line: 6, name: '@WIP' }],
  uri: '/Users/Daredevil/e2e/features/sampleProject/intro.feature',
  line: 15,
  description: undefined,
  steps: 
   [ Step {
       arguments: [],
       line: 4,
       name: 'I am on the app',
       scenario: [Circular],
       uri: '/Users/Daredevil/e2e/features/sampleProject/intro.feature',
       isBackground: true,
       keyword: 'Given ',
       keywordType: 'precondition' },
     Step {
       arguments: [],
       line: 8,
       name: 'I am viewing the splash screen',
       scenario: [Circular],
       uri: '/Users/Daredevil/e2e/features/sampleProject/intro.feature',
       isBackground: false,
       keyword: 'Given ',
       keywordType: 'precondition' } ] }

我通读了https://docs.cucumber.io/cucumber/api/#hooks,它建议(根据我的理解)执行scenario.failed,但我仍然不确定。 谁能告诉我如何获得场景的状态?

我正在使用 cucumber v3.2.1 和 wdio-cucumber-framework v1.0.3。

【问题讨论】:

    标签: javascript cucumber cucumberjs


    【解决方案1】:

    答案很简单,您应该在控制台记录“scenario.result.status”而不是scenario.status。

    希望这个答案对你有所帮助!

    【讨论】:

      【解决方案2】:

      下面应该工作 - (用 wdio-cucumber 试过)

      After(function (scenarioResult) {
              const scenario = scenarioResult.scenario;
              console.log('SCENARIO EXECUTION COMPLETED:',scenario.name);
          });

      【讨论】:

      • 您只是为每个场景打印出“场景执行完成:”,而没有打印出场景结果。那不是我打算做的。
      【解决方案3】:

      这不是一个答案,只是一个建议。我会研究 report.json 是如何构建的,因为该报告包含所有场景及其结果。

      另一个指针在您的 cucumber.js 文件中设置您想要进行的报告格式,该格式会将进度输出到控制台。

      看看https://github.com/cucumber/cucumber-js/blob/master/docs/cli.md#Formats

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-04-18
        • 1970-01-01
        相关资源
        最近更新 更多