CucumberJS 2.0.0如何从Before Scenario Hook中获取场景名称

问题描述 投票:1回答:1

问题

我一直在使用Before钩子的输出来命名我的截图文件,以便我们获得截图来自的功能和场景的名称。

我在1.3.0中获得的输出允许我做一个scenario.getName()来执行此操作,但是,1.3.0中的格式在2.0.0中已更改

有没有人想出怎么做?

代码

// hooks.js
defineSupportCode(function ({registerHandler, Before}) {

  Before(function (scenario, callback) {
        global.scenarioDetails = function(){
           return scenario;
        }
        callback();
  });

});


//otherFile.js
let name = scenarioDetails().<somethingHereToGrabTheName>;

console.log()的输出

ScenarioResult {
 duration: 8043,
  failureException: null,
  scenario:
   Scenario {
     feature:
      Feature {
        description: undefined,
        keyword: 'Feature',
        line: 2,
        name: 'Hello World',
        tags: [Object],
        uri: 'Path/to/my.feature',
        scenarios: [Object] },
     keyword: 'Scenario',
     lines: [ 3 ],
     name: 'Google Search',
     tags: [ [Object] ],
     uri: 'Path/to/my.feature',
     line: 3,
     description: undefined,
     steps: [ [Object], [Object], [Object] ] },
  status: 'passed',
  stepResults:
   [ StepResult {
       attachments: [],
       duration: 1,
       step: [Object],
       stepDefinition: [Object],
       status: 'passed' },
     StepResult {
       attachments: [],
       duration: 8042,
       step: [Object],
       stepDefinition: [Object],
       status: 'passed' } ] }
javascript cucumber bdd cucumberjs
1个回答
1
投票

找到答案

这就是我找到功能,方案和步骤的名称的方法:

  • 特色:feature.name
  • 对于场景:scenario.scenario.name
  • 步骤:step.name
© www.soinside.com 2019 - 2024. All rights reserved.