在功能测试中未触发间歇性ng-无限滚动

时间:2015-09-21 22:19:32

标签: capybara selenium-chromedriver capybara-webkit

我有一个使用http://binarymuse.github.io/ngInfiniteScroll

的角度应用

在我的一个功能测试中,我试图模拟用户滚动到页面底部,它非常简单,期望页面在向下滚动到底部后有选择器'.spinner'

50%的工作时间,50%的工作失败。当我在Chrome中观看测试时,滚动条会显示在页面底部,没有任何反应。如果我在那里扔一个断点,然后用我的鼠标一遍又一遍地上下滚动,没有任何反应。好像无限卷轴已经死了。如果我继续重新进行测试,最终它会起作用(深深的叹息),所以这是令人讨厌的虚假事物之一,只会让我们对水豚的爱更加强烈。

我尝试使用以下方式滚动页面:

page.execute_script "$('body').scrollTop(99999999999)"

page.execute_script "window.scrollTo(0, 99999999999)"

它们都会产生间歇性的结果......我也尝试迭代循环并以块的形式滚动页面,使其看起来像是被拖到底部。同样荒谬的结果。

我现在必须通过手动触发无限滚动调用的方法来解决我的问题:

page.execute_script "angular.element('.listing').scope().nextPage();"

这绝对很糟糕,有点挫败了集成测试的目的。

任何人都可以提出任何建议如何解决这种严重的令人讨厌的虚假情况吗?

0 个答案:

没有答案