, когда я пытаюсь автоматизировать веб-сайт с использованием структуры цикла, первая итерация запускается, но вторая итерация не выполняется и выдает ошибку .NoSuchElementException
Я уже пытался ввести учетные данные без цикла, все та же проблема, когда страница выходит из системы после первой итерации, веб-элементы не могут быть найдены. Я уже проверил их, и они все те же, а не динамические
public static void TestTitle () создает исключение {
WebDriverManager.edgedriver().setup();
WebDriver driver = new EdgeDriver();
//user credentials in array
String credentials[][] = {{"user39", "UserUser123"}, {"storemanager77", "UserUser123"}, {"salesmanager140", "UserUser123"}};
driver.get("http://qa2.*******.com/user/login");
for (int i = 0; i < credentials.length; i++) {
//enters the credential to the website by pulling from the 2d array and logins to the app
driver.findElement(By.name("prependedInput")).sendKeys(credentials[i][0]);
driver.findElement(By.id("prependedInput2")).sendKeys(credentials[i][1]);
driver.findElement(By.id("_submit")).click();
Thread.sleep(4000);
//finds the dropdown menu and goes to the configuration
driver.findElement(By.xpath("//*[@id=\"user-menu\"]/a")).click();
Thread.sleep(4000);
driver.findElement(By.linkText("My Configuration")).click();
Thread.sleep(4000);
driver.navigate().refresh();
//gets the page title
String pageTitle = driver.getTitle();
//gets the profile name
String profileTitle=driver.findElement(By.xpath("//a[@href='javascript: void(0);']")).getText();
//compare page title and profile name
if(pageTitle.contains(profileTitle)){
System.out.println("Passed");
} else {
System.out.println("Failed");
}
Thread.sleep(2000);
//goes to the profile and logs out from the app
driver.findElement(By.xpath("//*[@id=\"user-menu\"]/a")).click();
driver.findElement(By.linkText("Logout")).click();
//clears the login credentials from previous login
driver.findElement(By.id("prependedInput")).clear();
driver.findElement(By.id("prependedInput2")).clear();
Thread.sleep(2000);
}
}
Я ожидаю, что мой цикл сработает, войдет на веб-сайт, введя учетные данные на веб-сайт, чем выйдите из системы, а затем введите следующие учетные данные на тот же веб-сайт и выйдите из системы