我在RestAssured中使用Cucumber插件来编写我的特性文件并自动化REST服务。下面是我的场景的样子
Scenario Outline: Validate the elements in the GET response
Given I have the data setup to test "<version>" and "<order>"
When ...
Then the response should contain accurate data
Examples:
| version | order |
| V1 | O1 |
| V2 | O2 |
我的步骤定义具有方法的以下签名:
@Given("^I have the data setup to test \"([^\"]*)\" and \"([^\"]*)\"$")
public void iHaveTheDataSetupToTestAnd(String clientCharacteristicTypeCd, String clientCharacteristicDataType)
我的问题是,我想有另一个类似下面这样的场景,我想利用上面相同的步骤定义,但传递一个额外的参数“Special Order”作为可选的。我可以这样做吗?或者我需要为下面给定的步骤创建一个新的步骤认知吗?我在考虑方法重载/传递可选参数,但不确定它是否适用于Gherkin。像这样的东西
Ex:
Scenario Outline: Validate the elements in the GET response for special order
Given I have the data setup to test "<version>" and "<order>" and "<specialorder>"
When ...
Then the response should contain accurate data
Examples:
| version | order | specialorder
| V1 | O1 | SO1
| V2 | O2 | SO2
public void iHaveTheDataSetupToTestAnd(String clientCharacteristicTypeCd, String clientCharacteristicDataType, String specialOrder)
您希望委托给支持这两个步骤的助手。然后实现两个步骤,这两个步骤除了捕捉调用并将其转发给帮助器之外,没有什么更多的作用。
这将允许您做各种有趣的事情,而不需要在step类中有很多逻辑。每一步通常只有一两行。在我的例子中,我捕捉参数并将它们转发给一个帮助器,在那里发生了驱动被测试系统的所有有趣的事情。
我用Cucumber特性文件和Java步骤定义文件进行了一个简单的设置。 feature.feature->StepDefinition.java->PageObject.java 如上所示,我在这里使用了三个步骤定义文件。并且cucumber可以识别这两个文件中的步骤定义。但是当AcceptPage.java文件中定义了“and I Accept”步骤时,它甚至不尝试运行该步骤。如果我将它移动到
有没有办法调用cucumber来exe一些用Java编写的特性文件?(不是作为Junit) 我理解您可以通过mvn或Gradle运行Cucumber-JVM作为Junit测试的一部分。 但我不想将此BDD测试作为构建过程的一部分运行。我想在配置项的最后一步调用cucumber,它将执行Ruby、Cpp、Java中的任何步骤定义
TL:DR控制台不显示缺少步骤的步骤正则表达式 编辑:添加功能文件
使用Serenity-Cucumber,我正在尝试构建一个测试套件,以便我可以通过多个功能文件重用步骤定义(给定、何时、然后和...)。 例如: 上面的测试用例记录在一个用户中,我需要将其用于其他场景。例如,如果我添加了一个测试用例来更新密码,则需要在更新密码场景之前执行上述场景。 测试将需要执行登录步骤,然后更新密码步骤。从我有限的知识来看,似乎我需要在步骤。因此,在更新密码方案之前,我将有以下
我有多个项目,我想为所有项目实施cucumber js E2E测试。我有一个步骤定义文件,可用于测试所有这些项目,但我希望有多个功能文件,每个项目文件夹包含特定于项目的功能文件。这是布局: 步骤定义:项目/E2E/step_definitions/chat.js 功能文件:项目/project_1/功能/feature_1.js 现在,由于步骤定义在features文件夹之外,我得到了未实现的步骤