我正在使用Selenium,在测试中我的应用程序遇到了以下问题。
该应用程序有多个页面,每个页面都有一个适当的". page -title“元素,其中包含页面的名称(例如:“其他文件”)。当测试在应用程序周围导航时,他们断言浏览器在执行其他操作之前使用这些元素在预期的页面上。
问题是,如果您单击应用程序中的一个执行操作的按钮,然后检查您在正确的页面上(例如,check title元素显示正确的文本),Webdriver不会等待操作的执行(例如,新的页面加载),它会立即返回,测试失败。
如果在执行操作和检查正确的页面之间添加了一个短线程睡眠(500 of ),那么您将得到StaleElementReferenceException (有时),如果您添加了一个大线程睡眠,测试就会通过(但不是全部时间)。
我的目标是减少测试的不稳定,有没有人建议我在没有Thread.sleep的情况下如何做到这一点?
发布于 2012-11-21 05:12:46
尝试使用此等待:使用此方法,您可以等待最长时间15秒/等待预期条件为真,即等待某个元素出现。
您可以在下一页上给出某个元素的xpath,当该元素可见时,下一步将被执行。
));//断言页标题
driver.getTitle();
https://stackoverflow.com/questions/13483160
复制相似问题