Javascript console.log Cucumber 场景的状态
Javascript console.log status of Cucumber scenario
我想使用 afterScenario 挂钩打印每个黄瓜场景的状态。
我已经尝试打印出 scenario.status(下面的代码)但它打印出 "undefined"
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。
下面应该有效-
(试过 wdio-cucumber)
After(function (scenarioResult) {
const scenario = scenarioResult.scenario;
console.log('SCENARIO EXECUTION COMPLETED:',scenario.name);
});
这不是答案,只是建议。我会研究 report.json 是如何构建的,因为该报告包含所有场景及其结果。
另一个指针在您的 cucumber.js 文件中,用于设置您要进行的报告格式,它将向控制台输出进度。
看看https://github.com/cucumber/cucumber-js/blob/master/docs/cli.md#Formats
答案很简单,您应该在控制台记录“scenario.result.status”而不是scenario.status.
希望这个回答对您有所帮助!
我想使用 afterScenario 挂钩打印每个黄瓜场景的状态。
我已经尝试打印出 scenario.status(下面的代码)但它打印出 "undefined"
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。
下面应该有效- (试过 wdio-cucumber)
After(function (scenarioResult) {
const scenario = scenarioResult.scenario;
console.log('SCENARIO EXECUTION COMPLETED:',scenario.name);
});
这不是答案,只是建议。我会研究 report.json 是如何构建的,因为该报告包含所有场景及其结果。
另一个指针在您的 cucumber.js 文件中,用于设置您要进行的报告格式,它将向控制台输出进度。
看看https://github.com/cucumber/cucumber-js/blob/master/docs/cli.md#Formats
答案很简单,您应该在控制台记录“scenario.result.status”而不是scenario.status.
希望这个回答对您有所帮助!