如何验证是不是显示 toast 消息?
Posted
技术标签:
【中文标题】如何验证是不是显示 toast 消息?【英文标题】:How to verify if toast message is displayed?如何验证是否显示 toast 消息? 【发布时间】:2021-11-06 17:09:35 【问题描述】:这里的场景是我正在保存数据,成功保存后会显示一条 toast 消息,但如果我说将 toast 消息保存为 WebElement 并验证 .isDisplayed() 将不起作用,因为我认为它会是显示为元素无论如何都会出现在 DOM 中,所以还有其他方法可以使用 toast 消息断言数据保存在网格中吗?
【问题讨论】:
【参考方案1】:这是一个验证我在项目中使用的 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')]";
【讨论】:
以上是关于如何验证是不是显示 toast 消息?的主要内容,如果未能解决你的问题,请参考以下文章
报告服务器不工作显示错误消息“验证是不是已授予足够的权限”如何解决?
Android 12.0 Toast消息框上限为两行文本(超出显示省略号)并且在文本左边显示应用图标