Selenium WebDriver在测试BackboneJS Web应用程序时意外开始执行速度极慢

时间:2015-12-01 03:14:30

标签: c# selenium backbone.js selenium-webdriver

我使用 Selenium WebDriver + ChromeDriver 使用 C# 编写了一组UI测试(总共大约40个) > + NUnit

直到上周,执行该套装需要大约40-50分钟。然后突然执行时间增加了两倍,现在需要大约2小时30分钟。测试和测试框架本身没有变化。

问题出现后,我将Selenium WebDriver库和ChromeDriver更新到最新版本(Selenium 2.48.2.0)。它根本没有帮助我。

我们测试测试的Web应用程序是使用 BackboneJS 编写的。我与我们的开发人员进行了交流。他们声称代码本身没有重大变化。

最有趣的部分是,当测试开始运行速度稍慢时,我们已经遇到过这种情况,但时差并不是那么大。

我做过的调查和结论:

  • 不依赖于浏览器和浏览器驱动程序。相同 慢慢是在Firefox或Chrome中运行测试时;
  • 不依赖于运行测试的计算机。 同样的缓慢是在不同的PC上;
  • 不依赖于环境。我检查了2个不同的 (不同的服务器和配置)。我们都一样 网络应用程序;
  • 我也做了互联网上提出的所有可能的技巧 (在设置中禁用代理,虽然它没有使用。关闭Chrome中的硬件加速,虽然当selenium创建浏览器实例时它总是打开。尝试不同版本的WebDriver等)。什么都没有帮助;
  • 我还确保我们针对“任何CPU”以避免问题 描述here

我安装了dotTrace并对其中一个测试进行了分析。测试执行的几乎所有时间都是由诸如FindElement或GetText之类的selenium方法执行的。挖掘方法我发现 System.Net.HttpWebRequest.GetResponce 几乎占用了所有时间。

我没有想法“为什么?”。页面完全加载并快速加载。首先,我认为前端javascript存在一些问题,可能是异步代码等,在Devtools中进行了分析,没有任何可疑之处。

我猜Selenium和BackboneJS的沟通可能会失败。在UI中没有明显的东西,但肯定有影响力。

这对我们来说非常令人沮丧和批评。如果有人对可能有影响或有类似问题的想法有任何想法,请分享。我很感激任何想法和经验。

谢谢。

0 个答案:

没有答案