Нет смысла преобразовывать WebElement в String, поскольку он не даст значимого результата.
Также нельзя сравнивать WebElement со строковым значением.
Чтобы получить строковое значение, необходимо использовать getText () после реализации.
getText () - это предопределенный метод Selenium WebDrivers, который используется для извлечения указанных элементов Текст.
Тип возвращаемого значения - Строка.
***************** Модифицированный код *****************************
public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver",
"C:\\Users\\lees2\\Downloads\\chromedriver_win32\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("http://psage.public.cs.qub.ac.uk/ForgotPassword.aspx");
driver.manage().window().maximize();
driver.findElement(By.id("MainContent_Email")).sendKeys("test@test.com");
driver.findElement(By.name("ctl00$MainContent$BtnSend")).click();
driver.findElement(By.className("validation-summary-errors"));
String ErrorMessage1 = driver.findElement(By.className("validation-summary-errors")).getText();
String ErrorMessage = "\r\n" + " Unrecognised email address\r\n" + " ";
driver.close();
if (((String) ErrorMessage1).equalsIgnoreCase(ErrorMessage)) {
System.out.println("Test successful");
} else {
System.out.println("Test failure");
}
}
Также вместо этого:
if (((String) ErrorMessage1).equalsIgnoreCase(ErrorMessage)) {
System.out.println("Test successful");
} else {
System.out.println("Test failure");
}
Использовать assert:
import org.testng.Assert;
Assert.assertEquals(ErrorMessage1, ErrorMessage);