C# 如何使用NUnit3并行测试执行配置Selenium网格?
我们当前的C#/Nunit 2.6.3测试框架有一个回归套件,在一台pc上运行需要35个多小时,有些测试长达20分钟。设置在多台机器上运行的批测试既耗时又低效,因此我尝试将测试迁移到NUnit 3,以获得在Selenium网格上并行执行的好处 我的目标是让12个节点分别运行一个IE实例。然而,似乎VS的NUnit3测试适配器正在尝试同时运行所有测试 由于我总是从比节点更多的装置中执行测试,因此在节点可用之前,装置将处于队列中是很重要的。实际上,测试夹具可能需要等待几个小时才能获得空闲节点。 对于我当前的配置实验,我有以下设置:C# 如何使用NUnit3并行测试执行配置Selenium网格?,c#,internet-explorer,selenium,webdriver,nunit-3.0,C#,Internet Explorer,Selenium,Webdriver,Nunit 3.0,我们当前的C#/Nunit 2.6.3测试框架有一个回归套件,在一台pc上运行需要35个多小时,有些测试长达20分钟。设置在多台机器上运行的批测试既耗时又低效,因此我尝试将测试迁移到NUnit 3,以获得在Selenium网格上并行执行的好处 我的目标是让12个节点分别运行一个IE实例。然而,似乎VS的NUnit3测试适配器正在尝试同时运行所有测试 由于我总是从比节点更多的装置中执行测试,因此在节点可用之前,装置将处于队列中是很重要的。实际上,测试夹具可能需要等待几个小时才能获得空闲节点。 对于
- 具有以下配置的中心:
java-jar selenium-server-standalone-2.48.2.jar-角色中心-newSessionWaitTimeout:-1-浏览器超时120-超时3600
- 默认配置中的单个节点
- 两个测试夹具,每个夹具有10个测试。测试装置具有以下属性:
[Parallelizable(ParallelScope.Self)]
OpenQA.Selenium.WebDriverException:对远程WebDriver服务器的URL HTTP请求在60秒后超时。 ---->System.Net.WebException:操作已超时 当我在Java/JUnit框架中使用Eclipse上的网格时,我没有遇到任何问题。集线器将使用默认配置对测试进行排队,直到节点空闲且没有任何超时
是否有人知道正确的配置,或者这是NUnit 3测试适配器的问题?不幸的是,浏览器选择被固定为IE。我发现通过在AssemblyInfo中设置LevelOfParallelism属性可以控制并行线程的数量
//Determines the number parallel threads that run simultaneously
[assembly: LevelOfParallelism(7)]
如果该属性设置为可用的节点数,那么测试队列将如我所期望的那样