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

java - 在 Eclipse 中运行带有标签的 Cucumber 需要哪些设置?

我正在使用 Cucumber 插件在 Eclipse 中运行功能文件。我正在尝试使用标签来选择我想运行的场景。

在我的功能文件中,我用不同的标签标记了两个场景,如下所示:

在我的 Junit 测试运行程序文件中,我使用的是标准实现:

但是,当我运行 Junit 运行程序时,它只运行功能文件中的所有场景,而不是只运行 @one 场景。

我做错了什么?我是否缺少 Eclipse 中的一些配置?

谢谢,

0 投票
2 回答
5411 浏览

json - 如何在 Gherkin 的场景大纲中使用文档字符串之类的东西?

我正在 Cucumber Java 中做一个简单的 rest api 测试。响应采用 Json 格式。

我编写的小黄瓜功能文件如下所示:

现在,由于有多个查询要使用不同的参数进行测试,例如“员工”、“部门”.. 等,所以很自然地编写场景大纲来执行任务:

其中 json_string_expected_for_employee 只是:

通过复制和粘贴。

但是这种方法存在问题:

  1. Json字符串中有特殊字符需要转义如果只是被“”包围
  2. Scenario Outline 表看起来很乱

这样做的好方法是什么?是否可以在特征文件中的其他位置定义字符串变量以存储长字符串,并将该变量名放在表中?

或者有什么解决办法?这一定是人们比较 Cucumber 中非平凡数据输出的常见场景。

谢谢,

0 投票
2 回答
1273 浏览

angularjs - 小黄瓜语法黄瓜的正则表达式

我想针对 Gherkin 语法编写一个用于输入框验证的正则表达式。有效的示例输入如下所示:

基本上,我正在尝试:任何情况(Given|When|And|Then)+String+"String in quotes"

我试过这个但不工作: (Given|When|And|Then)^[A-Za-z]+$/"(?:[^"\]|\.)*"/

创建了这样的表格

代码潘

0 投票
4 回答
14559 浏览

selenium - 是否可以从黄瓜功能文件中传递 Java-Enum 作为参数

我目前正在将 selenium 与 Java 一起使用,并希望实现 cucumber 以使测试脚本更具可读性。当前在将参数传递给预期 Enum 作为参数的 java 方法时面临问题。我还想知道在迁移当前框架之前是否还有其他已知的 cucumber-java 限制。

因为我是黄瓜的新手,如果有人知道详细学习黄瓜的好来源,请给我一个链接。

0 投票
2 回答
325 浏览

java - Intellij 黄瓜插件默认步骤定义(Java)

我正在使用适用于 Java 的 IntelliJ Cucumber 插件。该插件很棒,我已经让它与我的所有测试一起工作。Alt + Enter我的问题与当用户按下未定义的步骤并选择一个文件来放置新创建的方法时发生的自动步骤定义创建功能有关。

目前,该方法的名称与步骤相同,除了 a 之外为空throw new PendingException()

有什么方法可以更改插件在默认方法中放置的内容?我想将其更改为将该步骤标记为失败的测试。

0 投票
3 回答
7807 浏览

spring - Cucumber-JVM - Java 8 - 未找到步骤定义

我尝试添加 Cucumber 来测试我的 Java 项目,我写了一个功能文件:

我写了一个类来运行杯子

以及步骤定义:(我觉得我在这里缺少注释)

因此,无论我输入什么glue = {},都找不到该步骤。有glue = {"classpath:stepdefinitions"}glue = {"stepdefinitions"}测试是绿色的,我有“您可以使用下面的代码片段实现缺少的步骤”消息(未找到该步骤)。如果我放置完整的包路径,glue = {"com.myproject.test.stepdefinitions"}或者glue = {"classpath:com.myproject.test.stepdefinitions"}

我有一个堆栈跟踪:

这是我在我的添加pom.xml

我的项目使用 Spring 4。

0 投票
1 回答
49 浏览

automation - 在 Cucumber step-def 中的现有子句上方添加 @And 标记将禁用原始标记 [JVM]

我试图通过在/@And的现有 step-def 实现之上添加标签来重用一些现有的 Step-def 实现@Given@When

但是如果我把它放在它上面,它会禁用现有的链接@Given,如果我把它放在下面,@And它不会启用它的链接@And@Given

请告知,如何解决这个问题并重用现有的步骤定义?

非常感谢

0 投票
1 回答
247 浏览

automation - 在 Selenium Cucumber-JVM 报告中标记 KnownFailures

我们目前正在研究一个尖峰 - 开始标记/突出使用 Cucumber-JVM [Java selenium 环境] 运行的测试中的已知故障。我们目前在标准 Cucumber 生成报告之上使用 Masterthought 插件 [但将对任何其他开源插件开放或依赖于标准 Cucumber (JSON/JavaScript/XML/HTML) 报告]

(这将类似于团队城市的静音设施,而是一个定制的解决方案)

  1. 我们计划维护我们自己的小型 dB 或属性文件,其中将包含已知故障的测试用例参考

  2. 从下一次测试运行开始,如果相同的测试用例,我希望我的 Cucumber 测试报告突出显示或至少在报告中有某种列/标志可以突出显示已知故障(来自步骤 1 中的上述映射)再次失败。

您能否分享有关如何实现此已知故障功能的任何想法?

我们如何操纵 Cucumber runner 和输出?

如果我们设法更改 Cucumber 输出,例如 JSON / XML 输出文件,那么任何外部报告插件(如 MasterThought)都能够接受更改。

请提供您对任何类似工作的宝贵经验。

非常感谢

0 投票
0 回答
5160 浏览

intellij-idea - 发生 JNI 错误,请检查您的安装并重试线程“main”中的异常

我在尝试为我的黄瓜项目运行可执行 JAR 文件时遇到问题(发生 JNI 错误,请检查您的安装并重试线程“main”java.lang.SecurityException 中的异常:签名文件条目没有清单部分org/bouncycastle/mail/smime/SMIMEEnvelopedGenerator$Envelo pedGenerator.class)

几个要点:1.) 我使用 Idea IntelliJ 并创建了可执行 JAR 2.) 我使用 Gradle 作为构建工具 3.) 我正在使用黄瓜框架,并且只想使用可执行 JAR 运行我的黄瓜选项中提到的特定测试

请在下面找到完整的错误堆栈跟踪

请让我知道所需的更多信息。阅读许多文章,但找不到任何解决方案。提前致谢

0 投票
1 回答
1579 浏览

intellij-idea - IntelliJ - Cucumber 步骤定义案例

自从我升级到 IntelliJ 15.0.3 的最新社区版后,每当我使用alt + enter.

例如,它曾经像这样生成

但现在它以通常的驼峰式约定生成:

有没有办法将此设置更改回第一种样式?

谢谢