在新版本的量角器中发现了额外的标志错误

时间:2017-01-11 13:58:59

标签: node.js npm protractor

我正在尝试使用量角器运行js脚本,但我收到了以下错误

C:\Users\Hoodi\AppData\Roaming\npm\node_modules\protractor\built\cli.js:172
        throw new Error('Found extra flags: ' + unknownKeys.join(', '));
        ^

Error: Found extra flags: identityManagement
    at Object.<anonymous> (C:\Users\Hoodi\AppData\Roaming\npm\node_modules\protractor\built\cli.js:172:15)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
    at Module.require (module.js:497:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (C:\Users\Hoodi\AppData\Roaming\npm\node_modules\protractor\bin\protractor:5:1)
    at Module._compile (module.js:570:32)

我的配置文件

// conf.js
exports.config = {
  framework: 'jasmine',
  seleniumAddress: 'http://localhost:4444/wd/hub',
  useAllAngular2AppRoots: true,

  // Options to be passed to Jasmine-node.
  jasmineNodeOpts: {
    // Use colors in the command line report.
    showColors: true,

    // Default time to wait in ms before a test fails.
    defaultTimeoutInterval: 60000,
  },

  onPrepare: function() {
      require('../../lib/waitReady.js');
  },

  capabilities :{
      browserName : 'chrome',
  }
}

console.dir("argv: " + process.argv)

switch(process.argv[3]) {
    case '--identityManagement':
        exports.config.specs = ['./identityManagement.js'];
        break;
    default:
        exports.config.specs = ['./identityManagement.js'];
}

我尝试使用量角器以及&#34; npm run&#34;执行上述脚本。命令,但在这两种情况下,我得到相同的错误。我用过的命令

protractor ./conf.js --identityManagement

npm run im

这实际上适用于我的其他系统。 npm和系统的节点版本

node v7.2.1
npm  v3.10.10

哪里不起作用

node v7.4.0
npm  v4.0.5

我的package.json文件看起来像这样

{
  "name": "intelliflash",
  "author": "Vishwanath Rawat <rawat@tegile.com>",
  "description": "IntelliFlash tests",
  "scripts": {
    "im": "protractor ./conf.js --identityManagement"
  }
}

请帮忙。

1 个答案:

答案 0 :(得分:5)

它与您的npm或节点版本无关, Protractor 5.0 的最新版本已经检查了未识别标志的cli,因为您正在使用帮助process.argv。

您可以通过禁用标记检查来解决此问题:

 protractor ./conf.js --identityManagement --disableChecks

有关详细信息,请参阅量角器5.0 changelog

注意: min节点版本现在是v6.9.x,支持这个量角器版本