[英]Selenium GRID 2 + NUnit 3 options to run tests in parallel
我决定从当前解决方案(几年前使用我们团队使用经过修改的NUnit NDistribUnit在VirtualMachines上运行测试,然后在集线器服务器上收集结果)切换到Selenium Grid 2。
尝试了具有ParallelizableAttribute的选项。 不幸的是,我注意到IWebDriver存储在全局变量(puhh)中。 这导致测试启动多个浏览器实例,但是测试使用单个IWebDriver->测试在单个浏览器中执行->测试在单个进程下运行,但是具有多个“工作者”线程。 尝试使用2个VM作为“节点”,并使用本地PC作为集线器。
我知道最好的解决方案是更改无效的主意以将驱动程序存储在全局变量中,但是这将花费太多时间:有3k +繁重的UI测试需要更新; 许多静态方法都希望将驱动程序作为全局变量进行更新。
NUnit 3.0还提供了Option以并行运行多个程序集。 要运行多个测试项目很好,但是目前每个应用程序有1个程序集。 并行运行一个应用程序(一个程序集)的测试会很好。
还有其他使用GRID + NUnit 3的方法来使其工作吗?
最终,重构了现有的解决方案:现在,执行期间的每个测试都有自己的驱动程序。 由于此更改,许多代码被重写(似乎有太多方法希望将IwebDriver用作全局变量)
实际上,有两种选择可以做到这一点:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.