如何验证toast消息是否显示?借助toast断言grid数据保存成功的方法有哪些?
DOM常驻Toast场景下的保存成功断言方案
针对toast元素长期存在于DOM中、isDisplayed()方法无法准确判断显隐的场景,可使用以下几种方案实现校验:
校验Toast的动态CSS属性
这类常驻DOM的toast几乎都是通过修改CSS属性控制显隐状态的,你可以先分别查看保存操作前后toast元素的样式差异,常见的变化属性包括opacity、visibility、transform、z-index等,找到变化字段后通过属性判断即可。
示例(Java Selenium):// 最长等待3秒,直到toast的opacity属性变为1(完全可见) WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(3)); boolean toastVisible = wait.until(ExpectedConditions.attributeContains(toastElement, "style", "opacity: 1"));Python示例:
from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC wait = WebDriverWait(driver, 3) toast_visible = wait.until(EC.attribute_contains(toast_element, "style", "opacity: 1"))结合Toast文本内容双重校验
成功场景下的toast一般会携带固定的成功提示文本,你可以在样式校验通过后,再加一层文本校验,避免样式异常导致的误判:String toastContent = toastElement.getText(); // 校验文本包含保存成功关键字 Assert.assertTrue(toastContent.contains("保存成功"));联动Grid数据强校验(最可靠)
若要避免前端toast逻辑本身的bug导致的误判,可在toast弹出后,追加Grid数据校验:重新定位你刚提交的对应行数据,校验对应字段的值是否和你提交的内容完全一致。这种校验方式和业务逻辑强绑定,可靠度最高。
内容的提问来源于stack exchange,提问作者enthusiasticCoder
相关产品推荐
相关产品推荐

