如何验证是否显示吐司消息?
How to verify if toast message is displayed?
这里的场景是我正在保存数据,在成功保存后会显示一条吐司消息,但如果我让说将吐司消息另存为 WebElement 并验证 .isDisplayed() 将不起作用,因为我认为它无论如何都会显示为 DOM 中存在的元素,所以还有其他方法可以使用 toast 消息断言数据保存在网格中吗?
这是我在项目中使用的验证 toast 显示的示例:
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')]";
这里的场景是我正在保存数据,在成功保存后会显示一条吐司消息,但如果我让说将吐司消息另存为 WebElement 并验证 .isDisplayed() 将不起作用,因为我认为它无论如何都会显示为 DOM 中存在的元素,所以还有其他方法可以使用 toast 消息断言数据保存在网格中吗?
这是我在项目中使用的验证 toast 显示的示例:
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')]";