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。
如果您禁用或删除它,它将首先搜索所有文件(不解析所有文件并为其打开浏览器)以查找您的特定标签,并且仅 运行 具有该标签的功能文件.
我们有一个使用 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。
如果您禁用或删除它,它将首先搜索所有文件(不解析所有文件并为其打开浏览器)以查找您的特定标签,并且仅 运行 具有该标签的功能文件.