多个浏览器上的selenium Grid2并行测试偶尔会失败,没有明显的原因

时间:2013-11-05 09:08:13

标签: java selenium parallel-processing webdriver nosuchelementexception

我在同一个Linux VM上运行2个节点的网格,有时(50%)由于NoSuchElementException测试失败,没有真正的原因,Element就在那里 - 可以在运行时看到它, 但是在调试时我永远无法捕捉到这个失败。 我很确定它与并行测试有关。

我使用Ubuntu 12.04,Firefox 18& google-chrome 23.0。 我的webdriver实例在测试方法本身中启动。 我的testing.xml指定了parallel =方法,我可以看到所有浏览器同时打开并且测试一起运行。

这是一个已知问题吗?我打算运行更高的并行性,但是我添加到VM的节点越多,并行运行的测试越多 - 故障率就越大。

有没有解决方法?

1 个答案:

答案 0 :(得分:0)

我可以猜测你在同一个VM显示器上运行所有节点,因此很可能,当并行运行时,你的测试会互相干扰,2个动作(在测试中)可以同时执行实际上将执行一个事件(如点击)。 这也可能会消耗您的节点硬件的高计算资源。 建议(由我,根据经验)在并行运行时为每个浏览器/平台机器运行一个节点以防止误报。 (集线器仍然可以在节点的同一台机器上)。 或者 - 在linux中只有你可以在不同的DISPLAY-X上运行不同的节点会话,这仍会消耗计算资源,如果使用太多,可能会减慢测试速度。

你可以尝试阅读这个,也许它会提出一些想法: effective ui testing lab