Protractor 测试用例在 Internet Explorer 11 中不起作用 [英] Protractor Test Cases Not Working in 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 命令来运行测试用例时,我得到 p><块引用>
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
我做了如下几次试验.
- 我已尝试手动下载 IEDriverServer.exe 并在运行 ng e2e 之前手动启动它.
- 下载 IEDriverServer.exe 并复制到 selenium 目录下
ode_modulesprotractor ode_moduleswebdriver-managerselenium
然后运行 webdriver-manager update
和webdriver-manager start
然后ng e2e
但我得到了同样的异常.
- 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" 确保 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 个命令 - '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.
- I have tried manually downloading the IEDriverServer.exe and started it manually before running ng e2e.
- Downloaded the IEDriverServer.exe and copied under selenium dir
ode_modulesprotractor ode_moduleswebdriver-managerselenium
and then ranwebdriver-manager update
andwebdriver-manager start
and thenng e2e
but I'm getting the same exception.
- 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" 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' } ],
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屋!