如何使用WebDriverio重新运行黄瓜中功能文件的失败步骤/步骤

时间:2018-12-13 17:52:06

标签: selenium cucumber appium webdriver-io

请对此提供帮助。我正在使用以下黄瓜选择:

cucumberOpts: {
    backtrace: false,
    failAmbiguousDefinitions: true,
    failFast: false,
    ignoreUndefinedDefinitions: false,
    name: [],
    snippets: true,
    source: true,
    profile: [],
    require: [
        './features/step_definitions/given.js',
        './features/step_definitions/when.js',
        './features/step_definitions/then.js',
    ],
    snippetSyntax: undefined,
    strict: true,
    tagExpression: '@Test',
    tagsInTitle: false,
    timeout: 20000000,
},

2 个答案:

答案 0 :(得分:0)

我假设您使用的是wdio-cucumber-framework,那么您可以重新运行各个步骤特定次数,例如:

module.exports = function () {
    /**
     * The following STEP DEFINITION will run maximum 3 times!
     * => 1 actual run + 2 reruns (on failure)
     */
    this.Given(/^Your step definition here$/, { wrapperOptions: { retry: 2 } }, () => {
        // ...
    });
});

!注意: wrapperOptions特定于步骤的选项,它们会传递到定义函数包装器。在我们的例子中,retry选项。您可以在黄瓜DOCS中了解更多相关信息。

如果您需要控制测试用例或测试套件的重试,那么很遗憾,Cucumber还没有这种功能。但是,如果您想要这样的东西,可以改用Mocha。这是few examples

答案 1 :(得分:0)

https://www.npmjs.com/package/wdio-rerun-service最近是专门针对WebdriverIO发布的,它与Cucumber功能/场景非常兼容。