我读过,使用网格,我们可以跨多个节点分发测试。
假设我有4个测试用例和2个节点(都有相同的配置、平台:窗口、浏览器:火狐和maxSession=1,maxInstance:1),我希望在节点1和节点2上运行两个测试用例。
但是当我运行时,我看到所有4个测试用例都运行在节点1或节点2上,这是基于谁最后注册的。我两个人都注册过不同端口的漏洞。
我对每个节点运行2次测试的理解是正确的,还是说这不可能?
如何实现WebDriver的分布式测试?
发布于 2014-03-03 23:38:04
我认为您的意思是并行执行(即分布式测试)?Selenium grid将提供以分布式方式运行这些测试的体系结构(即跨多个节点分发测试执行),但您仍然需要并行地触发这些测试。
目前您的测试是按顺序触发的,因此Selenium Grid集线器利用了它获得的第一个可用节点,这是第一个节点(原因很明显)。
要快速可视化selenium如何通过并行执行获益,请打开4个命令提示/终端,并在4个测试中的每个触发器中打开1个。如果您只有两个节点,并且每个节点只能运行一个浏览器,您将看到
然后,取决于哪个测试(1或2)首先完成执行,该节点获得空闲,而test 3将在该节点上启动。
当然,您需要以编程方式并行触发这些测试。
在python中,可以使用nose并触发测试运行,如下所示:
nosetests --processes=2 allmytests #Starts 2 processeshttps://stackoverflow.com/questions/22159679
复制相似问题