setSpeed dans Selenium WebDriver à l'aide de Ruby
Est-il un moyen de régler le Selenium Webdriver la vitesse d'exécution des rubis.
En perl pour le sélénium 1(RC), il y a $sel->set_speed("500");
Mais en raison de certaines contraintes de Selenium RC, j'ai eu pour effet de déplacer la Selenium Webdriver et a dû commencer à l'aide de Ruby, et je ne trouve pas la fonction pour le même.
Lu quelque part que les options "Lent", "Moyen" et "Rapide" comme arguments de régler la vitesse en C# et Perl, mais pas en Ruby.
Remarque - j'ai délais fixés avec cette @driver.manage.timeouts.implicit_wait = 30
mais je suis à la recherche de la vitesse d'exécution.
OriginalL'auteur Amey | 2011-12-20
Vous devez vous connecter pour publier un commentaire.
Les méthodes pour définir la vitesse d'exécution des WebDriver ont été déconseillés pour toutes les liaisons de langage il y a quelques temps. Il n'est plus possible de modifier la vitesse d'exécution de la course de WebDriver code.
Vous avez besoin d'une sorte de explicite attendre de routine; implicite attend peut pas vous aider ici. Dans les langues prises en charge directement par le projet (Java, .NET, Ruby, Python), ce qui peut être accompli à l'aide de la
WebDriverWait
classe (ou son équivalent). Aussi, la réponse dépend un peu sur ce que vous entendez par "popup". Est-ce une nouvelle fenêtre du navigateur? Si oui, vous aurez besoin d'utiliser le pilote.switch_to.fenêtre() pour mettre l'accent, dans le bon contexte. Si c'est un "popup" créé par, disons, un widget JavaScript framework comme jQuery ou similaire, votre find_element dans l'attente de la routine.De sorte que son une nouvelle fenêtre pop-up, linkedin Connexion autorisation pour être plus précis. Et je fais des commandes de changement de vitesse de la nouvelle fenêtre, en utilisant les poignées = @pilote.window_handles @pilote.switch_to.fenêtre(poignées[1])... mais ce qui arrive est.. le popup prend peut-être comme une seconde ou deux, en fait "pop-up" au cours de laquelle le changement d'une fenêtre n', et toutes les étapes de là sur le évidemment pas. J'ai actuellement mis en place.. un sommeil de 2 secondes (entre cliquant sur le lien et en attendant de passer à la nouvelle fenêtre). Mais je suis sûr qu'il ya une meilleure façon.
Oui, il est. Vous êtes en Ruby, de sorte que vous aurez envie d'utiliser un
Selenium::WebDriver::Wait
objet, et d'attendre pour @pilote.window_handles.taille > 1. Ensuite, vous pouvez aller de l'avant et passer à la nouvelle fenêtre. Vous pouvez en voir un exemple dans le wiki. Gardez à l'esprit, cependant, que les poignées retourné par le pilote.window_handles ne sont pas forcément dans l'ordre où ils ont été ouverts pour chaque navigateur, de sorte que vous ne pouvez pas nécessairement compter sur la prise de pilote.window_handles[1] et attendu que, pour être la nouvelle poignée de la fenêtre.OriginalL'auteur JimEvans
Selon la http://selenium.googlecode.com/svn/tags/selenium-2.10.0/rb/lib/selenium/client/idiomatic.rb dans il y a 2 méthodes de Sélénium.Client.Idiomatiques module:
Je suppose que cela aidera.
C'est l'erreur que je reçois btw
NoMethodError: undefined method
execution_delay' #<Sélénium::WebDriver::Pilote:0x101534678>`OriginalL'auteur VMykyt