2012-01-26 8 views
18

tengo el siguiente código¿Cómo se cambian los tiempos de espera de carga de la página en Watir-WebDriver (tiempo de espera en el método .click)

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

la que solicita que se generará un informe y espera a que el informe mediante la búsqueda de un elemento en la página del informe. El informe puede tardar más de 2 minutos en aparecer.

Lo que está sucediendo es un Timeout :: Se genera un error desde el método de clic después de 60 segundos. Sospecho que Watir-Webdriver ha implementado alguna forma de esperar la carga de la página dentro del método de clic, pero no veo una forma de ajustar el valor.

Cualquier ayuda entendiendo esto sería apreciada.

+0

encontré la siguiente discusión en torno a los tiempos de espera internos de selenio. Este parece ser mi problema, sin embargo, cuando trato de usar el código recomendado para ajustar los tiempos de espera internos de watir-webdriver, obtengo una excepción de "conexión rechazada" de net/http.rb. – user1142012

+0

[ver tiempos de espera internos aquí] (http://code.google.com/p/selenium/wiki/RubyBindings) – user1142012

Respuesta

54

Me gustaría probar cambiando el tiempo de espera del cliente:

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

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

Excelente. Gracias. – user1142012

+5

Buen trabajo Alister, te he dado 10 upclicks para eso si el sistema me deja –

+1

Brilliant! Exactamente lo que he estado buscando hace algunos días ... –

11

Actualización: Este parche mono se ha fusionado en Watir-WebDriver y así ya no será necesario en v0.6.5 Watir-WebDriver. Usted será capaz de establecer el tiempo de espera usando:

Watir.default_timeout = 90

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

+5

Para que quede claro, la opción de ajustar el tiempo de espera predeterminado en Watir no afectará al tiempo de espera del cliente que fue la preocupación en esta pregunta. – titusfortner

Cuestiones relacionadas