2014-10-14 4 views
13

Ho visto alcuni post relativi agli errori di timeout in Selenium. Questo sta diventando sempre più insopportabile poiché rende inutilizzabile il mio pacchetto di test. Sto testando una pagina web attualmente in sviluppo.Net :: ReadTimeout (Net :: ReadTimeout) Selenio Rubino

Ho una suite di regressione di circa 300 scenari di test che ha sempre funzionato fino all'ultimo aggiornamento di firefox e selenio. Ora per quasi tutti gli altri test sto ottenendo:

Net::ReadTimeout (Net::ReadTimeout) errori.

Questo non può essere una coincidenza. Qualcuno sa di cosa potrebbe causare i problemi improvvisi di timeout? Ho provato a tornare alle versioni precedenti di webdriver e firefox.

+0

Ha iniziato a funzionare di nuovo per me con FF32 e il 'selenium-webdriver'-gem v2.43.0. Quali versioni usi? – tessi

+0

Sto usando FF32.0.3 e il webdriver 2.43.0. – Tom

+0

Scusate, allora sono senza "fortuna". Il mio FF 32.0.3 funziona (su Ubuntu 14.04). – tessi

risposta

8

Il timeout predefinito è 60 secondi. Una cosa da provare è quello di regolare la internal timeout per vedere se questo risolve esso:

Capybara.register_driver :selenium do |app| 
    profile = Selenium::WebDriver::Firefox::Profile.new 
    client = Selenium::WebDriver::Remote::Http::Default.new 
    client.timeout = 120 # instead of the default 60 
    Capybara::Selenium::Driver.new(app, browser: :firefox, profile: profile, http_client: client) 
end 
8

Un'altra opzione per usare RSpec::Retry che aggiunge un'opzione di tentativi per specifiche intermittente fallimento.

require 'rspec/retry' 

RSpec.configure do |config| 
    # show retry status in spec process 
    config.verbose_retry = true 
    # Try twice (retry once) 
    config.default_retry_count = 2 
    # Only retry when Selenium raises Net::ReadTimeout 
    config.exceptions_to_retry = [Net::ReadTimeout] 
end 
+0

Aggiunta la gemma rspec-retry per gli errori fastidiosi di Net :: ReadTimeout su Codeship e ha fatto il trucco! – randallreedjr

+0

Questa gemma solleva un'eccezione per me, vedi: https://github.com/NoRedInk/rspec-retry/issues/73 – lacostenycoder