失败后如何在功能文件中重复一个场景

How to repeat one scenario in a feature file after it failed

在我的步骤定义之前我做了:

const {After} = require('cucumber');

After(env => {
    if (env.status === 'failed') {
        // Repeat env.scenario
        // {
        //      feature: [Feature],
        //      keyword: 'Scenario',
        //      lines: [ 4 ],
        //      name: 'Login for non-existent user',
        //      tags: [],
        //      uri: '/Users/ ... /features/test.feature',
        //      line: 4,
        //      description: undefined,
        //      steps: [ [Object], [Object], [Object], [Object] ]
        // }
    }
});

是否有可能以编程方式重复单个步骤或完整场景?

类似

cucumber ./features/test.feature:4

黄瓜中没有这个选项。你可以尝试这样的事情:

https://martinholladay.wordpress.com/2013/11/15/a-better-retrylistener/

https://github.com/NetEase/arrow/blob/master/src/com/netease/qa/testng/TestngRetry.java