Maven Cucumber JVM 4.0的Extentreport支持(io.Cucumber)
我正在尝试将Cucumber自动化项目从Cucumber(info.cukes)迁移到Cucumber(io.Cucumber) 在此过程中,我在迁移扩展报告时遇到了问题。你能帮我弥补我所缺少的吗 依赖关系:Maven Cucumber JVM 4.0的Extentreport支持(io.Cucumber),maven,cucumber,cucumber-java,Maven,Cucumber,Cucumber Java,我正在尝试将Cucumber自动化项目从Cucumber(info.cukes)迁移到Cucumber(io.Cucumber) 在此过程中,我在迁移扩展报告时遇到了问题。你能帮我弥补我所缺少的吗 依赖关系: <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <ve
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-java</artifactId>
<version>4.2.6</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-junit -->
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-junit</artifactId>
<version>4.2.6</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-core -->
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-core</artifactId>
<version>4.2.6</version>
</dependency>
<!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-html -->
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-html</artifactId>
<version>0.2.7</version>
</dependency>
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.26-incubating</version>
</dependency>
<dependency>
<groupId>com.vimalselvam</groupId>
<artifactId>cucumber-extentsreport</artifactId>
<version>3.0.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.aventstack/extentreports -->
<dependency>
<groupId>com.aventstack</groupId>
<artifactId>extentreports</artifactId>
<version>4.0.9</version>
</dependency>
package CucumberWithAfterStep.AfterStepPOC;
import java.io.File;
import org.junit.AfterClass;
import org.junit.runner.RunWith;
import com.cucumber.listener.Reporter;
import cucumber.api.CucumberOptions;
import cucumber.api.junit.Cucumber;
@RunWith(Cucumber.class)
@CucumberOptions(features = "src/test/resources/features", glue = { "testSteps" }, plugin = { "pretty",
"html:target/cucumber", "json:target/cucumber.json" , "com.cucumber.listener.ExtentCucumberFormatter:target/cucumber-reports/report.html" },
monochrome = true,
tags = {"@WAC003 "}, dryRun = false)
public class MainRunnerTest {
@AfterClass
public static void writeExtentReport() {
Reporter.loadXMLConfig(new File(FileReaderManager.getInstance().getConfigReader().getReportConfigPath()));
}
}
错误:
cucumber.api.Plugin
在cucumber.runtime.formatter.PluginFactory.loadClass(PluginFactory.java:176)中
在cucumber.runtime.formatter.PluginFactory.pluginClass(PluginFactory.java:163)中
在cucumber.runtime.formatter.PluginFactory.getPluginClass(PluginFactory.java:220)中
在cucumber.runtime.formatter.PluginFactory.isStepDefinitionReporterName(PluginFactory.java:203)中
在cucumber.runtime.RuntimeOptions$ParsedPluginData.addPluginName(RuntimeOptions.java:386)
atcumber.runtime.RuntimeOptions.parse(RuntimeOptions.java:165)
atcumber.runtime.RuntimeOptions.(RuntimeOptions.java:108)
在Cumber中实现范围报告有两种方法 1。使用Cucumber JVM 4 adapter for Extent Framework(extentreports-cucumber4-adapter)以下是实现的步骤- 在POM.XML下添加适配器依赖项 报表输出目录-../Project目录/test Output/HtmlReport 2。在POM.XML下添加aventstack依赖项
com.aventstack
扩展端口
3.1.5
在此工作流中,不要将com.aventstack.extentreports.cucumber.adapter.extentcumberAdapter插件添加到运行程序。我也遇到了同样的问题。您可以使用以下依赖项组合, 黄瓜芯4.2.0 黄瓜java 4.2.0 黄瓜JUnit4.2.0 extentreports-cucumber4-adapter 1.0.7 请注意,vimalselvam开发的Cucumber extntsreport不支持Cucumber版本4。因为Cucumber4使用的是基于事件的报告,而不是格式化程序。 因此,请删除此依赖项。
cucumber extentsreport 3.0.2对于cucumber 4,请使用此-@Grasshopper,我使用了cucumber 4,并使用了您建议的依赖项,但仍然面临此问题。“cucumber.runtime.CucumberException:无法加载插件类:com.cucumber.listener.ExtentCucumberFormatter”再次查看用法。您需要将com.aventstack.extentreports.cucumber.adapter.extentCumberAdapter添加到插件中。删除您现在拥有的一个。如果您对实现V4.0.0有任何疑问,请参阅我已经在使用该版本的适配器,降级了我的cucumber依赖项以匹配您的,但我仍然收到一条消息“NoClassDefFoundError:gherkin/GherkindAlectProvider。我也在pom.xml中尝试过各种版本的小黄瓜,但我的开发机器有点不稳定——我不得不手动下载并添加库——maven有时下载,有时不下载。我一直在绞尽脑汁试图让任何一种黄瓜报告在我的笔记本电脑(公司笔记本电脑/网络)上工作,即使我可以让它在其他笔记本电脑上工作。我有一个澄清,我们不需要在pom.xml文件中添加这两种东西吗?要么使用扩展适配器,要么使用AventStack,一次一个,而不是同时使用两个。
cucumber.runtime.CucumberException: Couldn't load plugin class: com.cucumber.listener.ExtentCucumberFormatter. It does not implement
<dependency>
<groupId>com.aventstack</groupId>
<artifactId>extentreports-cucumber4-adapter</artifactId>
<version>1.0.6</version>
</dependency>
@RunWith(Cucumber.class)
@CucumberOptions(plugin = {"com.aventstack.extentreports.cucumber.adapter.ExtentCucumberAdapter:"})
public class RunCukesTest {
// ..
}
<dependency>
<groupId>com.aventstack</groupId>
<artifactId>extentreports</artifactId>
<version>3.1.5</version>
</dependency>