目前我可以使用下面的代码来验证对象大小:
expect((@page.elements).size).to eq(12)
但我想使用wait_for
/wait_until
命令,直到这些elements(collection of objects)
加载为止。所以我想使用如下:
@page.wait_until_elements.size == 12
我该怎么做?请帮忙。
:count
选项指定要等待的确切数字。
expect(@page).to have_elements :count => 12, :wait => 10
有关更多详细信息,请参阅文档的"使用Capybara查询选项"部分。
值得指出的是,虽然这里的答案是不久前的(对于此后找到这个答案的其他人来说),但水豚查询的质量已经大大提高。
这里使用的最佳选项可能是minimum: 12
,它将等待,直到您至少有12个它们,并且它将等待Capybara.default_wait_time
隐式
如果你想在线使用服务员,你也可以用等待键指定
@page.elements(wait: 3, minimum: 12)
-这需要等待3秒钟才能抱怨元素集不存在,或者直到你有12个元素。在这种情况下,它将继续。