RemoteWebDriver - 启动32位Internet Explorer

时间:2018-01-30 09:59:16

标签: selenium internet-explorer remotewebdriver selenium-server

我有一个适用于Chrome,Firefox和Internet Explorer 64位的Selenium测试设置。 Selenium-Server-Standalone用于此设置。 64位IEDriverServer存在一些严重的性能问题,即使修复了SendKeys问题(这不是问题)也是如此。使用Chrome需要30秒的序列在IE中需要11分钟(尝试读取IWebElement属性已经花了大约5秒钟)。我正试图让32位运行,这在我以前的工作中顺利运行。

但是,我在尝试启动32位Internet Explorer时出现问题。在启动浏览器之前,一切正常:独立运行。

SeleniumServerStandalone

Chrome启动没有问题(由于客户端而受到审查)。 Chrome launch

Firefox也没有问题。 Firefox launch

Internet Explorer 64位:速度慢,但至少它开始了。 IE 64bit launch

问题

当我尝试使用Internet Explorer 32位驱动程序时,独立版本身会自动启动。在使用代码调用它之后,独立注册呼叫并且不表示任何问题。但是,浏览器本身永远不会启动:最终Visual Studio会暂停。 Call standalone

Error remote webdriver

我发现了许多类似的帖子,但没有一个给定的解决方案有帮助。手动启动IE 32位时,一切正常。事件查看器显示没有错误。有没有人知道问题可能是什么,或者至少知道如何获得更多信息?

提前致谢!

1 个答案:

答案 0 :(得分:1)

我今天偶然发现了答案。我启用了以下设置:

/* Internet Explorer */
var ieo = new InternetExplorerOptions
{
    RequireWindowFocus = true,                  // Required for quick typing when using sendkeys
    ForceCreateProcessApi = true,               // Required for IE private mode
    BrowserCommandLineArguments = "-private",   // Required for IE private mode
};

ForceCreateProcessApi 导致32位驱动程序失败。当我禁用它时,司机突然发动没有任何麻烦。 可悲的是,这并没有解决我的性能问题,但至少我可以将其从可能的解决方案列表中删除。