Cucumber Java - перебирать список в Java
У меня есть мой файл Scenerio, как это
Scenario: Login Page with Valid credentials
Given user is on Application landing page
Then we verify following user exists
| name | email | phone |
| Shankar | san@email.com | 999 |
| Ram | ram@email.com | 888 |
| Sham | sham@email.org | 666 |
В моем определении шага я хочу повторить, используя for
а также foreach
петля. Я пытался с помощью while
петля. Работает нормально. Может кто-нибудь сказать мне, как перебрать с помощью for and foreach loop
?
@Then("^we verify following user exists$")
public void we_verify_following_user_exists(DataTable datatable)
throws Throwable {
List<List<String>> data = datatable.raw();
Iterator<List<String>> it = data.iterator();
while (it.hasNext()) {
System.out.println(it.next());
}
И я ожидаю выход, как показано ниже
name,email,phone
Shankar,san@email.com,999
Ram,ram@email.com,888
Sham,sham@email.org,666
2 ответа
Попробуй это:
@When("^User enters below credentials$")
public void user_enters_below_credentials(DataTable credentials) throws Throwable {
List<List<String>> list = credentials.raw();
for (int i = 0; i < list.size(); i++) {
for (int j = 0; j < 4; j++) {
System.out.println(list.get(i).get(j));
}
}
}
Вы можете перебирать циклы for, похожие на:
for (List<String>currentData : data) {
org.apache.commons.lang3.StringUtils.join(currentData, ",")
System.out.println(System.getProperty("line.separator"));
}
Это должно работать для вас
for(List<String> list: data){
System.out.println(list.toString());
}