2016-05-24 53 views
4

我有一个引导角下拉,当你点击它时,它使得可见的UL元素溢出-y设置为自动,因此只有在向上或向下滚动后,其中的一些内容才可见。如何使用量角器测试元素可见性到下拉滚动中?

我实现了一个自动滚动到选定元素的方法(默认行为是记住最后一个滚动位置),所以我想用量角器测试它。

我已经试过isDisplayed()方法,将其成为该UL中的所有元素真(虽然只有10出20的实际上是可见的)

expect(item20.isDisplayed()).toBe(false); //returns true 

之后,我试着点击对他们,期待抛出错误“元素不可见”,但他们都成功点击。

有关如何测试项目是否在此滚动的可见部分的任何想法?

Visible elements

+0

快速检查:您是否看到Firefox和Chrome中的测试失败?试图排除一个特定于浏览器的问题。 – alecxe

+0

结果对于所有浏览器都是一样的,问题在于isDisplayed,对于Protractor这些滚动内容都是可见的。 – Javiere

+0

好的,你可以发布下拉菜单的完整HTML表示吗?不知道,为什么硒认为元素是可见的。谢谢。 – alecxe

回答

0

看起来,对于量角器这些项目实际上是可见,所以isDisplayed将它们全部返回true。

所以我使用getLocation()方法来比较滚动元素的初始位置和最终位置,并因此检查它们是否正确定位。

expect(selectedElement.getLocation()).toEqual(selectedElementInitialLocation); 
相关问题