如何验证是否显示吐司消息?

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')]";