03
Сен
2017

Как в for цикле подставлять входные данные? Java

Всем привет. Есть вот такой код. Загвоздка в том месте, где я оставил XXXXXXXX.

Как мне туда каждый раз в цикле подставлять по очереди входные данные ( с 0-го по последний, один цикл).

public void MenuText (String ExpectedMenuItem1, String ExpectedMenuItem2, String ExpectedMenuItem3, String ExpectedMenuItem4, String ExpectedMenuItem5){

    List<WebElement> allLi = driver.findElements(By.xpath("//ul[@class = 'navbar_item']/li"));
    int sizeAllLi = allLi.size();

    for(int i = 0; i < sizeAllLi; i++) {               
        Assert.assertEquals(XXXXXXXX, allLi.get(i).getText());
    }

Заранее спасибо.

UPD: Спасибо за советы и за идею использовать переменное число аргументов. А как мне тогда в этот метод засунуть данные? Так понимаю, это должен быть массив. Это код под Selenium и я хочу использовать TestNG. Входные данные указываю в xml файле. Пока получается так (учитывая ваши советы):

@Test
@Parameters({"ExpectedMenuItem1", "ExpectedMenuItem2", "ExpectedMenuItem3", "ExpectedMenuItem4", "ExpectedMenuItem5"})
public void MenuText (String ... expectedMenuItems) {
    driver.get("https://www.medimpact.com/");
    List<WebElement> allLi = driver.findElements(By.xpath("//ul[@class = 'navbar_item']/li"));
    int sizeAllLi = allLi.size();

    for(int i = 0; i < sizeAllLi; i++) {
        // Assert.assertEquals(ExpectedMenuItem, allLi.get(i).getText());
        Assert.assertTrue(expectedMenuItems.length > i);
        Assert.assertEquals(expectedMenuItems[i], allLi.get(i).getText());
    }
}

Источник: https://ru.stackoverflow.com/questions/713780/%D0%9A%D0%B0%D0%BA-%D0%B2-for-%D1%86%D0%B8%D0%BA%D0%BB%D0%B5-%D0%BF%D0%BE%D0%B4%D1%81%D1%82%D0%B0%D0%B2%D0%BB%D1%8F%D1%82%D1%8C-%D0%B2%D1%85%D0%BE%D0%B4%D0%BD%D1%8B%D0%B5-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5-java

Share

Тебе может это понравится...