Привет. Вот недавно начал крутить selenium+java. Рекордером записал авторизацию в систему и решил ее немного усовершенствовать. Решил проверять на успешно\не успешно ли юзер входит в систему. Кейс простой: вводим данные, проверяем есть ли сообщение про “логин/пароль не верный”. Но вот с чем столкнулся: объект как-бы имеет рандомные значения при запусках(без изменений).Тоесть запускаю,смотрю - нужное поле ошибки есть, все ок. Запускаю снова, смотрю - поля уже нету. Скидываю листинг, прошу помощи в понимании,чего так и советов от экспертов
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
public class FirstTestCase {
private static WebDriver driver = null;
public static void main(String[] args) {
driver = new FirefoxDriver();
driver.get("адрес");
driver.findElement(By.xpath(".//*[@id='login']")).sendKeys("логин");
driver.findElement(By.xpath(".//*[@id='password']")).sendKeys("кривой_пассворд");
driver.findElement(By.xpath(".//*[@id='loginForm']/button")).click();
WebElement loginForm = driver.findElement(By.xpath(".//*[@id='loginForm']")); //блок в котором будет текст сообщающий об ошибке
checkToNull(loginForm);
String errorMsg = loginForm.getText();
System.out.println(errorMsg);
if (errorMsg.contains("Введенный логин или пароль не верный")) {
System.out.println("Login NOT successfully."); //сюда заходит ооооочень редко
} else {
System.out.println("Login successfully");
}
driver.quit();
}
private static void checkToNull(WebElement loginForm) {
if(loginForm !=null){
System.out.println("not null");
}else{
System.out.println("null");
}
}
}