2

在本节>>“支持 Capybara 选项的方法”中,我尝试按照 SitePrism URL https://github.com/natritmeyer/site_prism在执行任何操作之前等待文本。

@page.wait_until_<Element>_visible :text => "Some Text!!!"

但我得到以下错误:

undefined method `zero?' for {:text=>"Some Text!!!"}:Hash (NoMethodError)

为什么我收到此错误?难道我做错了什么?

4

2 回答 2

1

查看 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!!!" 

似乎是文档中的错误,或者某些旧的默认行为已被删除或其他东西

于 2016-02-11T20:11:29.197 回答
0

老问题

对于那些仍然打这个 SO 答案的人,这已在 API 的 v3 中得到纠正,不再是问题。请参阅:https ://github.com/natritmeyer/site_prism/blob/master/UPGRADING.md#wait_until-methods

wait_for_方法现在不再存在,您应该通过调用elementie隐式等待my_button

如果你想让它等待,你可以修改Capybara.default_wait_time或传入一个等待键,即my_button(wait: 3)

于 2019-02-22T12:56:15.170 回答