【问题标题】:Protractor-CucumberJS - Tagged scenarios - Browser Launched for Scenarios not TaggedProtractor-CucumberJS - 标记的场景 - 为未标记的场景启动浏览器
【发布时间】:2017-07-08 14:01:44
【问题描述】:

我们有一个使用 BDD 功能文件的 Protractor-CucumberJS 框架,需要通过在功能文件中将相关场景标记为“@sanity”来创建一套健全性测试,并仅运行带有此标签的场景。

使用此设置,Protractor 会为每个功能文件逐一启动浏览器,检查它是否包含“@sanity”标签,如果未找到标签则关闭浏览器等等。

这将占用大量时间,因为有近 200 个功能文件,因此我们希望浏览器仅在功能文件包含所需标签时才启动,否则不启动。

有没有办法做到这一点。

配置文件 -

exports.config = {
    seleniumAddress: 'http://127.0.0.1:4444/wd/hub',
    framework: 'custom',
    frameworkPath: require.resolve('protractor-cucumber-framework'),
    specs: [../features/*.feature]  
    cucumberOpts: {
        require: [
            '../step-definitions/**/*_Steps.js',
            'generateJsonReport.js'
        ],
        format: 'pretty',
        tags: ['@sanity'],
    },

    multiCapabilities: [{
        browserName: 'chrome',
        shardTestFiles: true,
    }
    ],

    onPrepare: function () {
        browser.driver.manage().window().setSize(1600, 800);
    }
 };

【问题讨论】:

    标签: protractor bdd cucumberjs


    【解决方案1】:

    这是不可能的,因为您使用的是选项shardTestFiles:true,请参阅config

    如果您禁用或删除它,它将首先搜索所有文件(不解析所有文件并打开浏览器)以查找您的特定标签,并且只运行具有该标签的功能文件。

    【讨论】:

      【解决方案2】:

      使用标签:'@sanity',在 Conf 文件中,这将只调用 Sanity 功能

      【讨论】:

      • 还是一样的结果。向配置文件添加标签与通过命令行传递标签有何不同。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-20
      • 1970-01-01
      • 1970-01-01
      • 2021-11-14
      • 2012-12-15
      相关资源
      最近更新 更多