我尝试在文本之前等待文本,然后执行以下SitePrism URL https://github.com/natritmeyer/site_prism本节>>“支持Capybara选项的方法”。
@page.wait_until_<Element>_visible :text => "Some Text!!!"
但我得到以下错误:
undefined method `zero?' for {:text=>"Some Text!!!"}:Hash (NoMethodError)
为什么我收到此错误?难道我做错了什么?
查看site_prism代码 - https://github.com/natritmeyer/site_prism/blob/master/lib/site_prism/element_container.rb#L134生成的方法需要超时和选项。如果要传递其他选项,似乎需要传递超时值
wait_until_<Element>_visible <timeout value in seconds>, text: "Some Text!!!"
看起来像文档中的错误,或者删除了一些旧的默认行为或其他东西
老问题
对于那些仍然响应这个SO答案的人来说,这已经在API的第3版中得到了补救,不再是问题。见:https://github.com/natritmeyer/site_prism/blob/master/UPGRADING.md#wait_until-methods
wait_for_
方法现在不再存在,你应该通过调用element
,即my_button
隐式等待
如果你想等它,你可以修改Capybara.default_wait_time
或传入一个等待键,即my_button(wait: 3)