【发布时间】:2014-01-10 22:34:51
【问题描述】:
使用 webdriver 并测试使用 gwt 构建的应用程序。我想首先断言一个元素变得存在。这个元素是动态加载的,测试起来并不简单。但是我需要断言该元素不再存在。因为它不再存在于dom中。我最初的方法是建立一个 ExpectedCondition 然后等待条件,即
ExpectedConditione = new ExpectedCondition () { 公共布尔应用(WebDriver d){ return d.findElements(By.cssSelector(someCSSpath)).size() == 0; }}; WebDriverWait 等待 = 新的 WebDriverWait(驱动程序, 15); 等待。直到(e);
我预计会等待 15 秒以使元素从 dom 中消失,我预计它将每 500 英里轮询一次。我希望在每次轮询中,布尔值都会为假,因为元素会被发现,直到它消失并且条件变为真。我在输出中发现的是,它确实每 500 英里轮询一次,但是一旦条件变为真,我实际上会等待一整分钟,然后再进行下一步。这似乎是不正确的行为,我错过了什么吗?有什么建议吗?
【问题讨论】:
-
根据文档 JavaDoc for WebDriverWait 这个特定的构造函数有 2 个参数,第二个参数是 long 并且以秒为单位。
-
您是否指定了隐式等待?如果是,您可能需要在这种情况下将其关闭,因为 findElements() 将等待(在隐式等待期间)元素至少存在一次。
标签: webdriver