繁体   English   中英

Selenium 测试在 Internet Explorer 上运行非常缓慢

[英]Selenium Tests run very slow on Internet Explorer

我正在为我的应用程序编写自动化测试。 测试在谷歌浏览器上运行良好。 但是当我在 Internet Explorer 11 上运行它们时,它们的运行速度非常慢。 当我在 chrome 上运行它们时,一个测试用例在近 5 分钟内完成。 但是在 IE11 上,我已经运行了一个测试用例将近 3 个小时,并且测试只进行了第二步。 我尝试过以下事情以使它们更快

  1. 我使用了 32 位 Internet Explorer 驱动程序(我使用的是 64 位 Windows)。 与 64 位驱动程序相比,它工作得很快,但仍然很慢。
  2. 与 CSS 定位器相比,XPATH 速度较慢,因此我将所有 XPATH 定位器替换为 Z2C56C360580D805EDLocators. 它提高了 Chrome 的速度,但对于 Internet Explorer,速度与以前相比没有太大差异。
  3. 我尝试在其他网站上为 Internet Explorer 运行一些简单的脚本,它们运行良好。 但是,当我为 myapp 编写类似的脚本时,我只是打开了一些页面并单击了一个按钮,而在 Chrome 上花了 10 多分钟,而用了不到 1 分钟。
  4. 我没有使用任何隐式等待(硬编码等待,比如告诉代码停止执行 5 秒)。 相反,在所有代码中,我基于某些元素的可见性使用等待。 这提高了 Chrome 和 Firefox 的时间,但对于 Internet Explorer,速度并没有提高。
  5. 我还修改了我的代码以减少对 DOM 的冗余访问,但这也不会减少测试时间。

谁能指导我如何使我的测试用例更快? 我的应用程序是用 AngularJS 编写的,我无权访问应用程序的代码。 我所能做的就是在测试方面让它们更快。

请参阅此github评论: https//github.com/SeleniumHQ/selenium-google-code-issue-archive/issues/5116#issuecomment-192106534

*我认为这可能是一个问题,或者,

可能是javascript正在创建问题,尝试在测试期间禁用它,看看是否有帮助

并尝试这个代码,

InternetExplorerOptions options = new InternetExplorerOptions();
options.IntroduceInstabilityByIgnoringProtectedModeSettings = true;
options.RequireWindowFocus = true;
driver = new InternetExplorerDriver(options);

抱歉,我不熟悉python,请转换代码并尝试..

我发现对FindElements的调用花了很长时间,只需在下面设置这个InternetExplorerOptions就可以加快速度。

 var ieOptions = new InternetExplorerOptions(); ieOptions.EnablePersistentHover = false; 

对我来说,解决方法是切换到 InternetExplorerDriver.exe 的 32 位版本,现在看似命名为 IEDriverServer,但只要将其重命名为 InternetExplorerDriver.exe 即可。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM