这是我失败的代码。wait_until块给出超时错误
link(:continue, :text => 'Continue Shopping')
def verify_cart
wait_until(60) do
continue_element.visible?
end
end
为了使它工作,我在这里试图解决方案: Inconsistently getting error (Watir::Wait::TimeoutError) 和Timeout::Error in Rails application using Watir但没有为我工作。
我也尝试过增加时间。
然后我试图通过增加在implicit wait
从3秒到20秒,而不是使用wait_until
块我简单地使用.visible?
它的工作。
link(:continue, :text => 'Continue Shopping')
continue_element.visible?
#def verify_cart
# wait_until(60) do
# continue_element.visible?
# end
# end
现在的问题是,当元素在那里,为什么wait_until
不停失败?
@JustinKo你可以把你的想法放在这里。 – paul 2015-04-06 19:16:52
这是什么意思,通过使用'continue_element.visible?'而不是'wait_until(60){continue_element.visible? }'工作?是否意味着异常消失,并且脚本的后续步骤按预期工作? 'continue_element.visible?'只是返回元素是否存在。如果您只是简单地移除了'verify_cart'方法的'wait_until'部分,那么根据脚本的写入方式,即使链接不存在,'verify_cart'也可能会通过。 – 2015-04-06 19:38:01
@JustinKo元素总是在那里,它是可见的(我已经测试过)。现在的问题是,当我把这个语句'continue_element.visible?'从'wait_until'中移出时阻止它,但是当我把它放入它时,它会给出超时错误。 – paul 2015-04-07 07:17:03