目前我可以使用以下代码来验证对象大小:
expect((@page.elements).size).to eq(12)
但我希望在wait_for
加载之前使用wait_until
/ elements(collection of objects)
命令。所以我想在下面使用:
@page.wait_until_elements.size == 12
我该怎么做?请帮忙。
答案 0 :(得分:0)
许多Site-Prism方法支持Capybara查询选项。在这种特殊情况下,您可以使用:count
选项指定要等待的确切数字。
expect(@page).to have_elements :count => 12, :wait => 10
有关详细信息,请参阅文档的Using Capybara Query Options部分。
答案 1 :(得分:0)
值得指出的是,虽然这里的答案是前一段时间的(并且对于以后找到此答案的其他人),水豚的查询质量却大大提高了。
这里使用的最佳选择可能是minimum: 12
,它会等到您至少有12个,然后隐式等待Capybara.default_wait_time
如果您想在线使用服务员,还可以使用等待键来指定
@page.elements(wait: 3, minimum: 12)
-这将等待3秒钟,然后再抱怨元素集不存在或直到您拥有12个元素。在这种情况下,它将继续。