Protractor-CucumberJS - 标记方案 - 为未标记的方案启动浏览器

时间:2017-07-06 19:13:39

标签: protractor bdd cucumberjs

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

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

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