2013-01-15 62 views
36

我想在我的代碼中有不同的Capybara等待時間,具體取決於他們通常需要花費多少時間才能完全加載?我是否必須重複更改Capybara.default_wait_time還是有更好的方法?多次水豚等待時間?

回答

65

您可以使用using_wait_time(seconds)方法,如:

using_wait_time 3 do 
    expect(page).to have_text 'Lorem ipsum' 
end 

:wait選項(即出現在水豚2.1)。

請注意,:wait選項僅在水豚2.1中由find方法支持。

支持的匹配器:wait選項(即has_x?have_x方法)的水豚2.2已經加入:

expect(page).to have_text('Lorem ipsum', wait: 3) 
+0

優秀的答案,謝謝你提的即將到來的支持。 – Jazzepi

+0

也許我在這裏錯過了一些東西,但這不僅僅是使用睡眠(x)的奇特方式嗎? – Dono

+4

@Dono'sleep'會一直暫停'x'。 'have_text'會暫停直到'x'(直到文本出現)。 –