3

在执行测试用例时,字符的输入速度非常慢。我正在使用 Windows10 + Selenium 2.39 + IE 11 + IEDriverServer(64 位),也尝试用 32 位替换它,但无济于事。检查了所有安全区域设置并尝试了所有可用的在线资源。任何解决方案或我应该降级操作系统到Windows 7(因为它在win7上运行良好)。

4

3 回答 3

1

请尝试使用 IEDriverServer(32bit) 解决此问题。

于 2018-03-09T07:38:25.300 回答
0

我的问题是 IEdriver 64bit 输入速度很慢。我尝试在 Internet 选项~高级下单击“启用增强保护模式”。但这对我正在开发的 Windows 2012 64 位 IIS VM 没有帮助。

Main 下没有 TabProcGrowth 注册表项。

所以我按照其他人的建议使用 seleniumhq.org 的 32 位版本。但这并没有解决我的问题。

然后我取消选中 Internet 选项中的“启用增强保护模式”。这解决了我的问题。

于 2019-08-15T18:41:01.303 回答
0

当我尝试使用 IEDriver 32 位的“InPrivate”浏览时,我遇到了同样的慢速打字问题。InPrivate 模式是为了确保保存的凭据不会用于“首次用户注册/登录”测试场景,其中包括用于发送确认码的多因素身份验证步骤。

事实证明,将“InPrivate”选项与 IEDriver 和ForceCreateProcessApi = true选项一起使用会触发 64 位进程启动,然后该 64 位进程会调用 IE 浏览器。我不确定浏览器是 64 位还是 32 位,但 32 位 IEDriver 在向在这个 64 位 Windows 10 进程中运行的 IE 11 浏览器发送击键时非常慢。

IEDriver 32 位方法需要使用 ForceCreateProcessApi 选项,才能使组合工作。
由此产生的超慢输入测试使整体测试速度慢得令人无法接受。

这对我有用:

  • 使用 64 位 IEDriver
  • 不要指定“ForceCreateProcessApi = true”选项
  • 添加或更改注册表值:HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\TabProcGrowth TabProcGrowth 是 Internet Explorer\Main 项下的值。我在 Internet Explorer\Main 下为 TabProcGrowth 创建了一个 DWord 值,并将该值设置为 0。

设置 IEDriver 的代码如下所示:

InternetExplorerOptions ieOptions = new InternetExplorerOptions();
ieOptions.IntroduceInstabilityByIgnoringProtectedModeSettings = true;
ieOptions.IgnoreZoomLevel = true;
ieOptions.BrowserCommandLineArguments.Insert(0,"-private");
var _driver64 = new InternetExplorerDriver($"{Directory.GetCurrentDirectory()}", ieOptions);
_driver64.Manage().Window.Maximize();
_driver64.Navigate().GoToUrl("https://www.mypage.com");

则交互代码与 32 位代码相同,如下:

IWebElement userName = _driver64.FindElement(By.XPath("//*[@id=\"username\"]"));
userName.SendKeys("MyUserID");

我从这里成功使用了 64 位 IEDriver: https ://www.seleniumhq.org/download/ 查找标题“Internet Explorer 驱动程序服务器”并找到 64 位版本。当时发布的版本自我报告为版本 3.14.0.0。

最终我想使用 NuGet 包,我想要一个包,其中 exe 的名称是“IEDriverServer.exe”,与 32 位文件名相同。我最终使用了这个: https ://www.nuget.org/packages/WebDriver.IEDriverServer.win64/3.141.0,GitHub 位置为: https ://github.com/SeriousM/WebDriver.IEDriverServer-nuget

到目前为止,它对我来说效果很好。

于 2019-05-23T03:36:39.877 回答