angularjs – 如何使用Protractor测试元素对下拉滚动的可见性?

前端之家收集整理的这篇文章主要介绍了angularjs – 如何使用Protractor测试元素对下拉滚动的可见性?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个bootstrap Angular下拉列表,当你点击它时,它会使溢出-y设置为auto的UL元素可见,因此只有向上或向下滚动后才能看到里面的一些项目.

我实现了一个方法自动滚动到所选元素(默认行为是记住最后滚动位置)所以我想用Protractor测试它.

我已经尝试过使用isDisplayed()方法,将其转换为此UL中的所有元素都是如此(尽管20个中只有10个实际可见)

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

之后,我试图点击它们,期望抛出错误“元素不可见”,但所有这些都被成功点击.

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

Visible elements

解决方法

看起来对于Protractor来说,这些项目实际上是可见的,因此isDisplayed将为所有这些项目返回true.

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

expect(selectedElement.getLocation()).toEqual(selectedElementInitialLocation);

猜你在找的Angularjs相关文章