cucumber - 努力实现cucumber jvm 4.2.3版本实现并行执行
问题描述
无法连接我将遵循的所有内容以实现 cucumber-jvm 版本 4.2.3 并行执行
我的环境 - Cucumber V 4.2.3 | 硒 V 3.8.1 | 朱尼特 - 4.2
下面是 Eclipse 控制台的输出。然而什么都没有被执行
[INFO] --- maven-compiler-plugin:3.8.0:testCompile (default-testCompile) @ TheDayAfterTomorrow ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 14 source files to D:\photon-workspace\TheDayAfterTomorrow\target\test-classes
[INFO]
[INFO] --- maven-surefire-plugin:2.19:test (default-test) @ TheDayAfterTomorrow ---
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 5.986 s
[INFO] Finished at: 2019-02-18T23:18:26+05:30
[INFO] ------------------------------------------------------------------------
我也在使用 Pico Container 来实现 DI。
这是我的 RunCuke 实现
package com.jacksparrow.automation.suite.runner;
import org.junit.runner.RunWith;
import cucumber.api.CucumberOptions;
import cucumber.api.junit.Cucumber;
@RunWith(Cucumber.class)
@CucumberOptions(features = "classpath:features/functional/",
glue = {"com.jacksparrow.automation.steps_definitions.functional" },
plugin = { "pretty","json:target/cucumber-json/cucumber.json",
"junit:target/Cucumber.xml", "html:target/cucumber-reports"},
strict = false,
dryRun = false,
monochrome = true)
public class FunctionalRunCuke {
}
POM.XML
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-java</artifactId>
<version>4.2.3</version>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-junit</artifactId>
<version>4.2.3</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>datatable</artifactId>
<version>1.1.12</version>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-testng</artifactId>
<version>4.2.3</version>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-picocontainer</artifactId>
<version>4.2.3</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>${selenium.version}</version>
</dependency>
<dependency>
<groupId>io.github.bonigarcia</groupId>
<artifactId>webdrivermanager</artifactId>
<version>3.0.0</version>
</dependency>
Maven 编译器插件
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<compilerVersion>1.8</compilerVersion>
</configuration>
</plugin>
Maven-Surefire-插件
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19</version>
<configuration>
<parallel>methods</parallel>
<threadCount>4</threadCount>
</configuration>
</plugin>
请指导这里缺少什么或实现 cucumber-jvm v4 并行执行的步骤。如果有人可以分享详细的步骤,将不胜感激,因为我已经尝试实施 1 周但到目前为止没有成功。
解决方案
问题是由于对 testNG 的依赖导致 Surefire 忽略 JUnit 包装类。我删除了所有 TestNG 依赖项,或者您可以调用 2 定义 2 执行 - 对于 TestNG 和 JUnit 并根据您的需要禁用一个,我正在使用 Maven Surefire 版本 3.0.0-M3
推荐阅读
- tableau-api - 从命令行运行流程时出现 TabPy Server 配置错误
- css - TypeScript 编码的菜单和网格无法正确显示
- ios - 为什么 Application Loader 找不到我的图标(错误代码:ERROR ITMS-90023)?
- web-crawler - 从种子 URL 到所有深度的所有子发现 URL 发出自定义元数据
- swift - 如何绑定 ObservableObject?
- php - Laravel CSRF 漏洞
- c++ - exitprompt.cpp:268:22:错误:将 'const ExitPrompter' 作为 'this' 参数传递会丢弃限定符 [-fpermissive]
- java - QUARKUS - MicroProfile REST 客户端:添加自定义的非映射字段
- python - (图像,掩码)对在语义分割任务中不匹配
- java - Java servlet 应用程序在我的本地电脑上工作,但在我的服务器开发上不工作