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());
}
Другие вопросы по тегам