Protractor 测试用例在 Internet Explorer 11 中不起作用 [英] Protractor Test Cases Not Working in Internet Explorer 11

查看:27
本文介绍了Protractor 测试用例在 Internet Explorer 11 中不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Protractor 测试用例在 Windows 10 Enterprise 上的 Internet Explorer 11 中不起作用

Protractor.conf.js 有以下配置.seleniumAddress: 'http://localhost:4444/wd/hub',seleniumArgs: ['-Dwebdriver.ie.driver=node_modules/protractor/selenium/IEDriverServer.exe'],多能力:[{browserName: '网络浏览器',平台":任何",版本":11"}]

当我尝试运行任一 ng e2e 命令来运行测试用例时,我得到 <块引用>

Driver.version:未知异常,如下所示.

**异常跟踪:**[11:37:33] I/update - chromedriver: chromedriver_2.42.exe 是最新的[11:37:33] I/launcher - 运行 1 个 WebDriver 实例[11:37:33] I/hosted - 在 http://localhost:4444/wd/hub 使用 selenium 服务器[11:37:37] E/launcher - 无法从 {所需能力":{计数":1,"browserName": "Internet Explorer",版本":11",平台":任何"},能力":{第一场比赛":[{"browserName": "Internet Explorer"}]}}构建信息:版本:'3.14.0',修订:'aacccce0',时间:'2018-08-02T20:13:22.693Z'系统信息:主机:'DN13961',ip:'10.12.56.135',os.name:'Windows 10',os.arch:'amd64',os.version:'10.0',java.version:'1.8.0_151'驱动程序信息:驱动程序版本:未知[11:37:37] E/launcher - SessionNotCreatedError: Unable to create session from {所需能力":{计数":1,"browserName": "Internet Explorer",版本":11",平台":任何"},能力":{第一场比赛":[{"browserName": "Internet Explorer"}]}}构建信息:版本:'3.14.0',修订:'aacccce0',时间:'2018-08-02T20:13:22.693Z'系统信息:主机:'DN13961',ip:'10.12.56.135',os.name:'Windows 10',os.arch:'amd64',os.version:'10.0',java.version:'1.8.0_151'驱动程序信息:驱动程序版本:未知在 Object.checkLegacyResponse (C:UsersatptszkDocumentscui1001cui-trial01cui
ode_modulesselenium-webdriverliberror.js:546:15)在 parseHttpResponse (C:UsersatptszkDocumentscui1001cui-trial01cui
ode_modulesselenium-webdriverlibhttp.js:509:13)在 doSend.then.response (C:UsersatptszkDocumentscui1001cui-trial01cui
ode_modulesselenium-webdriverlibhttp.js:441:30)在<匿名>在 process._tickCallback (internal/process/next_tick.js:188:7)来自:任务:WebDriver.createSession()在 Function.createSession (C:UsersatptszkDocumentscui1001cui-trial01cui
ode_modulesselenium-webdriverlibwebdriver.js:769:24)在 createDriver (C:UsersatptszkDocumentscui1001cui-trial01cui
ode_modulesselenium-webdriverindex.js:170:33)在 Builder.build (C:UsersatptszkDocumentscui1001cui-trial01cui
ode_modulesselenium-webdriverindex.js:635:14)在 Hosted.getNewDriver (C:UsersatptszkDocumentscui1001cui-trial01cui
ode_modulesprotractoruiltdriverProvidersdriverProvider.js:53:33)在 Runner.createBrowser (C:UsersatptszkDocumentscui1001cui-trial01cui
ode_modulesprotractoruilt
unner.js:195:43)在 q.then.then (C:UsersatptszkDocumentscui1001cui-trial01cui
ode_modulesprotractoruilt
unner.js:339:29)在 _fulfilled (C:UsersatptszkDocumentscui1001cui-trial01cui
ode_modulesqq.js:834:54)在 self.promiseDispatch.done (C:UsersatptszkDocumentscui1001cui-trial01cui
ode_modulesqq.js:863:30)在 Promise.promise.promiseDispatch (C:UsersatptszkDocumentscui1001cui-trial01cui
ode_modulesqq.js:796:13)在 C:UsersatptszkDocumentscui1001cui-trial01cui
ode_modulesqq.js:556:49在 runSingle (C:UsersatptszkDocumentscui1001cui-trial01cui
ode_modulesqq.js:137:13)冲洗时 (C:UsersatptszkDocumentscui1001cui-trial01cui
ode_modulesqq.js:125:13)在 _combinedTickCallback (internal/process/next_tick.js:131:7)在 process._tickCallback (internal/process/next_tick.js:180:9)[11:37:37] E/launcher - 进程退出,错误代码为 199

我做了如下几次试验.

  1. 我已尝试手动下载 IEDriverServer.exe 并在运行 ng e2e 之前手动启动它.
  2. 下载 IEDriverServer.exe 并复制到 selenium 目录下 ode_modulesprotractor ode_moduleswebdriver-managerselenium 然后运行 ​​webdriver-manager updatewebdriver-manager start 然后 ng e2e 但我得到了同样的异常.

解决方案

  1. package.json 将有如下脚本.(您必须在脚本标签下添加它).
    "webdriver-nodemodules-update-all-drivers": "cd . ode_modulesprotractor ode_moduleswebdriver-managerin & webdriver-manager update --standalone & webdriver-manager update --versions.gecko=v0.22.0 & webdriver-manager 更新 --ie"
  2. 确保 protractor.conf.js 有 localSeleniumStandaloneOpts &multiCapabilities 代码图像.这样做. 截断的图像代码(未格式化)在下面(复制下面的代码并在您的 idepls 中对其进行格式化,请在此处参考代码图像并进行类似配置.)protractor.conf 和格式化代码.

    //直接连接:真,localSeleniumStandaloneOpts:{//jvmArgs : ["-Dwebdriver.ie.driver="]//例如:"node_modules/protractor/node_modules/webdriver-manager/selenium/IEDriverServer_x64_X.XX.X.exe"jvmArgs : ["-Dwebdriver.ie.driver=node_modules//protractor//node_modules//webdriver-manager//selenium//IEDriverServer3.14.0.exe"]//eg: "node_modules/protractor/node_modules/webdriver-manager/硒/IEDriverServer_x64_X.XX.X.exe"},'autoStartStopServer':是的,多能力:[{浏览器名称":铬",铬选项:{//参数:['--headless', '--disable-gpu', '--window-size=1920,1080']},接受InsecureCerts:真,shardTestFiles:真},{'browserName': '火狐',木偶":是的,火狐选项:{//参数:['--headless']},'moz:firefoxOptions': {参数:['--headless']},直接连接:假,},{'browserName': '互联网浏览器',平台":任何",版本":11"}],

  3. 然后运行 ​​3 个命令 - 'npm install'、'npm run webdriver-nodemodules-update-all-drivers' 然后 'ng e2e' 在 (chrome/firefox/internet explorer) 上运行测试用例浏览器.请注意,webdriver-nodemodules-update-all-drivers 命令只有在您执行了第 1 步后才会运行.

Protractor Test Cases Not Working in Internet Explorer 11 on Windows 10 Enterprise

Protractor.conf.js has below configuration.

seleniumAddress: 'http://localhost:4444/wd/hub',
seleniumArgs: ['-Dwebdriver.ie.driver=node_modules/protractor/selenium/IEDriverServer.exe'],

multiCapabilities: [
  {
    browserName: 'internet explorer',
    'platform': 'ANY',
    'version': '11'
  }
]

When I try to run either ng e2e command to run the test cases, I get

Driver.version: unknown exception like below.

**Exception Trace:** 

[11:37:33] I/update - chromedriver: chromedriver_2.42.exe up to date
[11:37:33] I/launcher - Running 1 instances of WebDriver
[11:37:33] I/hosted - Using the selenium server at http://localhost:4444/wd/hub
[11:37:37] E/launcher - Unable to create session from {
  "desiredCapabilities": {
    "count": 1,
    "browserName": "internet explorer",
    "version": "11",
    "platform": "ANY"
  },
  "capabilities": {
    "firstMatch": [
      {
        "browserName": "internet explorer"
      }
    ]
  }
}
Build info: version: '3.14.0', revision: 'aacccce0', time: '2018-08-02T20:13:22.693Z'
System info: host: 'DN13961', ip: '10.12.56.135', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_151'
Driver info: driver.version: unknown
[11:37:37] E/launcher - SessionNotCreatedError: Unable to create session from {
  "desiredCapabilities": {
    "count": 1,
    "browserName": "internet explorer",
    "version": "11",
    "platform": "ANY"
  },
  "capabilities": {
    "firstMatch": [
      {
        "browserName": "internet explorer"
      }
    ]
  }
}
Build info: version: '3.14.0', revision: 'aacccce0', time: '2018-08-02T20:13:22.693Z'
System info: host: 'DN13961', ip: '10.12.56.135', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_151'
Driver info: driver.version: unknown
    at Object.checkLegacyResponse (C:UsersatptszkDocumentscui1001cui-trial01cui
ode_modulesselenium-webdriverliberror.js:546:15)
    at parseHttpResponse (C:UsersatptszkDocumentscui1001cui-trial01cui
ode_modulesselenium-webdriverlibhttp.js:509:13)
    at doSend.then.response (C:UsersatptszkDocumentscui1001cui-trial01cui
ode_modulesselenium-webdriverlibhttp.js:441:30)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:188:7)
From: Task: WebDriver.createSession()
    at Function.createSession (C:UsersatptszkDocumentscui1001cui-trial01cui
ode_modulesselenium-webdriverlibwebdriver.js:769:24)
    at createDriver (C:UsersatptszkDocumentscui1001cui-trial01cui
ode_modulesselenium-webdriverindex.js:170:33)
    at Builder.build (C:UsersatptszkDocumentscui1001cui-trial01cui
ode_modulesselenium-webdriverindex.js:635:14)
    at Hosted.getNewDriver (C:UsersatptszkDocumentscui1001cui-trial01cui
ode_modulesprotractoruiltdriverProvidersdriverProvider.js:53:33)
    at Runner.createBrowser (C:UsersatptszkDocumentscui1001cui-trial01cui
ode_modulesprotractoruilt
unner.js:195:43)
    at q.then.then (C:UsersatptszkDocumentscui1001cui-trial01cui
ode_modulesprotractoruilt
unner.js:339:29)
    at _fulfilled (C:UsersatptszkDocumentscui1001cui-trial01cui
ode_modulesqq.js:834:54)
    at self.promiseDispatch.done (C:UsersatptszkDocumentscui1001cui-trial01cui
ode_modulesqq.js:863:30)
    at Promise.promise.promiseDispatch (C:UsersatptszkDocumentscui1001cui-trial01cui
ode_modulesqq.js:796:13)
    at C:UsersatptszkDocumentscui1001cui-trial01cui
ode_modulesqq.js:556:49
    at runSingle (C:UsersatptszkDocumentscui1001cui-trial01cui
ode_modulesqq.js:137:13)
    at flush (C:UsersatptszkDocumentscui1001cui-trial01cui
ode_modulesqq.js:125:13)
    at _combinedTickCallback (internal/process/next_tick.js:131:7)
    at process._tickCallback (internal/process/next_tick.js:180:9)
[11:37:37] E/launcher - Process exited with error code 199

Couple of trials I did as below.

  1. I have tried manually downloading the IEDriverServer.exe and started it manually before running ng e2e.
  2. Downloaded the IEDriverServer.exe and copied under selenium dir ode_modulesprotractor ode_moduleswebdriver-managerselenium and then ran webdriver-manager update and webdriver-manager start and then ng e2e but I'm getting the same exception.

解决方案

  1. package.json will have script like below. (You have to add it under scripts tag).
    "webdriver-nodemodules-update-all-drivers": "cd . ode_modulesprotractor ode_moduleswebdriver-managerin & webdriver-manager update --standalone & webdriver-manager update --versions.gecko=v0.22.0 & webdriver-manager update --ie"
  2. Make sure protractor.conf.js has localSeleniumStandaloneOpts & multiCapabilities Code Image. Do like this. image code snipped (Unformatted) is below (Copy below code and format it in your ide- pls refer code image here and configure like that.) protractor.conf and format code.

    //directConnect: true, localSeleniumStandaloneOpts : { //jvmArgs : ["-Dwebdriver.ie.driver="] // e.g: "node_modules/protractor/node_modules/webdriver-manager/selenium/IEDriverServer_x64_X.XX.X.exe" jvmArgs : ["-Dwebdriver.ie.driver=node_modules//protractor//node_modules//webdriver-manager//selenium//IEDriverServer3.14.0.exe"] // e.g: "node_modules/protractor/node_modules/webdriver-manager/selenium/IEDriverServer_x64_X.XX.X.exe" }, 'autoStartStopServer': true, multiCapabilities:[ { 'browserName': 'chrome', chromeOptions: { // args: ['--headless', '--disable-gpu', '--window-size=1920,1080'] }, acceptInsecureCerts: true, shardTestFiles: true }, { 'browserName': 'firefox', 'marionette': true, firefoxOptions: { // args: ['--headless'] }, 'moz:firefoxOptions': { args: [ '--headless' ] }, directConnect: false, }, { 'browserName': 'internet explorer', 'platform': 'ANY', 'version': '11' } ],

  3. Then do run 3 commands - 'npm install', 'npm run webdriver-nodemodules-update-all-drivers' and then 'ng e2e' to run the test cases on (chrome/firefox/internet explorer) browsers. Note that webdriver-nodemodules-update-all-drivers command will only run if you have followed step 1.

这篇关于Protractor 测试用例在 Internet Explorer 11 中不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆