问题标签 [cucumber-jvm]
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.
ruby - 如何在黄瓜测试中的场景大纲示例中获取多行字符串才能工作?
我想在场景大纲的示例部分使用多行字符串。怎么做 ?
例如
它看起来不干净也不行
cucumber - Gradle 不接 Cucumber-jvm
我正在尝试从 Gradle 运行 Cucumber-jvm。但是,无论我做什么,我都无法让这些功能真正运行。在运行其他 JUnit 测试时,它们总是被跳过。我的功能在src/test/resources
,我有一个 JUnit 测试,src/test/java
并@RunWith(Cucumber.class)
指定了@Feature(Myfeature.feature)
属性。这是我的 Gradle 脚本:
如果有人知道如何解决此问题,将不胜感激。Cucumber-jvm 文档不存在。
java - 如何使用 cucumber-junit 设置 Cucumber 功能的路径?
我尝试使用 Java 和 Maven 构建我的第一个可执行规范。我用这个结构创建了一个简单的项目:
在junit测试MyFeatureTest.java
中我有这个:
现在https://github.com/cucumber/cucumber-jvm/wiki/IDE-support说我应该添加以下行:
我试图将其修改为
但注释@Cucumber.Options
根本不可用。我pom.xml
有这个依赖:
我错过了什么吗?
更新我遗漏了一些东西:黄瓜功能文件必须在子目录src/test/resources/mypackage/
中。否则它不会被junit测试拾取。
当我将它们放在同一个目录中时,我可以运行我的功能测试src/main/test/
,所以这对我来说不是一个障碍。但我想了解整个设置。
selenium - 如何在 cucumber-jvm 的另一个功能中调用一个功能?
我有一个功能文件
所以上面的运行一切正常,并断言它确实回到了主页并且存在退出链接。
现在我有了另一个功能文件。
在运行"When I go to my account page"
步骤之前,用户应该"Create Profile"
.
所以我所做的是我附加了
之前When I go to my account page
。
但我看到我复制了“创建配置文件”功能/场景中的相同代码。
如何在“转到我的帐户页面”场景中运行整个“创建配置文件”功能/场景?
我将 cucumber-jvm 与 Selenium 和 JUnit 一起使用。
cucumber - 使用 Cucumber/Webdriver 的验收测试永远不会完成
我们使用 Gherkin、Cucumber-jvm 和 Webdriver 对标准 Java/Spring webapp 运行验收测试。问题是,当使用 Maven 作业运行测试时,测试完全成功,但作业没有完成。只有在关闭 Firefox 窗口时才能完成作业。
我们有一个在每个功能后显式关闭浏览器的解决方法,但由于时间滞后,这很快就会变得不可持续。
技术栈如下:
黄瓜-JVM 1.0.4
硒 2.12.0
火狐8.0
该应用程序在 Windows 7 机器上的 JBoss EAP 5.1 中运行。
当我们使用 Cucumber 的 JRuby 版本时,上述 selenium/firefox 组合不会出现这种行为,尽管当我们使用更高版本的任何一种时都会出现这种情况。
以前有没有人见过这种行为,有没有人有任何建议或解决方法?
提前致谢
java - 没有为 Cucumber runner 注入 Spring 依赖项
我有使用 SpringJUnit4ClassRunner 的现有测试用例,它使用 @Resource 注释来标记变量以进行注入。
@Resource 用作将来可能使用的另一个 DI 框架。(@Resource 与 @Autowired)
现在我已经开始使用 Cucumber runner 编写 BDD 测试用例。然而,DI 似乎没有发生。(@Autowired 有效,但@Resource 无效)有人知道为什么不吗?
grails - 尝试使用 cucumber-jvm 运行 geb 测试时出错
我正在尝试在 IntelliJ 的 Grails 项目中运行一些 geb 测试,但是遇到了麻烦,经过 2 天的网络搜索和尝试不同的事情后仍然卡住了。之前,我们确实有一些 Groovy 测试运行良好,但到目前为止,geb 没有运气。我们正在使用黄瓜-jvm。
目前我收到以下错误:执行脚本TestApp时出错:groovy.lang.MissingMethodException:没有方法签名:GebConfig.environments()适用于参数类型:(GebConfig$_run_closure2)值:[GebConfig$_run_closure2@4ad3727e]
我的 GebConfig.groovy 文件在测试/功能中,包含:
我在测试/功能中也有 .feature 文件。步骤定义在测试/功能/步骤中,包含:
在 test/functional/setup 中还有一个 shared_driver.groovy 类,它是为直接的 Groovy 测试而创建的,我不确定这是否仍然需要。
运行配置命令是:test-app --stacktrace,带有 VM 选项:-Dgeb.env=chrome
任何帮助表示赞赏,谢谢!
html - 带有 html 格式化程序的 cucumber-jvm 生成空白页
cucumber-jvm 的 HTML 格式化程序昨天为我工作。今天,当我运行测试时,我在生成的 index.html 中获得了以下内容。所有其他支持文件(style.css、formatter.js 等)都在那里:
report.js 文件包含我刚刚运行的测试的正确内容,但是当我打开 index.html 文件时,浏览器会呈现一个空白页面。我正在运行一个简单的测试,只是为了让所有东西都连接起来。我的测试类如下所示:
正如我所说,我的测试运行良好。我可以看到 junit xml 输出并且它是正确的(除了它实际上没有将失败的测试注册为失败的事实 - 但这是另一个问题)。
我可以对我的配置做些什么,使其不再将内容放入 html 文件中?
为了完整起见,这是我的步骤定义文件:
我正在通过 gradle 1.0 运行它,如果这会有所不同(我不这么认为,因为它昨天还在工作)。
任何帮助表示赞赏。
junit - 在 Cucumber-JUnit 中,有没有办法控制报告功能的顺序?
我正在运行一个基本的 Cucumber-Jvm 测试,它具有两个称为“基本数学”和“高级数学”的功能(分别在文件中basic_math.feature
和advanced_math.feature
)。
但是,当生成 HTML 报告时,“高级数学”会显示在“基础数学”之前,而我希望“基础数学”出现在“高级数学”之前。这不是微不足道的,因为如果我可以更有逻辑地组织输出,那么我们的业务分析师和 QA 部门将更容易访问这些报告,并且我将能够获得更多的牵引力。
我知道我可以尝试使用 Maven 插件进行某种 XSLT 后处理,但我正在寻找某种方式来使用注释在代码中定义它。有没有这样的方法?Cucumber.@Options.features
实际上定义了.feature
文件位置,并且Cucumber.@Options.name
用于确定运行哪些功能的 rexexp。
cucumber-jvm - 手动运行 Cucumber JVM 测试
我有一点特殊情况。基本上我有一个单元测试,用@Test 注释,在那个测试中我需要执行一个 Cucumber JVM 测试类。
为什么?很长的故事。与类加载器和 RoboGuice 有关,它不是很重要,但它确实限制了我能做什么和不能做什么。
下面是测试方法:
MyCucumberTest 是我创建的一个类,注释如下:
为什么我注释掉了@RunWith 注释?因为如果我不这样做,Cucumber 测试运行程序将拿起测试并运行它,这是我不想要的,因为我正在手动运行测试。
问题是上述方法不起作用。看起来 Cucumber 正在查找功能文件,它正在验证 MyCucumberTest 是否包含 @Givens 等,它甚至会打印出测试,就好像它正在运行它一样。
但事实并非如此。在@Given、@When 和@Then 方法中没有执行任何代码。我不确定为什么会这样,但我有一个模糊的想法,即 Cucumber JVM 测试运行器不想执行代码,因为该类没有使用 @RunWith 注释。
任何人都可以帮忙吗?