我有一个问题,我已经研究过,但似乎找不到任何帮助,所以我会问这里。目前我正在运行一个包含4个Firefox节点的Selenium Server网格,以下是我如何启动网格及其节点。
Hub: java -jar selenium-server-standalone-2.39.0.jar -role hub
Node:start java -jar selenium-server-standalone-2.39.0.jar -role node -hub http://localhost:4444/wd/hub -browser browserName=firefox,platform=WINDOWS,maxSession=1,ensureCleanSession=true,cleanupCycle=500 -port 4448
注意:我只列出了其中一个Firefox节点cmd行以减少冗余。
在我的解决方案中,我将并行度设置为4,相当于每个节点进行一次测试。
我的测试夹具类标记如下:
[Parallelizable][TestFixture(Order=2)]
public class TestSuiteA{ }
问题:我有大约15个Test Fixture类。当我尝试使用所有15个灯具执行测试运行时,Selenium Hub / MbUnit跑步者?尝试一次启动所有15个测试夹具,而不是我预期的行为方式。这导致其余11个测试夹具失效。
我对它的预期表现如何:我曾预计,一旦我用Selenium Grid / MbUnit执行了所有15个测试夹具的测试运行?将一次运行所有测试夹具4个测试夹具。然后,一旦节点可用,它将抓取剩余的11个测试夹具中的一个,并运行与该测试夹具相关的测试。然后它将重复该过程,直到所有测试夹具都已运行。
有没有人知道为什么Grid / MbUnit不尊重并行度?
感谢所有回复的人!
-Travis
编辑:DegreeOfParallelism属性位于我的项目的AssemblyInfo类中。它如下所示:
[assembly: DegreeOfParallelism(4)]
答案 0 :(得分:0)
您是否尝试将[Parallelizable]属性放在每个测试用例的前面,而不仅仅是在类的前面?