问题标签 [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.
cucumber - 黄瓜在包含项目中找到胶水,但不在包含 JAR 中
我有一个要在我的测试项目中使用的步骤定义文件。当我的步骤定义文件放在包含的项目中时,一切正常。但是如果不是包含项目,而是包含与包含项目对应的jar,黄瓜找不到步骤定义类。
这是我的注释胶水:
cucumber.tests 中的 Step 定义类是由 cucumber 找到的,但 org.includeProject.cucumber 中的不是。
任何想法?
cucumber-java - 如何从 Cucumber BDD 框架中的属性文件而不是功能文件中读取数据?
我有一个场景,我想用多个用户登录,黄瓜提供了带有示例的场景大纲来执行此操作,但这需要在功能文件中输入用户详细信息。有没有办法将用户详细信息保存在属性文件中并在 Step 定义类中从那里调用它?
如果有,有人可以为我提供带有 gmail 登录场景的示例代码吗?我将 Junit 与我的黄瓜框架一起使用,对 Junit 的任何建议将不胜感激。
谢谢福拉
java-8 - 使用 Cucumber-Java8 总是出现异常“常量池索引处的类型错误”
我正在尝试为 Cucumber 的 Java8 方言设置一个示例项目。我的问题是,我没有让它运行。我总是得到以下异常层次结构:
我不知道为什么会收到此错误,也不知道如何解决。
我已将所有内容打包在一个 Maven 项目中。布局是这样的:
我在 pom.xml 中包含的依赖项是:
此外, pom.xml 仅加载编译器和故障安全插件。
我对 CucumberIT.java 的定义:
我的功能定义:
这是我的步骤定义:
知道我在这里做错了什么吗?
cucumber - 如何在 java 中获取 Gherkin 特征描述运行时
我需要报告正在执行的场景的功能描述以报告给其他系统。能够从 cucumber.api.Scenario 中获取场景名称;我如何才能描述功能?有没有我可以使用的界面?
使用cucumber-Jvm,获取特征描述运行时;因为正在执行的每个场景可能来自不同的功能文件。
maven - 使用 maven 执行黄瓜
我正在使用下面的 maven 项目来尝试黄瓜示例。
http://artoftesting.com/automationTesting/sampleScript/cucumberJava.zip
编译工作正常,但测试失败并出现以下错误..
下面是我的 pom.xml 的快照。
除了这些之外,我是否需要包含任何其他 jar 来克服这个错误?
java - Eclipse 中的 Cucumber-Java i18n zh-CN 不起作用
我们正在使用 Cucumber-Java 进行测试自动化,Eclipse IDE 中的 Maven 下面是我们尝试执行但面临问题的代码,请帮助我们
我还将默认编码更改为 UTF-8
黄瓜代码
下面是步骤实现
我面临黄瓜语法本身的错误,以下是错误
第一行的错误
在“功能:”处缺少“功能:”
最后一行错误
required (...)+ 循环在输入 '' 处不匹配任何内容
我们如何在 Eclipse 中为 cucumber-java 配置 i18n? 我们需要任何特殊设置吗? 为什么不认汉字?
cucumber-jvm - 将信息从一个步骤 def class 传递到另一个步骤的最佳方法是什么?
将一个 Steps def 注入另一个 Steps def 会迅速导致依赖膨胀,因为 step defs 之间的重用量增加。此外,它将step defs 彼此非常紧密地结合在一起。
一定会有更好的办法。有什么建议么?
在步骤定义之间传递信息是否是无论如何都应该避免的反模式?
cucumber - BDD的附加值是什么?
我现在正在做一个项目,我们使用 cucumber-jvm 来驱动验收测试。
在以前的项目中,我会在 groovy 或 scala 中创建内部 DSL 来推动验收测试。这些 DSL 使用起来相当简单,即使是非技术人员也可以在一点指导下编写测试。
我看到的是 BDD 为测试添加了另一层间接和语义糖,但我看不到附加值,尤其是在非技术人员可以使用内部 DSL 的情况下。
在黄瓜的情况下,stepDefs 似乎将驱动任何给定测试的代码分散在几个不同的类中,使得测试代码难以在特性文件之外阅读和调试。另一方面,将与一个测试相关的所有代码放在单个 stepDef 类中会阻止对 stepDef 的重用。这两种结果都是不可取的,让我问,自然语言的使用有什么值得这些额外的和不直观的间接的?
有什么我想念的吗?就像 ATDD 和 BDD 之间的微妙哲学差异一样?前者是否意味着命令式测试,而后者意味着声明式测试?这些审美差异有内在价值吗?
所以我要问的是,为了证明驱动测试的实际代码的可读性恶化,增加了什么价值是合理的。这种 BDD 的东西真的值得痛苦吗?增值不仅仅是审美?
如果有人能提出一个令人信服的论点来说明为什么 BDD 的收益超过了 BDD 的痛苦,我将不胜感激?
eclipse - 如何删除 Cucumber JVM 中功能文件中不再存在的过时步骤函数?
我是使用 Eclipse IDE 的 Cucumber JVM 新手。通常在使用 Gherkin 编写功能文件后,我使用 Junit Runner 运行功能文件,如下所示:
然后我会从 Eclipse 得到提示说“你可以使用下面的代码片段来实现缺少的步骤”,并且缺少的步骤函数定义是自动生成的:
我只是将它复制并粘贴到我的步骤定义文件中并实现它。多么方便!
但是有时我需要经常更改我的功能文件,这样做 Eclipse 只会要求我添加新的或修改的步骤定义,但它不会自动清除功能文件不再需要的旧步骤功能。
那么有没有办法通过不手动更改来使步骤定义与功能文件一致?
谢谢,
selenium - 无论如何我可以消除我的硒测试的片状吗?
我将 Cucumber-JVM 与 Serenity(报告库)一起使用。步骤实现使用 selenium 进行浏览器自动化。
我使用类似的方法
但有时我的测试仍然会出现片状。我不想使用显式等待。
有什么方法可以让我的测试更可靠。?