不能 运行 并行测试(Selenium 网格 + NUnit)
Cannot run tests in parallel (Selenium grid + NUnit)
我将 NUnit 3.5 与具有两个节点(一个节点与集线器位于同一台机器上)的硒网格 (selenium-server-standalone-2.53.0.jar) 结合使用。
在网格上按顺序执行测试效果很好。同时执行多个顺序测试套件(即执行两个单独的测试项目,集线器将测试分别分发到一个集线器)也很有效。
我无法开始工作的是 运行 来自同一项目的并行测试 类。我正在尝试做的是彼此并行执行一些测试 类(包含多个测试)。基本上,我的两个(或更多)测试 类 看起来像这样:
[Parallelizable(ParallelScope.Fixtures)]
public class Search {
[Test]
public void TestSomething() {
//Test here
}
[Test]
public void TestSomethingElse() {
//Test something else here
}
我得到了非常奇怪的结果,而不是并行执行的测试。尽管它们似乎并行执行,但 tests/sessions 似乎混淆了。例如,一个测试的日志输出 (Console.WriteLine) 将显示在另一个测试的输出中。因此,通过的测试可能会有日志输出表明它失败了(因为我们输出了一些关于失败测试的日志)。
集线器配置:与默认设置相同,但使用端口 8887
节点配置:
{
"capabilities": [
{
"browserName": "firefox",
"maxInstances": 5,
"cleanSession": true
},
{
"browserName": "chrome",
"maxInstances": 5
},
{
"browserName": "internet explorer",
"maxInstances": 1
}
],
"configuration": {
"_comment" : "Configuration for Node",
"cleanUpCycle": 2000,
"timeout": 10000,
"port": 5555,
"host": "sto-selenium02",
"register": true,
"hubPort": 8887,
"maxSessions": 3
}
}
我在这里错过了什么? sessions/tests 怎么会混淆,还是这里有别的东西在起作用?感谢所有帮助!
我遇到了同样的问题,结果发现 WebDriver 实例被编码为静态变量。删除后,测试可以 运行 并行进行。
希望对您有所帮助!
我将 NUnit 3.5 与具有两个节点(一个节点与集线器位于同一台机器上)的硒网格 (selenium-server-standalone-2.53.0.jar) 结合使用。
在网格上按顺序执行测试效果很好。同时执行多个顺序测试套件(即执行两个单独的测试项目,集线器将测试分别分发到一个集线器)也很有效。
我无法开始工作的是 运行 来自同一项目的并行测试 类。我正在尝试做的是彼此并行执行一些测试 类(包含多个测试)。基本上,我的两个(或更多)测试 类 看起来像这样:
[Parallelizable(ParallelScope.Fixtures)]
public class Search {
[Test]
public void TestSomething() {
//Test here
}
[Test]
public void TestSomethingElse() {
//Test something else here
}
我得到了非常奇怪的结果,而不是并行执行的测试。尽管它们似乎并行执行,但 tests/sessions 似乎混淆了。例如,一个测试的日志输出 (Console.WriteLine) 将显示在另一个测试的输出中。因此,通过的测试可能会有日志输出表明它失败了(因为我们输出了一些关于失败测试的日志)。
集线器配置:与默认设置相同,但使用端口 8887
节点配置:
{
"capabilities": [
{
"browserName": "firefox",
"maxInstances": 5,
"cleanSession": true
},
{
"browserName": "chrome",
"maxInstances": 5
},
{
"browserName": "internet explorer",
"maxInstances": 1
}
],
"configuration": {
"_comment" : "Configuration for Node",
"cleanUpCycle": 2000,
"timeout": 10000,
"port": 5555,
"host": "sto-selenium02",
"register": true,
"hubPort": 8887,
"maxSessions": 3
}
}
我在这里错过了什么? sessions/tests 怎么会混淆,还是这里有别的东西在起作用?感谢所有帮助!
我遇到了同样的问题,结果发现 WebDriver 实例被编码为静态变量。删除后,测试可以 运行 并行进行。
希望对您有所帮助!