【发布时间】:2018-07-25 17:29:52
【问题描述】:
在尝试为 Cucumber 中的场景大纲编写第一步定义时,我遇到了障碍。
我在 Cucumber 中使用 Gherkin 功能,其中我的步骤定义正在调用我的各种页面类,这些类将使用 Selenium 驱动和检查页面。这个框架是用 Java 编写的。
到目前为止,我已经完成了我的场景,但我现在有一个看起来有点像以下的功能:
Given I have started a policy amendment request application
When I <Colour> selected a Colour
And I <Number> select a Number
Then I <Date> be expected to populate a date the change is effective from
Examples:
|Colour | Number | Date |
|Have | Donot | Will |
|Havenot | Do | Willnot |
我在这里的问题是关于如何在步骤 Def 处理这个问题。如果我看一下步骤When I <Colour> selected a Colour
然后我知道我可以添加如下步骤def来接这一行
@When("^I \"([^\"]*)\" selected a Colour$")
public void iColourSelectedA(String colour) throws Throwable
但这会传入一个字符串“Have”和“Have not”。我希望这一步的每个输入都能以不同的方式驱动我的应用程序。所以我想知道如何最好地处理这个问题。
我要驱动执行的代码是:
objPolicyAmendRequest.setColour();
所以在一个实例中(当传入 string = "Have")我想将一个值传入我的方法,例如 objPolicyAmendRequest.setColour("Blue");
和另一个(当传入 string = "Have not")我不想将任何东西传递给这个方法。
我猜我需要执行 if 语句,但不确定 Cucumber 是否有帮助。
希望我说得通。我对编程还是有点陌生!
【问题讨论】:
标签: java selenium-webdriver cucumber bdd