我目前正在运行一个测试,检查特定元素,然后对其执行一些操作。该元素需要一点时间才能让 JavaScript 完成启动,但在我为 Capybara 设置的计时器内。
因为某些原因
assert session.has_xpath?(xpath_route)
工作正常,但是
assert link=session.first(:xpath, xpath_route)
失败,说找不到该元素。而且速度很快——早在等待计时器用完之前。
我只能假设这意味着计时器仅适用于匹配器,而不适用于查找器,这很好,但是我如何强制它继续查找,直到找到我正在查找的元素?
您假设使用时不适用超时是正确的first
。但您可以使用wait_until
方法,它将不断重试,直到超时到期,或者块返回真实值,因此:
page.wait_until() do
session.first(:xpath, xpath_route)
end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)