我从Cucumber 1.2.5升级到了Cucumber 5.6.0。升级进行得相当顺利,但是我的扩展报告崩溃了。我试图升级它们并使用Cucumber 4 Adapter。文档很稀疏,我无法让它正常工作。所以我去下载了Example Implementation。我能够编译和运行它,并获得报告。我将示例项目升级到Cucumber 4.8.1,并将Extent升级到4,它运行了,但没有创建报告。我不知所措,我在谷歌上搜索也没有找到任何信息。
以下是原始示例项目:https://github.com/foursyth/extentreports-cucumberN-example
下面是我更新它的尝试:https://github.com/dougnoel/extentreports-cucumberN-example/tree/update_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的项目,在这个项目中,我试图保持范围报告的正常工作:https://github.com/dougnoel/sentinel/tree/93_update_cucumber
发布于 2020-04-23 22:30:55
Grasshopper在评论中回答了这个问题。解决方案是他提供的fantastic instructions和code。
在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:"}最后一步是在src/test/resources/中添加一个只有三行的配置文件extent.properties:
extent.reporter.html.start=true
extent.reporter.html.out=reports/extent-cucumber-report.html
screenshot.dir=reports/它现在可以像以前一样工作了!
https://stackoverflow.com/questions/61298488
复制相似问题