0

目前我可以使用下面的代码来验证对象大小:

expect((@page.elements).size).to eq(12)

但我想使用wait_for/wait_until命令,直到这些elements(collection of objects)负载。所以我想像下面这样使用:

@page.wait_until_elements.size == 12

我怎样才能做到这一点?请帮忙。

4

2 回答 2

0

许多 Site-Prism 方法支持 Capybara 查询选项。在这种特殊情况下,您可以使用该:count选项来指定要等待的确切数字。

expect(@page).to have_elements :count => 12, :wait => 10

有关更多详细信息,请参阅文档的使用 Capybara 查询选项部分。

于 2015-12-10T19:03:02.977 回答
0

值得指出的是,虽然这里的答案是不久前的(并且对于其他任何人都可以找到这个答案),但水豚查询的质量已经大大提高。

这里使用的最佳选择可能是minimum: 12等到你至少有 12 个,它会Capybara.default_wait_time隐式等待

如果您想在线使用服务员,您还可以使用等待键指定

@page.elements(wait: 3, minimum: 12)- 在抱怨元素集不存在或直到你有 12 个元素之前,这将等待最多 3 秒。在这种情况下,它将继续。

于 2019-02-22T12:45:52.573 回答