- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想知道是否有人找到了一种在来自 cucumber.conf.js 文件的不同 multiCapabilities 配置之间切换的方法。目前我有一个配置可以运行并行的 chrome 驱动程序来运行测试。
multiCapabilities: [{
'browserName': 'chrome',
'platform': 'ANY',
shardTestFiles: true,
maxInstances: 2
}],
但是如果我还想为多浏览器测试添加 multiCapabilities 选项怎么办
multiCapabilities: [{
'browserName': 'chrome'
},{
'browserName': 'firefox'
}]
我宁愿不必注释掉或更改代码,而是存储一些 multiCapabilities 配置,我可以使用诸如标志、标签或 grunt 选项之类的东西来切换这些配置。有没有人有这样的运气?谢谢!
最佳答案
您最好的选择是使用 Protractor 的内置命令行选项来传递浏览器或在任何此类功能之间切换。
Usage: protractor [configFile] [options]
configFile defaults to protractor.conf.js
The [options] object will override values from the config file.
See the reference config for a full list of options.
Options:
--help Print Protractor help menu
--version Print Protractor version
--browser, --capabilities.browserName Browsername, e.g. chrome or firefox
如果您查看 Protractor 的 cli 选项,并且如果您在 multicapabilties 选项中设置了多个浏览器,则可以像这样传递浏览器名称 -
protractor config.js --capabilities.browserName='chrome'
protractor config.js --capabilities.browserName='firefox'
您可以在 package.json 中将其设置为单独的脚本以在各种浏览器中运行测试-
"scripts": {
"tsc": "tsc",
"test": "protractor ./config.js",
"chrome-tests": "protractor ./config.js --capabilities.browserName='chrome'",
"firefox-tests": "protractor ./config.js --capabilities.browserName='firefox'"
}
现在您可以使用 npm
调用它 -
npm run chrome-tests // it would run your tests in chrome browser
npm run firefox-tests // it would run your tests in firefox browser
您还可以在 conf
文件中使用 params
对象传递参数,并在测试或命令行中的任何位置访问它们。
params: {
primaryBrowser: 'chrome' // I am biased towards chrome :)
secondaryBrowser: 'firefox'
},
您可以通过调用浏览器的全局对象在测试中访问它们 -
console.log(browser.params.primaryBrowser);
console.log(browser.params.secondaryBrowser);
同样,您可以在命令行中更改它们-
protractor config.js --params.primaryBrowser='firefox'
还有一种更优雅的方法可以通过 getMultiCapabilities
-
您甚至可以通过访问上述函数对象来传递多个浏览器,请参阅此链接以获取更多详细信息。
Is there any way to pass multiple browser via protractor cli
关于javascript - 基于 cucumber 标签切换 multiCapabilites 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45330493/
基本上与此相同:https://stackoverflow.com/questions/25163674/can-you-do-multiple-onprepares-per-browser-inst
我想知道是否有人找到了一种在来自 cucumber.conf.js 文件的不同 multiCapabilities 配置之间切换的方法。目前我有一个配置可以运行并行的 chrome 驱动程序来运行测试
我是一名优秀的程序员,十分优秀!