Délai d'attente::Erreur à l'aide de sélénium webdriver en ruby
J'ai été faire une erreur de dépassement de Délai depuis que j'ai commencé à développer mes tests. Au début, je pensais que c'était lié à l'efficacité de mon xpath, mais après avoir vu le test de passer rapidement à de nombreuses reprises, je ne pense pas que c'est lié à la sélecteurs. L'erreur se produit de façon aléatoire et souvent, quand il le fait, il se produit à plusieurs reprises à l'intérieur d'une fonction. J'ai besoin de fixer ou au moins de comprendre ce qu'est ce problème.
Un exemple de l'étape de définition:
When /^I navigate to "(.*)"$/ do |webpage|
navigate_to(webpage)
end
C'est l'erreur que je reçois:
Timeout::Error (Timeout::Error)
/usr/lib/ruby/1.9.1/net/protocol.rb:146:in `rescue in rbuf_fill'
/usr/lib/ruby/1.9.1/net/protocol.rb:140:in `rbuf_fill'
/usr/lib/ruby/1.9.1/net/protocol.rb:122:in `readuntil'
/usr/lib/ruby/1.9.1/net/protocol.rb:132:in `readline'
/usr/lib/ruby/1.9.1/net/http.rb:2562:in `read_status_line'
/usr/lib/ruby/1.9.1/net/http.rb:2551:in `read_new'
/usr/lib/ruby/1.9.1/net/http.rb:1319:in `block in transport_request'
/usr/lib/ruby/1.9.1/net/http.rb:1316:in `catch'
/usr/lib/ruby/1.9.1/net/http.rb:1316:in `transport_request'
/usr/lib/ruby/1.9.1/net/http.rb:1293:in `request'
/usr/lib/ruby/1.9.1/net/http.rb:1286:in `block in request'
/usr/lib/ruby/1.9.1/net/http.rb:745:in `start'
/usr/lib/ruby/1.9.1/net/http.rb:1284:in `request'
./features/support/env.rb:88:in `block in get_page_url'
Env.rb :
require 'selenium-webdriver'
require 'rubygems'
require 'nokogiri'
require 'rspec'
require 'rspec/expectations'
require 'httpclient'
require 'fileutils.rb'
require 'pathname'
$driver = Selenium::WebDriver.for :ie
#accept_next_alert = true
$driver.manage.timeouts.implicit_wait = 300
$driver.manage.timeouts.script_timeout = 300
$driver.manage.timeouts.page_load = 300
#verification_errors = []
AfterStep do
sleep 5
end
at_exit do
$driver.close
end
J'ai traversé de nombreuses questions sur ce sujet même, et aucun ne semble avoir une réponse qui fonctionne, si une réponse à tout.
Problème similaire. J'ai essayé les solutions proposées ici, mais mon erreur persiste
https://www.ruby-forum.com/topic/4414675
J'ai essayé d'ajouter explicite attend en tant que tel:
http://docs.seleniumhq.org/docs/04_webdriver_advanced.jsp
J'ai besoin d'obtenir ce problème réglé merci donc de poser des questions si je n'étais pas clair sur quoi que ce soit.
Voici une liste de gemmes:
archive-tar-minitar (0.5.2)
bigdecimal (1.1.0)
builder (3.2.0)
bundler (1.3.5)
childprocess (0.3.9)
columnize (0.3.6)
commonwatir (4.0.0)
cucumber (1.2.3)
debugger-linecache (1.2.0)
debugger-ruby_core_source (1.2.2)
diff-lcs (1.2.1)
ffi (1.5.0, 1.0.9)
gherkin (2.11.6)
hoe (3.6.2)
httpclient (2.3.2)
io-console (0.3)
json (1.7.7)
linecache19 (0.5.12)
mime-types (1.23)
mini_magick (3.6.0)
mini_portile (0.5.0)
minitest (2.12.1, 2.5.1)
multi_json (1.7.1)
nokogiri (1.5.9)
rack (1.5.2)
rack-test (0.6.2)
rake (10.0.3, 0.9.6)
rautomation (0.9.2)
rb-readline (0.5.0)
rdoc (3.12.1)
rspec (2.13.0)
rspec-core (2.13.1)
rspec-expectations (2.13.0)
rspec-mocks (2.13.0)
ruby-debug-base19 (0.11.25)
ruby-debug19 (0.11.6)
ruby_core_source (0.1.5)
rubygems-update (2.0.3)
rubyzip (0.9.9)
s4t-utils (1.0.4)
selenium-webdriver (2.33.0, 2.31.0)
subexec (0.2.3)
user-choices (1.1.6.1)
watir (4.0.2)
watir-classic (3.7.0)
watir-webdriver (0.6.2)
websocket (1.0.7)
win32-api (1.4.8)
win32-process (0.7.2)
win32screenshot (1.0.8)
windows-api (0.4.2)
windows-pr (1.2.2)
xml-simple (1.1.2)
xpath (2.0.0)
Jetez un oeil à code.google.com/p/selenium/issues/detail?id=1439 - il y a peut être quelques idées. (nous sommes d'avoir des problèmes similaires)
Merci!!!! Je vais avoir le même résultat que mgeh quand je lance le concombre avec --trace. Je vais essayer quelques unes de ces solutions. Je ne suis pas à l'aide de webmock .
Je ne fais rien d'explicitement recycler le pool d'applications ou le réinitialiser IIS. Je vais étudier cela. Merci!
pourriez-vous montrer la valeur de 'page' variable que vous essayez de naviguer?
OriginalL'auteur meggex | 2013-07-19
Vous devez vous connecter pour publier un commentaire.
J'ai édité les env.rb depuis l'affichage de cette et ont mis à jour cette partie de la question. Cela peut ne pas être l'absolu fixer, mais c'est quelque chose que j'ai remarqué qui m'a résolu une partie du problème.
J'ai changé les délais d'attente dans les env.rb de 300 à 20.
À faire que mon test de suite maintenant s'exécute beaucoup plus rapidement et au lieu de longues erreurs de délai d'attente je reçois réel les erreurs de mon code (pauvres sélecteur de mauvaise méthode, etc).
Délais d'attente j'ai utilisé pour obtenir simplement pour naviguer d'une page sont devenus:
Qui s'affiche en moins de 20 secondes, mais il peut être dû à la connexion que j'ai avec la page web. Je vais être à la recherche de cette erreur de plus dans un avenir proche.
Si quelqu'un essaie cette s'il vous plaît laissez-moi savoir comment il a travaillé pour vous (même si elle n'a pas). Je vais continuer à mettre à jour ce que j'ai appris de plus.
Intéressant, je vais l'essayer
J'ai essayé et la longue erreur de dépassement de délai de ré-apparu. C'était la seule différence que j'ai remarqué.
OriginalL'auteur meggex
Il y a un discussion de ce problème sur
Ruby
forum.Il semblait y avoir pas de solution pour elle comme pour le 19 juillet 2013, mais il s'agit d'une proposition de
étendre la quantité de temps avant une défaillance avec:
Je pense que c'est le même lien que j'apporte dans ma question. J'ai aussi posté mon problème.
ne pas effrayant pour upvote si la réponse vous a été utile ))
Je vous remercie, mais la réponse n'a pas d'informations nouvelles et répétées de l'information fournie dans la question. Votre entrée, elle a apprécié.
n'est-il pas la réponse - iformation qui bug pas fixe?
OriginalL'auteur MikroDel
Internet Explorer a des problèmes avec xpath plus que les autres navigateurs. J'ai utilisé pour exécuter ce problème à l'aide de webdriver et java. Avez-vous essayé de l'instanciation d'un Sélecteur à l'aide d'un sélecteur css et voir si ça aide le navigateur pour localiser l'élément?
Malheureusement, il n'est pas les sélecteurs que le problème se produit en dépit. Merci bien! Je suis la conversion à juste à l'aide de sélecteurs css de toute façon. Quand j'ai vu l'erreur, je pensais que c'était dû à des sélecteurs de ne pas être assez précis et décidé de l'utiliser xpath. Ce n'est certainement pas le cas non plus.
OriginalL'auteur Julian
essayez de supprimer\ing cache se trouve dans le dossier tmp/cache de votre application rails, et également exécuter 'râteau actifs:nettoyer:tous les" à la racine de votre application
OriginalL'auteur Sachin Singh
J'ai rencontré cette erreur avec watir-webdriver, dans mon cas, j'ai été de tenter de visite:
Quand j'aurais dû visiter:
Curieusement mon premier scénario de l'appel de cette méthode a fonctionné, mais lorsque vous tentez de naviguer dans la même URL sur mon deuxième scénario, j'ai reçu un stack trace similaires à la vôtre
OriginalL'auteur full-of-foo