Bazen bir dakika içinde yüklenen bir sayfam var. Bunun beklenen davranış olduğunu ve değişmeyeceğini varsayın. Bu durumlarda, Net::ReadTimeout
'u alırım.Capybara artış maksimum sayfa yükleme süresi
Bunun, bir sayfada gezindikten sonra, ajax isteği değil, önceki sayfada bulunan bir düğmeyi tıkladığını unutmayın. Bu nedenle Capybara.using_wait_time
yardımcı olmaz. page.driver.browser.manage.timeouts
'ın implicit_wait
, script_timeout
ve page_load
Ayar
- :
ben gibi radikal şeyler bir dizi (bazıları işe etmeyeceğini biliyordum) çalıştılar.
- Tüm nesne alanı boyunca döngü yaparak ve tüm
Selenium::WebDriver::Remote::Http::Default
öğelerinintimeout
değerini ayarlayarak. - Tüm nesne alanı boyunca döngü yaparak ve tüm
Net::HTTP
'lerinread_timeout
ayarını yapın. page.driver.browser.send(:bridge).http.instance_variable_get(:@http).read_timeout=
Yok çalışmıyor gibi görünüyor. Bu çok önemsiz olmalı, yine de bunu yapmanın bir yolunu bulamadım.
Bir webdriver agnostic çözümü biliyorsanız, bu harika olur. Değilse - selenium kullanıyorum.
benim 2 sent yüklemek için bir dakika devralacak testler için slow_selenium sürücüsünü: otomasyon olduğunu hızlı geri bildirim hakkında, uygulamanızın yüklenmesi için bir dakikadan fazla sürüyorsa, sayfa zaman aşımını artırmanın cevabı değil, uygulamalarınızın yüklenme süresini aşağıya indirdiğinizde odaklanmanız gereken şey ... – Bodao
@ user3087106, Tamamen katılıyorum. Ancak, mevcut durumda bu geçerli değildir. Bir başkasının canlı projesini test ettiğimi varsayalım ve operasyonu optimize etmek/bir arka plan sürecine ya da herhangi bir şeye koymak için gerekli kaynaklara yatırım yapmaya istekli değiller. – ndn
Capybara.default_max_wait_time değerini artırmayı denediniz mi (varsayılan 2 saniyedir), sadece yeni sayfada bulunan bir öğe için bir iddia mı? – Sam