首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cucumber-JVM4.0 (io.cucumber)的Extentreport支持

Cucumber-JVM4.0 (io.cucumber)的Extentreport支持
EN

Stack Overflow用户
提问于 2019-04-19 14:25:09
回答 2查看 5.3K关注 0票数 1

我正在尝试将黄瓜自动化项目从黄瓜(info.cukes )迁移到黄瓜(io.cucumber)。

在此过程中,我在迁移扩展报告时遇到了困难。你能帮我解决我缺少的东西吗?

依赖关系:

代码语言:javascript
复制
    <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>

Runner类:

代码语言:javascript
复制
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()));
    }
 }

错误:

无法加载插件类: com.cucumber.listener.ExtentCucumberFormatter.它没有实现 cucumber.runtime.formatter.PluginFactory.loadClass(PluginFactory.java:176) at cucumber.runtime.formatter.PluginFactory.pluginClass(PluginFactory.java:163) at cucumber.runtime.formatter.PluginFactory.getPluginClass(PluginFactory.java:220)在cucumber.runtime.formatter.PluginFactory.isStepDefinitionReporterName(PluginFactory.java:203) at cucumber.runtime.RuntimeOptions$ParsedPluginData.addPluginName(RuntimeOptions.java:386) at cucumber.runtime.RuntimeOptions.parse( cucumber.runtime.RuntimeOptions.(RuntimeOptions.java:108) )RuntimeOptions.java:165

EN

回答 2

Stack Overflow用户

发布于 2019-04-20 04:03:28

在黄瓜中有两种实现程度报告的方法。

使用Cucumber-JVM 4适配器来扩展Framework(extentreports-cucumber4-adapter) &下面是实现的步骤-

在POM.XML下添加适配器依赖项

代码语言:javascript
复制
<dependency>
    <groupId>com.aventstack</groupId>
    <artifactId>extentreports-cucumber4-adapter</artifactId>
    <version>1.0.6</version>
</dependency>

将com.aventstack.extentreports.cucumber.adapter.ExtentCucumberAdapter插件添加到转轮。

代码语言:javascript
复制
@RunWith(Cucumber.class)
@CucumberOptions(plugin = {"com.aventstack.extentreports.cucumber.adapter.ExtentCucumberAdapter:"})
public class RunCukesTest {
    // ..
} 

报表输出目录-./项目目录/测试-输出/HtmlReport

2.在POM.XML下添加avent堆栈依赖项

代码语言:javascript
复制
<dependency>
    <groupId>com.aventstack</groupId>
    <artifactId>extentreports</artifactId>
    <version>3.1.5</version>
</dependency> 

在此工作流中,不要将com.aventstack.extentreports.cucumber.adapter.ExtentCucumberAdapter插件添加到运行程序中。

票数 1
EN

Stack Overflow用户

发布于 2019-05-17 16:35:08

我也有过同样的问题。您可以使用以下依赖项组合,Cucumber-core 4.2.0 Cucumber-java 4.2.0 Cucumber-junit 4.2.0区段报告-Cucumber4-适配器1.0.7

请注意,由vimalselvam开发的Cucumber-extntsreport不支持黄瓜版本4。因为cucumber 4使用的是基于事件的报告,而不是格式化程序。因此,移除此依赖项。黄瓜-范围报告3.0.2

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55763356

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档