我的webdriver.io测试运行器被组织成套件,我想从特定功能中排除套件。
例如,我有一个名为//
suites: {
suite1: [
'./test/spec/*.js',
],
},
//
的套件:
//
{
'tunnelIdentifier' : sltunnel,
'browserName': 'safari',
'version': '10',
'platform': 'OS X 10.12',
'screenResolution': '1600x1200',
'exclude': [
suite1,
],
},
//
我想从Safari功能中排除这个套件:
{{1}}
有没有办法实现这个目标?
答案 0 :(得分:0)
当然有多种方法可以做到这一点,但在一天结束时,一切都取决于你。
您可以将整个套件逻辑拖到wdio.conf.js
文件之外的单独配置文件中(我相信您的环境可能已有一个:测试, prod ,w / e)然后将其导入(通过require
到您的wdio.conf.js
文件中):
因此,假设您有suites.conf.js
个文件:
module.exports.suites = {
// 1 => run the suite
// 0 => don't run it
"chrome": {
"0": [
"<yourSuiteName-001>.js"
"<yourSuiteName-003>.js"
"<yourSuiteName-005>.js"
],
"1": [
"<yourSuiteName-002>.js"
"<yourSuiteName-004>.js"
]
},
"safari" : {
"0": [
"<yourSuiteName-002>.js"
"<yourSuiteName-004>.js"
"<yourSuiteName-005>.js"
],
"1": [
"<yourSuiteName-001>.js"
"<yourSuiteName-003>.js"
]
}
// <etc>
}
然后将其导入wdio.conf.js
文件(var suites = require(./<pathToSuitesConfig>/suites.conf.js);
),并通过所有套件forEach
循环,并根据browserName
创建一个缓冲区您存储符合条件的可运行套件,然后将它们添加到配置文件中。此逻辑将放在您的wdio.conf.js
标题部分中,您可以通过结果更新可导出的config
。
我只是在5分钟内就想到了这一点,所以我确信有更多更简洁的方法来实现这一目标。
或者,您可以查看其他易于插入WebdriverIO且具有标记的测试运行器: