Protractor-CucumberJS - 标记场景 - 针对未标记场景启动的浏览器

Protractor-CucumberJS - Tagged scenarios - Browser Launched for Scenarios not Tagged

我们有一个使用 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);
    }
 };

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

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

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