如何 运行 一个 Cucumber Step 多次使用不同的数据?
How to run a Cucumber Step multiple times with different data?
我正在尝试使用 Cucumber 自动化一个场景。
步骤 Then Create item
实际上仅从第一行获取值。
我想做的是执行步骤 Then Create item
2 次,然后再转到步骤 Then assigns to CRSA
。
但我的代码仅从第一行获取值 (0P00A)。如何从两行取值?
Background: Application login
Given User launch the application on browser
When User logs in to application
Scenario: Test
Then Create item
| Item ID | Attribute Code | New Value | Old Value |
| 0P00A | SR | XYZ21 | ABC21 |
| 0P00B | CA | XYZ22 | ABC22 |
Then assigns to CRSA
@Then("Create item")
public void createItem(DataTable dataTable) {
List<Map<String, String>> inputData = dataTable.asMaps();
}
您可以像下面这样使用 foreach:
List<Map<String, String>> inputData = dataTable.asMaps();
for (Map<String, String> columns : inputData ) {
columns.get("Item ID");
columns.get("Attribute Code");
}
我正在尝试使用 Cucumber 自动化一个场景。
步骤 Then Create item
实际上仅从第一行获取值。
我想做的是执行步骤 Then Create item
2 次,然后再转到步骤 Then assigns to CRSA
。
但我的代码仅从第一行获取值 (0P00A)。如何从两行取值?
Background: Application login
Given User launch the application on browser
When User logs in to application
Scenario: Test
Then Create item
| Item ID | Attribute Code | New Value | Old Value |
| 0P00A | SR | XYZ21 | ABC21 |
| 0P00B | CA | XYZ22 | ABC22 |
Then assigns to CRSA
@Then("Create item")
public void createItem(DataTable dataTable) {
List<Map<String, String>> inputData = dataTable.asMaps();
}
您可以像下面这样使用 foreach:
List<Map<String, String>> inputData = dataTable.asMaps();
for (Map<String, String> columns : inputData ) {
columns.get("Item ID");
columns.get("Attribute Code");
}