com.cucumber.listener.ExtentCucumberFormatter中的Initializaton错误

时间:2017-06-15 07:03:14

标签: selenium cucumber bdd extent

我在BDD Framework中使用Cucumber运行脚本,我正在使用Extent Reports插件来创建执行报告。

我已经创建了测试运行器类,如下所示:

package com.ctl.it.qa;

import org.junit.runner.RunWith;
import cucumber.api.CucumberOptions;
import cucumber.api.junit.Cucumber;

@RunWith(Cucumber.class)
@CucumberOptions(features = { "src/test/resources/Feature/ABC.feature" 
},

plugin = {"com.cucumber.listener.ExtentCucumberFormatter:BDDControlCenterTools/target/Reports/cucumber-report.html"}
)
public class RunCukes {

}

我在POM.xml文件中包含了Extent报告的以下依赖项:

    <dependency>
        <groupId>com.relevantcodes</groupId>
        <artifactId>extentreports</artifactId>
        <version>2.41.2</version>
    </dependency>

我正在使用Junit运行脚本,并且对Junit也有黄瓜依赖。

但是当我执行上面的转轮类时,它显示出一个初始化错误: cucumber.runtime.CucumberException:无法加载插件类:com.cucumber.listener.ExtentCucumberFormatter

任何人都可以帮助解决此错误并帮助解决此问题。

4 个答案:

答案 0 :(得分:4)

您还需要为此格式化程序添加Maven依赖项。请参阅此 - https://github.com/email2vimalraj/CucumberExtentReporter文档。

<dependency>
    <groupId>com.vimalselvam</groupId>
    <artifactId>cucumber-extentsreport</artifactId>
    <version>2.0.5</version>
</dependency>

但我认为这只适用于ExtentReport版本3及更高版本。

答案 1 :(得分:1)

尝试使用不同版本的cucumber-extentsreport。对我来说,最新版本(3.1.1)不起作用,但3.0.2起作用。

答案 2 :(得分:0)

我遇到了com.cucumber.listener.ExtentCucumberFormatter初始化错误,但进行了一些调整。我现在可以生成报告。

我将这两个添加到了我的POM文件中。该版本可能比较棘手,因为我将3.1.1用作Cucumber-extentreport,但对我而言不起作用。在尝试了3.0.2的一些方法后。

<dependency>
    <groupId>com.vimalselvam</groupId>
    <artifactId>cucumber-extentsreport</artifactId>
    <version>3.0.2</version>
</dependency>
<dependency>
    <groupId>com.aventstack</groupId>
    <artifactId>extentreports</artifactId>
    <version>3.1.1</version>
</dependency>  

我的跑步者班级是这样的:

package cucumber;

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 = {"stepDefinitions"}, 
        plugin = {"com.cucumber.listener.ExtentCucumberFormatter:target/cucumber-reports/report.html"},
        monochrome = true
        )

public class CucumberRunner {
        @AfterClass
        public static void writeExtentReport() {
            Reporter.loadXMLConfig(new File("config/report.xml"));
        }   
}

我希望这会有所帮助。

答案 3 :(得分:0)

要解决此问题。 从运行器类中删除下面的代码“ com.cucumber.listener.ExtentCucumberFormatter:target / report.html”,然后运行运行器类。 它将成功运行。然后将其放回runer类并执行,它将起作用。