硒网格执行随着时间的推移而减慢

时间:2017-06-01 10:55:55

标签: selenium selenium-chromedriver selenium-grid

我正在CentOS堆栈上的selenium网格(仅限chrome浏览器)上运行多个数据验证测试。我注意到最初的测试完全快速完成。但是,随着时间的推移,执行速度会大大降低。 我正在尝试使用Web应用程序上的数据验证来自csv文件的数据。我在csv文件中有大约100K条记录。对于每条记录,以下是事件列表:

  • 启动远程驱动程序(chrome)实例
  • 打开Web应用程序并登录
  • 在应用程序的csv文件中搜索关键字并验证结果(在Web应用程序的csv VS输出中输出)
  • 关闭远程驱动程序实例

我使用CentOS配置了7个节点,每个节点有10个浏览器实例。

另外,我使用ThreadPoolExecutor提交每个线程。所以在任何给定的时间,我将运行70个线程,其中每个线程都是一个webdriver实例。

我不确定这是代码级问题还是基础架构相关问题。有人能指出我正确的方向,我如何找到这种缓慢的根本原因并纠正它。

我曾尝试监视其中一个节点的系统资源,并发现java进程占用了大约55%的CPU和10%的内存。而每个浏览器需要10%的CPU和4%的内存

1 个答案:

答案 0 :(得分:0)

当plenium网格在jvm上运行时,随着时间的增加,Selenium网格将变慢,并且它将占用更多内存。有许多因素会影响浏览器的性能,例如节点中没有浏览器,节点配置,网格配置和Web服务器性能。为了获得更好的网格性能,您必须偶尔重新启动网格集线器和节点。