angularjs - 无法通过 Protractor JS 在 IE11 上运行多重兼容性测试

标签 angularjs node.js internet-explorer selenium-webdriver protractor

我想通过 Protractor 2.0 在 Node.JS 上使用 Selenium 运行跨浏览器测试。

FF和Chrome实例运行正常,只有IE11打不开。

当我尝试这样做时,出现以下错误:

c:\automation\tests>protractor conf.js
[launcher] Running 3 instances of WebDriver

------------------------------------
[internet explorer #3] PID: 8904
[internet explorer #3] Specs: c:\automation\tests\message.js
[internet explorer #3]
[internet explorer #3] Using the selenium server at http://localhost:4444/wd/hub

[internet explorer #3] ERROR - Unable to start a WebDriver session.
[internet explorer #3]
[internet explorer #3] C:\Users\idan\AppData\Roaming\npm\node_modules\protractor
\node_modules\selenium-webdriver\lib\atoms\error.js:113
[internet explorer #3]   var template = new Error(this.message);
[internet explorer #3]                  ^
[internet explorer #3] UnknownError: The path to the driver executable must be s
et by the webdriver.ie.driver system property; for more information, see http://
code.google.com/p/selenium/wiki/InternetExplorerDriver. The latest version can b
e downloaded from http://selenium-release.storage.googleapis.com/index.html
[internet explorer #3]     at new bot.Error (C:\Users\idan\AppData\Roaming\npm\n
ode_modules\protractor\node_modules\selenium-webdriver\lib\atoms\error.js:113:18
)
[internet explorer #3]     at Object.bot.response.checkResponse (C:\Users\idan\A
ppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\a
toms\response.js:106:9)
[internet explorer #3]     at C:\Users\idan\AppData\Roaming\npm\node_modules\pro
tractor\node_modules\selenium-webdriver\lib\webdriver\webdriver.js:158:24
[internet explorer #3]     at [object Object].promise.ControlFlow.runInFrame_ (C
:\Users\idan\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-w
ebdriver\lib\webdriver\promise.js:1877:20)
[internet explorer #3]     at [object Object].promise.Callback_.goog.defineClass
.notify (C:\Users\idan\AppData\Roaming\npm\node_modules\protractor\node_modules\
selenium-webdriver\lib\webdriver\promise.js:2464:25)
[internet explorer #3]     at [object Object].promise.Promise.notify_ (C:\Users\
idan\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver
\lib\webdriver\promise.js:563:12)
[internet explorer #3]     at Array.forEach (native)
[internet explorer #3]     at Object.goog.array.forEach (C:\Users\idan\AppData\R
oaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\goog\arra
y\array.js:203:43)
[internet explorer #3]     at [object Object].promise.Promise.notifyAll_ (C:\Use
rs\idan\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdri
ver\lib\webdriver\promise.js:552:16)
[internet explorer #3]     at goog.async.run.processWorkQueue (C:\Users\idan\App
Data\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\goo
g\async\run.js:125:21)
[internet explorer #3] From: Task: WebDriver.createSession()
[internet explorer #3]     at Function.webdriver.WebDriver.acquireSession_ (C:\U
sers\idan\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webd
river\lib\webdriver\webdriver.js:155:22)
[internet explorer #3]     at Function.webdriver.WebDriver.createSession (C:\Use
rs\idan\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdri
ver\lib\webdriver\webdriver.js:129:30)
[internet explorer #3]     at [object Object].Builder.build (C:\Users\idan\AppDa
ta\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\builder.j
s:416:22)
[internet explorer #3]     at [object Object].DriverProvider.getNewDriver (C:\Us
ers\idan\AppData\Roaming\npm\node_modules\protractor\lib\driverProviders\driverP
rovider.js:38:7)
[internet explorer #3]     at [object Object].Runner.createBrowser (C:\Users\ida
n\AppData\Roaming\npm\node_modules\protractor\lib\runner.js:180:37)
[internet explorer #3]     at C:\Users\idan\AppData\Roaming\npm\node_modules\pro
tractor\lib\runner.js:257:21
[internet explorer #3]     at _fulfilled (C:\Users\idan\AppData\Roaming\npm\node
_modules\protractor\node_modules\q\q.js:797:54)
[internet explorer #3]     at self.promiseDispatch.done (C:\Users\idan\AppData\R
oaming\npm\node_modules\protractor\node_modules\q\q.js:826:30)
[internet explorer #3]     at Promise.promise.promiseDispatch (C:\Users\idan\App
Data\Roaming\npm\node_modules\protractor\node_modules\q\q.js:759:13)
[internet explorer #3]     at C:\Users\idan\AppData\Roaming\npm\node_modules\pro
tractor\node_modules\q\q.js:573:44

[launcher] Runner process exited unexpectedly with error code: 1
[launcher] 2 instance(s) of WebDriver still running

我的 session 文件:

exports.config = {

  chromeDriver: 'npm/node_modules/protractor/selenium/chromedriver',
  chromeOnly: false,
  seleniumAddress: 'http://localhost:4444/wd/hub',
  seleniumArgs: [],

  specs: ['message.js'],

  // -=-=- Test cases: -=-=-
  // 'onboarding.js', 'meeting.js', 'message.js', 'document.js', 'payments.js'

  multiCapabilities: [{
  'browserName': 'firefox',
      'cli': {
      'args': ['webdriver.firefox.useExisting=default']
      // 'args': ['webdriver.firefox.useExisting=default', '-jsconsole', '-jsdebugger']
     }}, 

 {
  'browserName': 'chrome',
  'chromeOptions': {
    args: ['--test-type','--memory-metrics','--console','--crash-on-failure'] 
    // '--load-extension=' + 'C:\\Users\\idan\\AppData\\Local\\Google\\Chrome\\User Data\\Default\\Extensions\\idgpnmonknjnojddfkpgkljpfnnfcklj\\1.2.4_0'
  // }
}},

  {
   'browserName': 'internet explorer'

    }],

  // rootElement: '.main',

  framework: "jasmine",

  allScriptsTimeout: 10000,

  getPageTimeout: 10000,

请您帮忙!

谢谢:)

最佳答案

IE 驱动程序未与 Protractor 捆绑。

需要下载IE驱动,找到here 。并将可执行文件放在C:\Users\username\AppData\Roaming\npm\node_modules\protractor\selenium中。

关于angularjs - 无法通过 Protractor JS 在 IE11 上运行多重兼容性测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30162738/

相关文章:

javascript - 是否可以传递带有 vars 的 json 对象作为 angularjs 指令参数?

node.js - 使用 Webpack 捆绑 sha3/二进制模块

javascript - 如何解决 Node.js 脚本中的 require 与 import 问题

html - IE8/9 + Quirks 模式不透明度不起作用

javascript - 如何在运行时添加 SVG 元素 - Angular

javascript - 通过 npm 下载 system-polyfills.js

html - 显示嵌套的 div 失败

javascript - OverCls 在 IE11 中不起作用

javascript - 一段 jquery 代码在 Angular 指令中不起作用

node.js - 生产/构建中的 Material-UI 渲染错误