首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >staleElementReferenceException in ExpectedConditions -->elementToBeClickable

staleElementReferenceException in ExpectedConditions -->elementToBeClickable
EN

Stack Overflow用户
提问于 2014-01-06 10:29:31
回答 1查看 1.4K关注 0票数 2

只是想知道,是否存在StaleElementReferenceException

WebDriver ExpectedConditions-->elementToBeClickable(WebElement element)

检查函数的源代码,StaleElementReferenceException在catch中并返回null。但是方法ExpectedConditions.elementToBeClickable中有一行代码。在随机时间抛出此异常(当前没有任何具体测试可显示)

代码语言:javascript
复制
public ExpectedCondition<WebElement> visibilityOfElement =
      ExpectedConditions.visibilityOf(element);

如果我们检查上面的代码,就不会捕获StaleElementException

能否帮助理解上述方法中是否存在staleElementException的可能性?如果是-这是已知的问题吗?有防止随机故障的工作吗?

谢谢Kapil Aggarwal

EN

回答 1

Stack Overflow用户

发布于 2014-01-28 23:55:50

只需将对ExpectedCondition的调用包装在使用FluentWait ".ignoring“子句用于StaleElementException的WebDriverWait中即可。然后,您可以在期望的条件下循环有限次,直到放弃一个TimeoutException。

更新:自从我第一次回答这个问题以来,我学到了很多。作为一名TDD开发人员,我现在知道了,单元测试使用了一个在try-catch块中封装的预期条件的方法是困难的,因此不建议编写类似的代码。例如,尝试在使用Mockito的使用.ignoring的方法中对FluentWait子句进行单元测试。这一点都不容易。创建一个临时更改隐式等待的方法,然后执行driver.findElement和检查单击性,然后将隐式等待恢复到默认的"0",则创建单元测试要容易得多。再来两分钱。

我可能会写一个测试项目,展示这个东西的例子(在2015年的某个时候)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20947962

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档