优化并行执行的硒测试



当前,我在不同节点上的硒网格上设置了五个实例。我正在尝试一次运行5个并行测试,但是其中一些测试将失败。每次,这都是一个不同的测试,它将在不同的行上失败。

我还提出了等待和断言等待直到元素出现,但是测试用例每次仍在不同的位置失败。但是,当我一一进行测试时,所有测试都会在100%的时间通过。

有什么办法可以优化并行执行的测试?

我的测试在Windows环境中写在Java中。我使用的是phantomjs 1.9.8和硒3.54

轶事:当我发现测试在计算机上正常但在网格节点上不太好时,通常是计时问题。我的工作站比我的VM(网格节点(更强大,因此简单的动画需要更长的时间才能渲染。到了我写了.clickviajavascript((而不是.click((的地步。JS点击后,我还扔了500ms的睡眠。

// Click element via JavaScript
((IJavaScriptExecutor)driver).ExecuteScript("arguments[0].click()", element);
// Wait a moment
System.Threading.Thread.Sleep(500);

并行并不需要任何代码被重写,只要您在运行时不更改全局变量并且每个测试都是原子。