我使用 Selenium WebDriver + ChromeDriver 使用 C#
编写了一组UI测试(总共大约40个) > + NUnit 。
直到上周,执行该套装需要大约40-50分钟。然后突然执行时间增加了两倍,现在需要大约2小时30分钟。测试和测试框架本身没有变化。
问题出现后,我将Selenium WebDriver库和ChromeDriver更新到最新版本(Selenium 2.48.2.0)。它根本没有帮助我。
我们测试测试的Web应用程序是使用 BackboneJS 编写的。我与我们的开发人员进行了交流。他们声称代码本身没有重大变化。
最有趣的部分是,当测试开始运行速度稍慢时,我们已经遇到过这种情况,但时差并不是那么大。
我做过的调查和结论:
我安装了dotTrace并对其中一个测试进行了分析。测试执行的几乎所有时间都是由诸如FindElement或GetText之类的selenium方法执行的。挖掘方法我发现 System.Net.HttpWebRequest.GetResponce
几乎占用了所有时间。
我没有想法“为什么?”。页面完全加载并快速加载。首先,我认为前端javascript存在一些问题,可能是异步代码等,在Devtools中进行了分析,没有任何可疑之处。
我猜Selenium和BackboneJS的沟通可能会失败。在UI中没有明显的东西,但肯定有影响力。
这对我们来说非常令人沮丧和批评。如果有人对可能有影响或有类似问题的想法有任何想法,请分享。我很感激任何想法和经验。
谢谢。