量角器期望条件visibilityOf()在未显示元素时返回true

时间:2015-03-24 22:56:10

标签: testing selenium selenium-webdriver protractor end-to-end

根据量角器的visibiityOf()API: 可见性意味着不仅要显示元素,还要使其高度和宽度大于0。

我有一个返回50行数据的搜索页面。第50行位于页面底部的视图之外,只有在您向下滚动几次时才能看到。当我从不向下滚动时,这条线怎么可能立即完成?

browser.wait(EC.visibilityOf(element(by.xpath("//*[@id='search-result']/table/tbody/tr[50]/td[1]")), 20000));

元素确实存在,只是它不在视野中。所以我不明白发生了什么。

1 个答案:

答案 0 :(得分:2)

这实际上并不是关于protractor,而是关于Selenium WebDriver和javascript selenium webdriver绑定(WebDriverJS正在包装的protractor)。

以下是Selenium WebDriver规范,描述了WebDriver在确定可见性时所考虑的内容(这不是一件容易的事):

这是javascript selenium绑定"显示性"实现: