在Jenkins上使用Firefox(带xvfb)进行Selenium UI测试速度太慢

5

我正在使用Firefox驱动在Jenkins上运行Selenium UI测试,与本地执行相比,这些测试执行速度非常慢。具体来说,它需要几乎4倍于本地运行所需的时间。这太低效了。

本地运行时我在Windows或Mac上运行,而不是Linux。但是,Jenkins作业在Linux上运行。

以下是环境的详细信息:

  • Jenkins(在虚拟机上运行的Linux)
  • Xvfb用于模拟浏览器(没有显示器连接到虚拟机)
  • Firefox 38
  • Java 8

我不确定Jenkins配置或其他任何内容是否会使其更快。难道是虚拟机引起的吗?一切都运行得很好,但缓慢导致了低效率。

非常感谢任何提高性能的想法。


如果不知道您的虚拟机规格或运行的脚本是什么样子,很难建议任何改进性能的方法。我的猜测是您的虚拟机内存太少了。您是否尝试在测试运行时运行top命令,以查看CPU或内存是否受到影响? - NaviSaysListen
还有几个问题:当您在本地运行这些测试时,是在Windows机器上吗?并且您的本地机器是否配置了代理,而Linux虚拟机没有? - NaviSaysListen
嗯。很难说发生了什么。感谢您提供更多信息。对我来说,这是一个奇怪的问题,因为我运行的无头测试似乎总是比较快,而不是慢!希望其他人也遇到过这个问题并能够帮助您。最后的建议:尝试创建一个镜像您正在使用的虚拟机的新虚拟机,并尝试调整Selenium和Firefox版本。可能存在一些兼容性问题。 - NaviSaysListen
感谢@NaviSaysListen。如果存在兼容性问题,那么在本地运行时也会出现问题吗?只是一个快速的问题--是否有任何需要打开或关闭的Jenkins配置可能导致差异? - techjourneyman
让我们在聊天中继续这个讨论 - NaviSaysListen
显示剩余3条评论
1个回答

1
问题根源在于运行测试的Jenkins从机的磁盘IO。本地机器(Mac或Windows)非常快,通常使用SSD作为磁盘类型。将Jenkins从机更新为具有更好硬件资源和更快磁盘IO的设备解决了该问题。

3
你有没有注意到使用Xvfb时有任何性能方面的问题?即使是最微小的性能下降。 - iordanis

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接