【问题标题】:Selenium Tests run very slow on Internet ExplorerSelenium 测试在 Internet Explorer 上运行非常缓慢
【发布时间】:2017-03-20 11:22:29
【问题描述】:

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

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

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

【问题讨论】:

    标签: python selenium internet-explorer-11


    【解决方案1】:

    参考这个 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,请转换代码并尝试..

    【讨论】:

    • 我试过32位驱动。它比 64 位驱动程序快,但仍然很慢。我在我的问题中提到了它。
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-09-14
      • 1970-01-01
      • 1970-01-01
      • 2015-03-11
      • 1970-01-01
      • 2014-11-10
      • 2018-03-02
      相关资源
      最近更新 更多