2013-01-15 43 views
36

Tôi muốn có Capybara thời gian chờ khác nhau trong mã của tôi tùy thuộc vào thời gian họ thường dùng để tải hoàn toàn? Tôi có phải liên tục thay đổi số Capybara.default_wait_time hoặc có cách nào tốt hơn không?Nhiều thời gian chờ đợi của Capybara?

Trả lời

65

Bạn có thể sử dụng using_wait_time(seconds) phương pháp như:

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

hoặc :wait tùy chọn (đã xuất hiện trong Capybara 2.1).

Lưu ý rằng tùy chọn :wait chỉ được hỗ trợ bởi phương thức find trong Capybara 2.1.

Hỗ trợ cho :wait tùy chọn trong quẹt (ví dụ: has_x?have_x phương pháp) đã được thêm vào trong Capybara 2.2:

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

câu trả lời xuất sắc, nhờ đề cập đến sự hỗ trợ sắp tới. – Jazzepi

+0

Có lẽ tôi đang thiếu một cái gì đó ở đây, nhưng đây không chỉ là một cách ưa thích của việc sử dụng giấc ngủ (x)? – Dono

+4

@Dono 'sleep' sẽ luôn tạm dừng cho' x'. 'has_text' sẽ tạm dừng trong thời gian tới' x' (cho đến khi văn bản xuất hiện). –

Các vấn đề liên quan