這是我失敗的代碼。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