Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 多浏览器上的selenium Grid2并行测试偶尔会失败,没有明显原因_Java_Selenium_Parallel Processing_Webdriver_Nosuchelementexception - Fatal编程技术网

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

Java 多浏览器上的selenium Grid2并行测试偶尔会失败,没有明显原因,java,selenium,parallel-processing,webdriver,nosuchelementexception,Java,Selenium,Parallel Processing,Webdriver,Nosuchelementexception,我在同一个Linux虚拟机上运行两个节点的网格,有时(50%)一个测试会因为NoTouchElementException而失败,没有真正的原因,元素就在那里-可以在运行时看到它, 但是,在调试时,我永远无法捕捉到这种失败。 我很确定这与并行测试有关 我使用Ubuntu 12.04,Firefox 18和google chrome 23.0。 我的webdriver实例是在测试方法本身中启动的。 mytesting.xml指定parallel=方法,我可以看到所有浏览器同时打开,测试同时运行 这

我在同一个Linux虚拟机上运行两个节点的网格,有时(50%)一个测试会因为NoTouchElementException而失败,没有真正的原因,元素就在那里-可以在运行时看到它, 但是,在调试时,我永远无法捕捉到这种失败。 我很确定这与并行测试有关

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

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


有解决方法吗?

我可以猜测,您正在同一个VM显示器上运行所有节点,因此-很有可能,您的测试在并行运行时相互干扰,两个操作(在测试中)可以同时执行,并且实际上只会执行一个事件(如单击)。 此外,这可能会消耗节点硬件的大量计算资源。 建议(根据我的经验)在并行运行时,每个浏览器/平台计算机运行一个节点,以防止误报。(集线器仍然可以位于节点的同一台机器中)。 或者-在linux中,您只能在不同的显示X上运行不同的节点会话,这仍然会消耗计算资源,如果您使用太多,可能会降低测试速度

你可以试着读这篇文章,也许它会提出一些想法: