1

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

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

SeleniumServerStandalone

Chrome 启动时没有问题(因客户端而被审查)。 铬启动

Firefox 也没有问题。 火狐启动

和 Internet Explorer 64 位:慢,但至少可以启动。 IE 64 位启动

问题

当我尝试使用 Internet Explorer 32 位驱动程序时,独立程序本身可以毫无问题地启动。在代码中调用它后,独立的会注册调用并且不表示任何问题。但是,浏览器本身永远不会启动:最终 Visual Studio 只是给出了一个超时。 单独调用

远程网络驱动程序出错

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

提前致谢!

4

1 回答 1

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 位驱动程序失败。当我禁用它时,驱动程序突然启动而没有任何问题。可悲的是,这并没有解决我的性能问题,但至少我可以将其从可能的解决方案列表中删除。

于 2018-02-20T16:13:46.527 回答