我从Cucumber 1.2.5升级到Cucumber 5.6.0。升级很顺利,但是我的Extent Reports却坏了。我试图升级它们并使用 黄瓜4适配器. 文档很少,我无法让它工作。所以我去下载了 实施例. 我能够编译和运行它并得到报告。我把示例项目升级到Cucumber 4.8.1,Extent Reporter升级到4,它运行了,但没有创建报告。我很茫然,我的google搜索也没有找到任何信息。
这里是原来的示例项目。https:/github.comfoursythextentreports-cucumberN-example。
这是我更新它的尝试。https:/github.comdougnoelextentreports-cucumberN-exampletreeupdate_to_Cucumber4-adapter。
这是pom.xml。
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<cucumber.version>4.8.1</cucumber.version>
</properties>
<dependencies>
<dependency>
<groupId>com.aventstack</groupId>
<artifactId>extentreports-cucumber4-adapter</artifactId>
<version>1.0.12</version>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-core</artifactId>
<version>${cucumber.version}</version>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-java</artifactId>
<version>${cucumber.version}</version>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-junit</artifactId>
<version>${cucumber.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
这是测试运行器。
package cucumber.examples.java.calculator;
import org.junit.runner.RunWith;
import io.cucumber.junit.CucumberOptions;
import io.cucumber.junit.Cucumber;
@RunWith(Cucumber.class)
@CucumberOptions(plugin = {"com.aventstack.extentreports.cucumber.adapter.ExtentCucumberAdapter:", "json:target/cucumber-report.json"}
, tags = { "@foo" }
)
public class RunCukesTest {
}
这是我更新到Cucumber 5.6.0的项目,我试图让Extent Reports在其中工作。https:/github.comdougnoelsentineltree93_update_cucumber。
这个问题已经由Grasshopper在评论中回答了。解决方案是 妙手回春 和 编码 他提供的。
在pom.xml中,我添加了。
<dependency>
<groupId>com.aventstack</groupId>
<artifactId>extentreports</artifactId>
<version>4.1.5</version>
</dependency>
<dependency>
<groupId>tech.grasshopper</groupId>
<artifactId>extentreports-cucumber5-adapter</artifactId>
<version>1.1.0</version>
</dependency>
在我的测试运行器中,我加了:
package cucumber.examples.java.calculator;
import org.junit.runner.RunWith;
import io.cucumber.junit.CucumberOptions;
import io.cucumber.junit.Cucumber;
@RunWith(Cucumber.class)
@CucumberOptions(monochrome = true
, features = "src/test/java/features"
, glue = { "stepdefinitions", "com.dougnoel.sentinel.steps" }
, plugin = {"com.aventstack.extentreports.cucumber.adapter.ExtentCucumberAdapter:"}
最后是添加了一个配置文件 extent.properties
在 src/test/resources/
只用了三行。
extent.reporter.html.start=true
extent.reporter.html.out=reports/extent-cucumber-report.html
screenshot.dir=reports/
现在一切都和以前一样了!