使用 grunt-protractor-runner 将 "process.argv[3]" 之类的参数传递给量角器
passing arguments like "process.argv[3]" to protractor using grunt-protractor-runner
我将一些参数传递给量角器,例如 --chrome
,在量角器配置中,我使用 process.argv[3]==--chrome
来获取所需的浏览器功能。能够 运行 成功使用 protractor <config file> --chrome
可是说到grunt-protractor-runner
,我就没法反驳了。
有什么建议吗?
您应该能够使用 grunt.option 并能够通过命令行传递参数。
我用一个修改浏览器
var browser = grunt.option('browser') || "" ;
然后我们使用 grunt-env
grunt.initConfig({
env : {
options : { },
prod : {
TUNNEL : 0,
BROWSER: browser,
CUSTSUITE : custSuite,
BROWSERSUITE: browserSuite,
ENVIR : 'prod',
SHARDS : shards,
TAG : 'Prod',
BUILD : build,
OS : os
},
},
grunt.loadNpmTasks('grunt-env');
grunt.registerTask('prod', [
'env:prod'
]);
在我的 conf.js 中,我们可以像这样访问浏览器
if(process.env.BROWSER ==="ie"){
exports.config.capabilities.browserName = 'internet explorer';
exports.config.capabilities.version = '11';
exports.config.seleniumAddress = 'http://ie11.dev:4444/wd/hub';
}
那么我的 grunt 命令就是这样
grunt prod --specs=tests/myspec.js --browser=ie
我将一些参数传递给量角器,例如 --chrome
,在量角器配置中,我使用 process.argv[3]==--chrome
来获取所需的浏览器功能。能够 运行 成功使用 protractor <config file> --chrome
可是说到grunt-protractor-runner
,我就没法反驳了。
有什么建议吗?
您应该能够使用 grunt.option 并能够通过命令行传递参数。
我用一个修改浏览器
var browser = grunt.option('browser') || "" ;
然后我们使用 grunt-env
grunt.initConfig({
env : {
options : { },
prod : {
TUNNEL : 0,
BROWSER: browser,
CUSTSUITE : custSuite,
BROWSERSUITE: browserSuite,
ENVIR : 'prod',
SHARDS : shards,
TAG : 'Prod',
BUILD : build,
OS : os
},
},
grunt.loadNpmTasks('grunt-env');
grunt.registerTask('prod', [
'env:prod'
]);
在我的 conf.js 中,我们可以像这样访问浏览器
if(process.env.BROWSER ==="ie"){
exports.config.capabilities.browserName = 'internet explorer';
exports.config.capabilities.version = '11';
exports.config.seleniumAddress = 'http://ie11.dev:4444/wd/hub';
}
那么我的 grunt 命令就是这样
grunt prod --specs=tests/myspec.js --browser=ie