繁体   English   中英

硒网格-同时运行测试

[英]selenium grid - running tests simultaneously

我有一个包含大量测试的测试套件。 我希望将这些测试发送到我的HUB(假设我有2个节点)来同时运行。 意思是,运行我的所有测试(在本地或在Teamcity中),我期望结果是Node1将运行test#1,而, 同时 Node2将运行test#2。 实际上,目前正在发生的事情是:test#1将在Node1上运行,并在其完成时,而test#2将在Node2上执行,依此类推...

我可以将测试分为两个项目,也可以打开两个Visual Studio会话并同时运行它们,然后HUB会做剩下的事情(对吗?),但这听起来是一种不好的方法。

我的代码是用C#编写的。

不要使用运行测试的构建,例如任务1:节点测试test1,任务2裸测试test2。

有一个任务会生成2个subshel​​l,并等待两个任务完成。 例如,任务1:bash test1()节点test1和test2()节点test2和

()表示要在子shell中运行它,以便wll为您生成一个新线程,而&表示要在后台运行,以便它可以同时运行。 然后,您需要通过执行-z ps-aux grep test1(尽管有regex test1的过程),以某种方式等待两者都结束。

如果要在单独的PC上运行它,则可以将文件分散到另一台PC上,然后使用ssh启动测试,然后执行while循环以等待finish.txt文件。

由于您的代码是用C#编写的,因此我假设您使用NUnit,并且自NUnit3发行以来,NUnit运行器可以同时运行测试,因此您所要做的就是添加

[assembly: Parallelizable(ParallelScope.Fixtures)]

到属性AssemblyInfo.cs文件。 它为我工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM