2012-01-26 20 views
18

Tôi có đoạn code sauLàm thế nào để thay đổi Timeouts tải trang trong watir-Webdriver (timeout trong phương pháp .click)

browser.link(:text => 'Generate Report').click 
browser.radio(:value => 'byTotalValue').wait_until_present(180) 

mà yêu cầu rằng một báo cáo được tạo ra và sau đó chờ đợi cho báo cáo bằng cách tìm kiếm một phần tử trên trang báo cáo. Báo cáo có thể mất tới 2 phút để xuất hiện.

Điều đang xảy ra là Hết thời gian chờ :: Lỗi được tăng từ phương pháp nhấp sau 60 giây. Tôi nghi ngờ rằng Watir-Webdriver đã triển khai một số hình thức chờ tải trang trong phương thức nhấp nhưng tôi không thấy cách điều chỉnh giá trị.

Bất kỳ trợ giúp nào để hiểu điều này sẽ được đánh giá cao.

+0

tôi thấy các cuộc thảo luận sau đây liên quan đến timeout nội bộ cho selen. Điều này có vẻ là vấn đề của tôi tuy nhiên khi cố gắng sử dụng mã khuyến khích để điều chỉnh thời gian chờ nội bộ cho watir-webdriver tôi nhận được một ngoại lệ "kết nối từ chối" từ net/http.rb. – user1142012

+0

[xem thời gian chờ nội bộ ở đây] (http://code.google.com/p/selenium/wiki/RubyBindings) – user1142012

Trả lời

54

Tôi muốn thử upping thời gian chờ khách hàng:

client = Selenium::WebDriver::Remote::Http::Default.new 
client.timeout = 180 # seconds – default is 60 

b = Watir::Browser.new :firefox, :http_client => client 
+1

Tuyệt vời. Cảm ơn bạn. – user1142012

+5

Công việc tuyệt vời Alister, tôi đã cung cấp cho bạn 10 upclicks cho rằng nếu hệ thống sẽ cho tôi –

+1

Brilliant! Chính xác những gì tôi đã tìm kiếm vài ngày bây giờ .. –

11

Cập nhật: vá khỉ này đã được sáp nhập vào watir-webdriver và như vậy sẽ không còn cần thiết trong watir-webdriver v0.6.5. Bạn sẽ có thể thiết lập thời gian chờ sử dụng:

Watir.default_timeout = 90

từ: Is it possible to globally increase Watir-Webdriver when_present wait time?

+5

Chỉ cần rõ ràng, tùy chọn điều chỉnh thời gian chờ mặc định trong Watir sẽ không ảnh hưởng đến thời gian chờ của khách hàng là mối quan tâm trong câu hỏi này. – titusfortner

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