我正在使用 Selenium Webdriver,并且在我的测试应用程序中遇到了以下问题。
该应用程序有多个页面,每个页面都有一个适当的“.page-title”元素,其中包含页面的名称(例如“其他文档”)。当测试在应用程序中导航时,他们断言浏览器在执行其他操作之前使用这些元素位于预期页面上。
问题是,如果您单击应用程序中执行操作的按钮,然后检查您是否在正确的页面上(例如检查 page-title 元素显示正确的文本),Webdriver 不会等待执行操作(例如新页面加载),它会立即返回并且测试失败。
如果您在执行操作和检查您是否在正确的页面之间添加一个短线程睡眠(500 毫秒),那么您会得到 StaleElementReferenceException(有时),如果您添加一个大线程睡眠,则测试通过(但不是全部时间)。
我的目标是减少测试的脆弱性,有没有人建议我如何在没有 Thread.sleep 的情况下做到这一点?