我在SauceLabs的Chrome浏览器上运行Selenium测试,发现性能异常缓慢。
具体来说,javascript查询(用于选择对象)在Sauce中返回大约200ms,而在本地计算机上运行测试时,相同的查询在大约5ms内返回。这个40倍的差异导致Sauce的总运行时间比在本地运行时长约5倍。
有问题的代码基本上是:
return(List)driver.executeScript(“return jQuery.find('。some_selector')”);
是否有一个已知的缓慢响应时间的解释?
有什么我可以改变来加速Sauce中的javascript查询吗?
答案 0 :(得分:1)
我不希望实际的JavaScript在实际浏览器上以非常不同的速度运行 - 当然这取决于SauceLabs的硬件/虚拟机。
然而,通过WebDriver协议来回远程驱动程序肯定比与本地驱动程序交谈慢,因此这可能会涵盖大部分差异。
我建议这是通过Selenium Grid运行的一个必然结果,特别是可能在各种硬件上运行远程浏览器。希望这种方法的灵活性值得轻微的性能损失,当然还有比较本地和远程的难度。