【问题标题】:Protractor with IE on Windows 10 fails - error code 199Windows 10 上带有 IE 的量角器失败 - 错误代码 199
【发布时间】:2018-04-09 22:52:26
【问题描述】:

我无法让量角器在 Windows 10 上使用 IE 11。它显示 Unable to create new service: InternetExplorerDriverService 并且存在代码 199

我已经尝试过旧的重新安装/升级节点、npm、量角器、webdriver-manager 和 java;它似乎没有任何区别。

量角器在 Chrome 上运行良好;并且在配置中使用 Chrome 不会影响 IE。

我的配置文件:

// protractor.conf.js
exports.config = {
    framework: 'jasmine',
    specs: [
        'protractor/specs/**/*.js'
    ],
    multiCapabilities: [
        {
            browserName: 'internet explorer',
            version: 11,
            'ignoreProtectedModeSettings': true
        }
    ]
};

软件版本:

node --version
v8.9.4

npm --version
5.7.1

protractor --version
Version 5.3.0

java -version
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)

webdriver-manager status
[15:36:53] I/status - selenium standalone version available: 3.9.1 [last]
[15:36:53] I/status - chromedriver version available: 2.35 [last]
[15:36:53] I/status - geckodriver version available: v0.19.1 [last]
[15:36:53] I/status - IEDriverServer version available: 3.9.0 [last]
[15:36:53] I/status - android-sdk is not present
[15:36:53] I/status - appium is not present

完全错误

protractor ./tests/protractor.conf.js

(node:13724) [DEP0022] DeprecationWarning: os.tmpDir() is deprecated. Use os.tmpdir() instead.
[15:37:44] I/launcher - Running 1 instances of WebDriver
[15:37:44] I/local - Starting selenium standalone server...
[15:37:53] I/local - Selenium standalone server started at http://10.1.0.213:52331/wd/hub
[15:37:53] E/launcher - Unable to create new service: InternetExplorerDriverService
Build info: version: '3.9.1', revision: '63f7b50', time: '2018-02-07T22:42:28.403Z'
System info: host: 'my.hostname', ip: '10.1.0.213', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_161'
Driver info: driver.version: unknown
[15:37:53] E/launcher - SessionNotCreatedError: Unable to create new service: InternetExplorerDriverService
Build info: version: '3.9.1', revision: '63f7b50', time: '2018-02-07T22:42:28.403Z'
System info: host: 'my.hostname', ip: '10.1.0.213', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_161'
Driver info: driver.version: unknown
    at Object.checkLegacyResponse (C:\Users\my.username\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\error.js:546:15)
    at parseHttpResponse (C:\Users\my.username\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\http.js:509:13)
    at doSend.then.response (C:\Users\my.username\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\http.js:441:30)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:188:7)
From: Task: WebDriver.createSession()
    at Function.createSession (C:\Users\my.username\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\webdriver.js:769:24)
    at createDriver (C:\Users\my.username\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\index.js:170:33)
    at Builder.build (C:\Users\my.username\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\index.js:635:14)
    at Local.getNewDriver (C:\Users\my.username\AppData\Roaming\npm\node_modules\protractor\built\driverProviders\driverProvider.js:53:33)
    at Runner.createBrowser (C:\Users\my.username\AppData\Roaming\npm\node_modules\protractor\built\runner.js:195:43)
    at q.then.then (C:\Users\my.username\AppData\Roaming\npm\node_modules\protractor\built\runner.js:339:29)
    at _fulfilled (C:\Users\my.username\AppData\Roaming\npm\node_modules\protractor\node_modules\q\q.js:834:54)
    at self.promiseDispatch.done (C:\Users\my.username\AppData\Roaming\npm\node_modules\protractor\node_modules\q\q.js:863:30)
    at Promise.promise.promiseDispatch (C:\Users\my.username\AppData\Roaming\npm\node_modules\protractor\node_modules\q\q.js:796:13)
    at C:\Users\my.username\AppData\Roaming\npm\node_modules\protractor\node_modules\q\q.js:604:44
[15:37:53] E/launcher - Process exited with error code 199

手动运行 InternetExplorerDriverService 会打开一个窗口,上面写着

Started InternetExplorerDriver server (32-bit)
3.9.0.0
Listening on port 5555
Only local connections are allowed

但这不会改变结果。

【问题讨论】:

标签: internet-explorer protractor windows-10


【解决方案1】:

为我做的主要事情是重命名下载的文件! npm/selenium 下载 C:\Users\my.username\AppData\Roaming\npm\node_modules\protractor\node_modules\webdriver-manager\selenium\IEDriverServer3.9.0.exe 出于绝望我删除了版本,在同一文件夹中将其重命名为 IEDriverServer.exe;这样就成功了。

由于这个项目的环境性质,我还需要让安全团队允许它运行;这可能并不适用于所有人。

还有一个我在 wiki 上找到的陷阱列表;我不需要编辑我的注册表(无论如何我都无权访问它),所以也许把它作为最后的手段。

也来自维基 https://github.com/SeleniumHQ/selenium/wiki/InternetExplorerDriver

所需配置

  • 必须下载 IEDriverServer 可执行文件并将其放置在您的 PATH 中。
  • 在 IE 7 或更高版本的 Windows Vista 或 Windows 7 上,您必须将每个区域的保护模式设置设置为相同的值。该值可以打开或关闭,只要每个区域都相同。要设置保护模式设置,请从“工具”菜单中选择“Internet 选项...”,然后单击“安全”选项卡。对于每个区域,标签底部都有一个标记为“启用保护模式”的复选框。
  • 此外,对于 IE 10 及更高版本,必须禁用“增强保护模式”。此选项位于 Internet 选项对话框的高级选项卡中。
  • 必须将浏览器缩放级别设置为 100%,以便可以将本机鼠标事件设置为正确的坐标。
  • 对于 Windows 10,您还需要在显示设置中将“更改文本、应用程序和其他项目的大小”设置为 100%。
  • 仅对于 IE 11,您需要在目标计算机上设置一个注册表项,以便驱动程序可以保持与其创建的 Internet Explorer 实例的连接。对于 32 位 Windows 安装,您必须在注册表编辑器中检查的键是 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BFCACHE。对于 64 位 Windows 安装,密钥是 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BFCACHE。请注意FEATURE_BFCACHE 子键可能存在也可能不存在,如果不存在则应创建它。重要提示:在此键中,创建一个名为 iexplore.exe 的 DWORD 值,值为 0。

如果您收到错误提示

SessionNotCreatedError: Unexpected error launching Internet Explorer. Protected Mode settings are not the same for all zones. Enable Protected Mode must be set to the same value (enabled or disabled) for all zones.

然后您需要打开 IE 并确保所有区域的设置都相同,即可以全部打开或全部关闭,但必须相同。可能最好从一开始就尝试使用它,以减少与原始问题无关的不良行为者带来的风险。

在企业环境中,这可能需要管理员访问权限,和/或可能需要在每次登录/重启后执行,因为它似乎可以通过策略设置(但这超出了我的知识范围)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-24
    • 1970-01-01
    相关资源
    最近更新 更多