黄瓜:只重复几次

时间:2017-08-31 20:25:17

标签: cucumber bdd cucumber-java

如果我有这样的场景outilne:

Scenario Outline: test
Given I am on page X
When I fill the <name> on field <fieldID>
And I click on Ok button
Then I should see something

Examples:
name   | fieldID   |
"Jhon" | "name1"|
"Max" | "name2" |
"Paul" | "name3"|

我可以只运行“当”步骤3次,然后单击确定吗?或者我是否必须编写所有3个不同的步骤?我需要这3个信息点击确定,不像我使用不同的登录值测试3次登录

3 个答案:

答案 0 :(得分:4)

您可以编写您的方案,例如:

Scenario Outline: test
Given I am on page X
When I fill in the following names
 name   | fieldID |
 "Jhon" | "name1" |
 "Max"  | "name2" |
 "Paul" | "name3" |
And I click on Ok button
Then I should see something

然后,该表将作为数组提供给When语句的步骤实现。

我可以在这里问一个问题,实际的名字真的很重要吗?如果没有,那么您也可以简单地编写When I fill in 3 names并使用步骤方法填写一些任意名称。

答案 1 :(得分:0)

您不需要3个不同的步骤,因为方案大纲将自动生成不同的测试取决于“示例:”中的数据。在您的示例中,SpecFlow将生成3个不同的测试,因为在“Examples:”中有3行。简而言之,您只需要一个场景,它将执行n次,其中n是“示例:”中的行数。

答案 2 :(得分:0)

您必须使用不同的参数编写三个步骤,如果您使用方案大纲,则会为每个方案重复所有步骤。根据您的要求,您可以尝试以下步骤。

Scenario: test
   Given I am on page X
   When  I fill the "John" on field "name1"
   When  I fill the "Max" on field "name2"
   When  I fill the "Paul" on field "name3"
   And   I click on Ok button
   Then  I should see something