问题标签 [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 回答
247 浏览

cucumber - 黄瓜在包含项目中找到胶水,但不在包含 JAR 中

我有一个要在我的测试项目中使用的步骤定义文件。当我的步骤定义文件放在包含的项目中时,一切正常。但是如果不是包含项目,而是包含与包含项目对应的jar,黄瓜找不到步骤定义类。

这是我的注释胶水:

cucumber.tests 中的 Step 定义类是由 cucumber 找到的,但 org.includeProject.cucumber 中的不是。

任何想法?

0 投票
3 回答
2979 浏览

cucumber-java - 如何从 Cucumber BDD 框架中的属性文件而不是功能文件中读取数据?

我有一个场景,我想用多个用户登录,黄瓜提供了带有示例的场景大纲来执行此操作,但这需要在功能文件中输入用户详细信息。有没有办法将用户详细信息保存在属性文件中并在 Step 定义类中从那里调用它?

如果有,有人可以为我提供带有 gmail 登录场景的示例代码吗?我将 Junit 与我的黄瓜框架一起使用,对 Junit 的任何建议将不胜感激。

谢谢福拉

0 投票
2 回答
6457 浏览

java-8 - 使用 Cucumber-Java8 总是出现异常“常量池索引处的类型错误”

我正在尝试为 Cucumber 的 Java8 方言设置一个示例项目。我的问题是,我没有让它运行。我总是得到以下异常层次结构:

我不知道为什么会收到此错误,也不知道如何解决。

我已将所有内容打包在一个 Maven 项目中。布局是这样的:

我在 pom.xml 中包含的依赖项是:

此外, pom.xml 仅加载编译器和故障安全插件。

我对 CucumberIT.java 的定义:

我的功能定义:

这是我的步骤定义:

知道我在这里做错了什么吗?

0 投票
1 回答
1574 浏览

cucumber - 如何在 java 中获取 Gherkin 特征描述运行时

我需要报告正在执行的场景的功能描述以报告给其他系统。能够从 cucumber.api.Scenario 中获取场景名称;我如何才能描述功能?有没有我可以使用的界面?

使用cucumber-Jvm,获取特征描述运行时;因为正在执行的每个场景可能来自不同的功能文件。

0 投票
1 回答
1118 浏览

maven - 使用 maven 执行黄瓜

我正在使用下面的 maven 项目来尝试黄瓜示例。

http://artoftesting.com/automationTesting/sampleScript/cucumberJava.zip

编译工作正常,但测试失败并出现以下错误..

下面是我的 pom.xml 的快照。

除了这些之外,我是否需要包含任何其他 jar 来克服这个错误?

0 投票
0 回答
1229 浏览

java - Eclipse 中的 Cucumber-Java i18n zh-CN 不起作用

我们正在使用 Cucumber-Java 进行测试自动化,Eclipse IDE 中的 Maven 下面是我们尝试执行但面临问题的代码,请帮助我们

我还将默认编码更改为 UTF-8

黄瓜代码

下面是步骤实现

我面临黄瓜语法本身的错误,以下是错误

第一行的错误

在“功能:”处缺少“功能:”

最后一行错误

required (...)+ 循环在输入 '' 处不匹配任何内容

我们如何在 Eclipse 中为 cucumber-java 配置 i18n? 我们需要任何特殊设置吗? 为什么不认汉字?

0 投票
1 回答
46 浏览

cucumber-jvm - 将信息从一个步骤 def class 传递到另一个步骤的最佳方法是什么?

将一个 Steps def 注入另一个 Steps def 会迅速导致依赖膨胀,因为 step defs 之间的重用量增加。此外,它将step defs 彼此非常紧密地结合在一起。

一定会有更好的办法。有什么建议么?

在步骤定义之间传递信息是否是无论如何都应该避免的反模式?

0 投票
2 回答
631 浏览

cucumber - BDD的附加值是什么?

我现在正在做一个项目,我们使用 cucumber-jvm 来驱动验收测试。

在以前的项目中,我会在 groovy 或 scala 中创建内部 DSL 来推动验收测试。这些 DSL 使用起来相当简单,即使是非技术人员也可以在一点指导下编写测试。

我看到的是 BDD 为测试添加了另一层间接和语义糖,但我看不到附加值,尤其是在非技术人员可以使用内部 DSL 的情况下。

在黄瓜的情况下,stepDefs 似乎将驱动任何给定测试的代码分散在几个不同的类中,使得测试代码难以在特性文件之外阅读和调试。另一方面,将与一个测试相关的所有代码放在单个 stepDef 类中会阻止对 stepDef 的重用。这两种结果都是不可取的,让我问,自然语言的使用有什么值得这些额外的和不直观的间接的?

有什么我想念的吗?就像 ATDD 和 BDD 之间的微妙哲学差异一样?前者是否意味着命令式测试,而后者意味着声明式测试?这些审美差异有内在价值吗?

所以我要问的是,为了证明驱动测试的实际代码的可读性恶化,增加了什么价值是合理的。这种 BDD 的东西真的值得痛苦吗?增值不仅仅是审美?

如果有人能提出一个令人信服的论点来说明为什么 BDD 的收益超过了 BDD 的痛苦,我将不胜感激?

0 投票
0 回答
185 浏览

eclipse - 如何删除 Cucumber JVM 中功能文件中不再存在的过时步骤函数?

我是使用 Eclipse IDE 的 Cucumber JVM 新手。通常在使用 Gherkin 编写功能文件后,我使用 Junit Runner 运行功能文件,如下所示:

然后我会从 Eclipse 得到提示说“你可以使用下面的代码片段来实现缺少的步骤”,并且缺少的步骤函数定义是自动生成的:

我只是将它复制并粘贴到我的步骤定义文件中并实现它。多么方便!

但是有时我需要经常更改我的功能文件,这样做 Eclipse 只会要求我添加新的或修改的步骤定义,但它不会自动清除功能文件不再需要的旧步骤功能。

那么有没有办法通过不手动更改来使步骤定义与功能文件一致?

谢谢,

0 投票
1 回答
922 浏览

selenium - 无论如何我可以消除我的硒测试的片状吗?

我将 Cucumber-JVM 与 Serenity(报告库)一起使用。步骤实现使用 selenium 进行浏览器自动化。

我使用类似的方法

但有时我的测试仍然会出现片状。我不想使用显式等待。

有什么方法可以让我的测试更可靠。?