问题标签 [cucumber-java]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
251 浏览

cucumber - 从 Java 类运行功能

我正在尝试进行单元测试来测试我的黄瓜格式化程序。有没有办法让我从 java 类运行 .feature 文件?最初我打算进行 testng 单元测试,但我不知道如何运行 .feature 文件。

0 投票
1 回答
287 浏览

cucumber-jvm - 来自库的自定义格式化程序

我知道要使用自定义记者需要--format fully.qualified.name.of.MyFormatter。但是我有一个在罐子里的自定义格式化程序。我该如何使用它?有没有CucumberOptions我可以使用的隐藏?

0 投票
2 回答
4905 浏览

cucumber - 一个文件中 Cucumber 测试场景的最大/最佳数量

我有一个包含超过 66 个场景的 Cucumber 功能文件!功能文件的标题确实代表了场景的全部内容。

但是 66(200 步)感觉是一个很大的数字。这是否表明我的专题标题过于宽泛?

一个功能文件中最多应该有多少个场景(从最佳实践的角度来看)?

提前致谢 :)

0 投票
2 回答
2920 浏览

spring-boot - 黄瓜 + TestNG + SpringBoot

跑者类:

步骤定义类:

}

filterChainProxy 和 wac 没有自动装配,为什么?

谢谢你的帮助。

0 投票
2 回答
6818 浏览

java - 我无法在黄瓜类 step_definitions.LoginSteps 中实例化我的测试步骤没有空的构造函数

运行功能测试时出现错误。这与登录页面中的 webdriver 构造函数有关吗?我无法弄清楚为什么我会收到此错误:

cucumber.runtime.CucumberException:类 step_definitions.LoginSteps 没有空构造函数。如果您需要 DI,请将 cucumber-picocontainer 放在类路径中...

我的 pom info.cukes cucumber-picocontainer 1.2.4 中有 picocontainter

这是我的登录页面

0 投票
2 回答
955 浏览

java - 从命令行运行时未找到黄瓜步骤定义

一直在关注 Java 的黄瓜书,我正在处理的这个例子与第 2 章中的非常相似。这是在 cmd 行上,因为我现在不想合并到 IDE 中。

测试步骤:

我在@Given 上试过“abc”、“^abc”、“give abc”...

我正在使用以下 bat 文件来驱动它,并且步骤定义会编译并且类文件就在那里。我在 -g (胶水)选项上意识到包名称是参数值,所以我尽可能简单,但我发现了 0 个场景。bat文件很简单:

我始终得到以下结果:

显然 CLI 正在查找功能文件,但未找到已编译的步骤定义。怀疑这是一个类路径问题。我提供了额外的目录并移动了步骤定义文件。CLI 没有获取功能文件并将其与编译的定义匹配。提前谢谢。很多时候打出这些问题,解决方案就实现了,但事实并非如此。

如果 *.feature 文件是 cucumber 运行的要求,并且即使 junit 挂钩到 cucumber.class 测试运行器,它们也必须对应于编译的步骤定义,那么本书可能会留下更少的空间不确定性。这本书的论坛看起来很薄。可能需要去github或者源代码所在的地方。

0 投票
4 回答
26676 浏览

maven - 直接从可执行 jar 运行 Cucumber 测试

我有一个带有黄瓜和 maven 的项目,我也在使用 JUnit。

我能够从 Eclipse 成功运行和构建我的项目。

现在我想从另一个系统中的命令行运行测试,它(应该)没有安装 eclipse 或 cucumber。我有一个想法,我们可以从 jar 创建一个 JAR,我们可以通过 java cli 命令运行测试。

下面是我试图从中运行测试的组合,我也在粘贴 pom.xml 和 RunCukesTest.java 文件。

在此处输入图像描述

pom.xml

RunCukesTest.java

  • 我在类路径中添加了 JUNIT Jar。

我以两种方式生成罐子,

1)使用 -> 项目 -> 导出 -> JAR 文件导出 JAR 在最后一步中选择 MAIN 类为:RunCukesTest 因为我在这里为入口点定义了主方法(我们在这个类中需要这个主方法吗???)

导出后,我在命令下运行,

1.1java -jar xyz.jar 我收到错误:找到 NoClassDef:org/junit/runner/JUnitCore

所以我这样运行:

1.2java -cp xyz.jar;junit-4.12.jar org.junit.runner.JUnitCore 它说,

它仍然没有工作,所以我最后附加了 RunCukesTest 文件命名空间,
1.3java -cp xyz.jar;junit-4.12.jar org.junit.runner.JUnitCore se.stepDefinations.RunCukesTest
它给了我错误:类型 cucumber.api.junit.Cucumber 不存在

2) 所以我放弃了导出 jar 的选项,现在我正在尝试使用来自 maven Build 的 JAR。我选择了使用 Maven Build 运行的 POM,它在目标文件夹中创建了 2 个 jar,

1 名称为 xyz-0.0.1-SNAPSHOT,大小为 16kb,另一个名称为
xyz-0.0.1-SNAPSHOT-jar-with-dependencies,大小为 33mb

1)我使用依赖项运行更大的文件

它给了我信息:

没有功能目录的路径

2)所以我尝试将命名空间附加到 RunCukesTest 文件,

我收到一个错误:找不到文件或目录

,当然正如错误所说,它试图在目标文件夹中找到一个功能。

同样,我想在任何其他计算机(如可执行文件)中独立于任何此类项目文件依赖项运行 JAR。

任何帮助,将不胜感激。谢谢。

0 投票
2 回答
9015 浏览

java - 黄瓜 Java 截图

有没有办法在 Java Cucumber 的步骤之间截屏?

我有以下情况:

我想为场景的某些步骤截屏。

我目前正在“之后”方法中截取屏幕截图。

正如预期的那样,这只是为最后一步捕获图像。

如何捕获其他 2 个步骤的图像并以与“之后”方法相同的方式嵌入图像?

我尝试创建一个新方法来截取屏幕截图并在需要时调用该方法。但是,除了“之后”中指定的方法之外,任何其他方法都可以将场景作为参数吗?

我该怎么办?

0 投票
1 回答
5486 浏览

java - 黄瓜报告出错

我正在使用 Cucumber报告 api来获得更好的报告。我的项目不是 Maven 项目,现在无法更改项目结构。所以我添加了对我的项目的所有依赖项,但现在仍然出现“java.lang.IllegalArgumentException:文件'target/cucumber.json'不包含功能!”之类的错误。

所有添加的 jar 和版本如下所示。

在此处输入图像描述

我还在这里添加了我的 runner 类,这可能有助于调试。

我还附上了项目结构图像。 在此处输入图像描述

我观察到 feature-overview.html 是在文件夹结构下生成的,但是当我打开此文件时它已损坏,它在此文件上显示此错误。

在此处输入图像描述 有人可以帮我解决这个错误吗?

0 投票
1 回答
421 浏览

cucumber - cucumber + java : 将第 1 步返回的参数传递给第 2 步

我是黄瓜新手。我们有以下通过黄瓜实现 UI 自动化的用例。

请考虑以下示例。

在TestNg中,

现在我们正在转向黄瓜,我们需要在黄瓜中完成上述示例。

特点:表格。


场景:登录到应用程序
给定创建名为“formname”的表单,
然后搜索“formname”</p>

我们面临的问题 -> 在第 1 步中返回的表单名,我们不知道如何将其传递给第 2 步。在场景中,我们需要将此表单名称传递给在各个类中实现的不同步骤定义。

我试图在网上搜索,但没有找到任何特定于我们需要的东西。

如果有人能给我们一些指示/建议,那将是很大的帮助。