#java #selenium #selenium-webdriver #automation #ui-automation
Вопрос:
Сценарий здесь заключается в том, что я сохраняю данные, и после успешного сохранения отображается всплывающее сообщение, но если я скажу, что сохраню всплывающее сообщение как веб-элемент и проверю .isDisplayed() не будет работать, потому что я думаю, что оно будет отображаться как элемент, который в любом случае будет присутствовать в DOM, поэтому любой другой способ утвердить сохранение данных в сетке с помощью всплывающего сообщения?
Ответ №1:
Вот пример для проверки, отображается ли тост, который я использую в своем проекте:
Assert.assertTrue(validateToastMessageAppearance("invalid Entitlement"));
Где validateToastMessageAppearance
метод определяется как
public boolean validateToastMessageAppearance(String message){
waitForElementToBeVisible(String.format(toastMessage,message));
return true;
}
Метод waitForElementToBeVisible
определяется как:
public boolean waitForElementToBeVisible(By.xpath(xpath)) {
try {
wait.until(ExpectedConditions.visibilityOfElementLocated(xpath));
return true;
}catch (Throwable t){
return false;
}
}
В то время toastMessage
как определяется как
public String toastMessage = toast textElement;
Где
public String toast = "//div[contains(@class,'ToastContent')]";
и
public String textElement = "//*[contains(text(),'%s')]";