问题标签 [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.
java - Cucumber-JVM 蚂蚁任务
我如何告诉 ant 执行文件夹中的所有黄瓜测试(功能、实现)?
我坚持使用这个例子
maven - 如何修改 Cucumber-jvm
我正在通过 JUnit 和 maven 运行 cucumber-jvm。我可以进入源代码并对核心代码进行更改,但这些更改不会影响运行 cucumber-jvm 的其他项目。
如何更改核心并影响我机器上的其他项目?maven 只在 github 上运行 jars 吗?我是否必须创建一个新的 cucumber-jvm 项目并将该项目添加为依赖项而不是:
谢谢。
java - 我如何处理使用 Cucumber JVM/JUnit 加载数据库
我想使用带有黄瓜 jvm 的功能文件来保存测试数据。
我正在测试一种在处理之前使用休眠加载对象的方法。
/li>
由于我必须指定要加载的 dealId,我该如何处理加载?
我的理解是我需要“模拟”连接和模拟连接产生的对象。
我分别查看了 Jmock、mockito 和 dbunit,但我不明白该怎么做。
我会很感激任何意见。
编辑注释
我添加了更多代码,我们正在从数据库中检索一个对象。接下来,我们遍历与交易相关的对象列表(多对一),并将每笔贷款的金额添加到交易金额中。最后,我们在返回交易之前设置交易的总金额。
那么,考虑到我想从功能文件中提供测试信息,我该如何为此方法编写 Junit 测试呢?
在“真实”场景中,这是可行的,我们在应用程序中加载交易并添加每笔贷款的贷款金额,并将其设置到交易中,然后再返回。但是考虑到我们必须从该方法中的数据库加载,我不明白如何为此测试编写 JUnit。
geb - 在 Geb 中设置请求头和用户代理
使用 Geb 时,是否可以在使用浏览器 API(而不是直接下载 API)时设置自定义请求标头和用户代理?
虽然使用 FirefoxDriver(请参阅此处)可以做到这一点,但我正在寻找一种使用 WebKitDriver 执行此操作的方法。
java - 有没有办法使用 Cucumber-JVM 开发 Java 1.5 应用程序?
Cucumber-JVM 依赖于 Java 1.6
我的客户端应用程序在 Java 1.5 上运行,目前无法更改
有谁知道使用 Cucumber-JVM 来锻炼我客户的应用程序的方法?
java - 配置黄瓜guice
我正在尝试在我的步骤定义中使用 DI。我有一个模块,
并希望将此实例注入步骤定义的构造函数中。
我想我需要使用 cucumber-guice.properties 文件配置 GuiceFactory 但我真的不知道这是什么?目前我得到的错误是,
我还应该使用 Provider 进行构造函数注入吗?
java - 从命令行在 Maven 中设置 cucumber-jvm 选项
我正在尝试为 Cucumber 设置“名称”选项,以便能够运行特定的功能或场景。
我进入了这个,
但它只是运行所有功能并且不会出错。
有任何想法吗?
java - 在其他项目中重用 Cucumber-JVM 步骤定义
如何在其他项目中重用 Cucumber-JVM 步骤定义来测试一些典型的 Web 操作。关键是我已经创建了一些 java 项目,只是使用典型场景操作的步骤定义实现,例如:
而且我想在其他项目中重用这些定义(包括在类路径中),只是为了编写自己的简单场景。但是当我运行场景(作为 JUnit 测试)时,Cucumber 找不到步骤定义。当我尝试扩展 Step Definitions 类时,它给了我一个错误,我无法扩展 Step Definitions 类。那么,是否可以重用步骤定义,如果可以,那么如何重用?
java - 如何在 Cucumber 中组织规范定义?
我们正在考虑在我们的项目中使用Cucumber进行验收测试。
当我们scenario
在 Cucumber中编写 a 时feature
,我们编写了Given
,When
和Then
语句的列表。
当我们使用cucumber-jvm项目时Given
,When
和Then
语句与(JUnit)类中的 Java 方法相关。
我想知道项目结构中与Given
//相关的代码最好的组织是什么。我主要关心的是维护一个大项目的黄瓜测试,其中场景的数量非常重要,尤其是关于功能之间共享的项目。When
Then
我可以看到至少两种主要方法:
每个特性都与它自己的 JUnit 类相关。所以如果我有一个
foo/bar/baz.feature
黄瓜文件,我会找到相关的foo.bar.Baz
JUnit 类,它有足够@Given
的@When
和@Then
注释的方法。@Given
将,@When
和方法分离@Then
到“主题”类和包中。例如,如果在我的黄瓜场景中我有一个语句Given user "foo" is logged
,那么带@Given("^user \"([^\"]*)\" is logged$")
注释的方法将位于foo.user.User
类方法中,但可能@When
稍后在同一黄瓜场景中使用的方法将位于不同的 Java 类和包中(比如说foo.car.RentCar
) .
对我来说,第一种方法似乎很好,因为我可以轻松地处理我的黄瓜特性和我的 Java 代码之间的关系。但缺点是我可以有很多冗余或代码重复。此外,可能很难找到可能的现有@Given
方法,以避免重新创建它(IDE 可以提供帮助,但这里我们使用的是 Eclipse,它似乎没有给出现有Given
语句的列表?)。
当您在多个黄瓜功能之间共享条件时,另一种方法似乎更好Given
,因此我想避免代码重复。这里的缺点是很难在@Given
Java 方法和Given
cucumber 语句之间建立联系(也许,IDE 可以提供帮助?)。
我对黄瓜很陌生,所以也许我的问题不是一个好问题,随着时间和经验,结构将是不言而喻的,但我想得到关于它的使用的良好反馈......
谢谢。
selenium - 无法在 Windows 7 上通过 TeamCity BuildAgent 执行 IEDriver 或 ChromeDriver
我的团队正在考虑使用 Selenium 2 进行 UI 测试。我们的 UI 开发由外部供应商完成(另一个主题),使用 RemoteDriver(服务器/客户端)需要更多的维护而不是我们的生产力。
我的测试项目是一个简单的 maven 项目,我尝试启动一个新的 IE(v8 - 64bit)/Firefox/和 Chrome 浏览器,看看它是否会成功导航到某个任意 url。它在我的机器上本地运行,在 TeamCity build-agent 用户配置文件上远程运行(转到源项目并运行 mvn test)。但是,当我尝试通过 TeamCity 控制台(Web 或通过 IntelliJ 上的远程运行)执行测试时,出现以下错误:
IE 驱动程序错误
Chrome 驱动程序错误
我的测试是使用 Cucumber-JVM 设置的,并且在我尝试执行 Selenium 驱动程序的步骤定义中。我肯定会按照 selenium 网站上概述的设置步骤进行操作,但我目前对为什么该项目不通过 TeamCity 执行感到迷茫。
如果这有助于故障排除,我很乐意发送我的测试项目。任何新的见解将不胜感激!