使用 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