我们有一个使用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);
}
};
答案 0 :(得分:1)
由于您使用shardTestFiles:true
选项,这是不可能的,请参阅config。
如果您将其禁用或删除它,它将首先搜索您的特定标记的所有文件(不解析所有文件并打开浏览器),并仅运行具有该标记的功能文件。
答案 1 :(得分:0)
在Conf文件中使用标签:'@ sanity',这将只调用Sanity功能