我正在尝试将我的cucumber自动化项目从cucumber(info.cukes)迁移到cucumber(io.cucumber)
在此过程中,我在迁移扩展报告时遇到了问题。你能帮我找一下我丢失的东西吗?
附属国:
<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.runtime.CucumberException: Couldn't load plugin class: com.cucumber.listener.ExtentCucumberFormatter. It does not implement
cucumber.api.插件在cucumber.runtime.formatter.PluginFactory.load类(PluginFactory.java:176)cucumber.runtime.formatter.PluginFactory.plugin类(PluginFactory.java:163)在cucumber.runtime.formatter.PluginFactory.getPluginclass(PluginFactory.java:220)在cucumber.runtime.Step定义ReporterName(PluginFactory.java:203)在cucumber.runtime.Runtime Options$ParsedPluginData.addPluginName(RuntimeOptions.java:386)在cucumber.runtime.RuntimeOptions.parse(RuntimeOptions.java:165)在cucumber.runtime.Runtime Options。(RuntimeOptions.java:108)
我也有同样的问题。您可以使用以下依赖项组合,Cucumber-core 4 . 2 . 0 Cucumber-Java 4 . 2 . 0 Cucumber-JUnit 4 . 2 . 0 extend reports-Cucumber 4-adapter 1 . 0 . 7
请注意,由vimalselvam开发的Cucumber-extntsreport不支持Cucumber版本4。因为 Cucumber 4 使用的是基于事件的报告,而不是格式化程序。因此,请删除此依赖项。cucumber范围报告 3.0.2
在cucumber中实施范围报告有两种方法
1.使用Cucumber-JVM4适配器进行扩展框架(extentreports-cucumber4-适配器)
在 POM 下添加适配器依赖项.XML
<dependency>
<groupId>com.aventstack</groupId>
<artifactId>extentreports-cucumber4-adapter</artifactId>
<version>1.0.6</version>
</dependency>
将com.aventstack.extentreports.cucumber.adapter.Ex的Cucumber适配器插件添加到运行器。
@RunWith(Cucumber.class)
@CucumberOptions(plugin = {"com.aventstack.extentreports.cucumber.adapter.ExtentCucumberAdapter:"})
public class RunCukesTest {
// ..
}
报告输出目录-../Project目录/test Output/HtmlReport
2.在POM下添加aventstack依赖项。可扩展标记语言
<dependency>
<groupId>com.aventstack</groupId>
<artifactId>extentreports</artifactId>
<version>3.1.5</version>
</dependency>
在此工作流中,不要将com . avent stack . extent reports . cucumber . adapter . extentcuumberadapter插件添加到流道中。
我正在使用cucumber测试来测试我的Spring启动应用程序,启用了Spring安全。除了当我用cucumber测试一些使用Spring安全的测试时,事情运行得很好。 失败。如果我像简单的jUnit测试那样隐蔽地运行它们,这些测试确实有效,但是当使用cucumber测试步骤运行时失败了。当我用cucumber测试运行同样的测试时,这个问题看起来像是Spring安全测试模拟行为没有被应用。 我的
安装设置 Docusaurus 支持用 TypeScript 编写的主题组件。要开始使用 TypeScript,请在项目中添加 @docusaurus/module-type-aliases 以及一些 @types 依赖项: npm Yarn npm install --save-dev typescript @docusaurus/module-type-aliases @types/react
搜索之后,我发现了两个有趣的答案: > 对 javaFX 的本机映像格式支持 使用javaFX控制gif图像 但是正如我所看到的,javaFX不支持APNG图像。如何使用任何外部库或编写一些代码来解决此问题。我需要一个解决方案... 谢谢你的帮助。
Hibernate 也可以被配置为一个 JCA 连接器(JCA connector)。更多信息请参看网站。请注意,Hibernate 对 JCA 的支持,仍处于实验性阶段。
通过测试自动化的页面对象模型,我们将页面链接在一起,如下所示: 这样做的最大好处是,如果开发人员更改主页,使其不再链接到登录页面,我可以更新我的主页类,并在运行测试之前查看所有需要更新的测试(有错误)。 然而,对于小cucumber,上面的每一行将形成一个单独的“步骤”,因此是一个单独的方法。因此,如何才能做到这一点? 将页面对象类的实例(如homePage、loginPage等)放入cross-
我在以前的项目中使用过这个,但现在找不到。。。 我正在使用Maven构建java应用程序,并在构建过程中对该应用程序运行测试。我正在使用maven cucumber reporting插件v3.0.0来编写一份结果报告。 我想: 运行cucumber测试 生成报告(无论测试是否失败) 如果生成报告失败,则在生成报告后使生成失败 我如何使用maven surefire插件、maven cucumbe