具有MbUnit的Selenium Server不尊重并行度

时间:2014-02-19 18:14:58

标签: selenium functional-testing selenium-grid mbunit

我有一个问题,我已经研究过,但似乎找不到任何帮助,所以我会问这里。目前我正在运行一个包含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)]

1 个答案:

答案 0 :(得分:0)

您是否尝试将[Parallelizable]属性放在每个测试用例的前面,而不仅仅是在类的前面?