Selenium IDE - Commande pour attendre 5 secondes


89

J'utilise Selenium IDE pour Firefox et je recherche une commande wait. Mon problème est que je souhaite tester un site Web avec une carte externe intégrée. Cette carte externe a besoin de 3 à 5 secondes pour se charger.

Mes commandes:

open /Page/mysite.html
//Wait Command? (5 seconds)
ClickAndWait link=do something

Réponses:


105

Utilisez la commande pause et entrez le nombre de millisecondes dans le champ Cible.

Réglez la vitesse sur le plus rapide (Actions -> Le plus rapide), sinon cela ne fonctionnera pas.


Je vous remercie! J'ai inséré la commande, mais Selenium ne s'arrête pas. Commande = pause, Valeur = 10000
LaPhi

53
Utilisez à la Targetplace de Value. Commande = Pause, cible = 1000.
khairul

1
@Khairul heureux que vous ayez ajouté ce commentaire, cela m'a rendu fou de savoir pourquoi pause()ne fonctionnera pas!
cchana

La vitesse n'a aucun rapport avec la commande de pause, c'est comme le dit @Khairul à la place: Mettez-la dans la cible.
Mendhak

lorsque vous faites une pause à la fin d'un cas de test lors de l'exécution d'une suite de tests, cela ne fonctionnera pas
Alfonso Fernandez-Ocampo

84

Cela retardera les choses de 5 secondes:

Commande: pause
Cible: 5000
Valeur:

Cela retardera les choses de 3 secondes:

Commande: pause
Cible: 3000
Valeur:

Documentation:

http://release.seleniumhq.org/selenium-core/1.0/reference.html#pause

entrez la description de l'image ici entrez la description de l'image ici


2
Alors, réglez 5000 pour 5 secondes
Ripon Al Wasim

1
C'est insensé qu'ils donnent à la cible la valeur à attendre en millisecondes. Aimer. Merci de poster ceci car je n'ai même pas essayé de saisir la valeur dans la cible.
John Z

6

Pour ceux qui travaillent avec ant, j'utilise ceci pour indiquer une pause de 5 secondes:

<tr>
    <td>pause</td>
    <td>5000</td>
    <td></td>
</tr>

Autrement dit, target: 5000et valuevide. Comme l'indique la référence:

pause (waitTime)

Arguments:

  • waitTime - le temps de sommeil (en millisecondes)

Attendez la durée spécifiée (en millisecondes)



1

Cela fera ce que vous recherchez en C # (WebDriver / Selenium 2.0)

var browser = new FirefoxDriver();
var overallTimeout = Timespan.FromSeconds(10);
var sleepCycle = TimeSpan.FromMiliseconds(50);
var wait = new WebDriverWait(new SystemClock(), browser, overallTimeout, sleepCycle);
var hasTimedOut = wait.Until(_ => /* here goes code that looks for the map */);

Et n'utilisez jamais Thread.Sleep car cela rend vos tests peu fiables


Une bien meilleure option dans Selenium 2.
craastad

0

La commande pause peut être utilisée directement dans l'ide au format html.

Si vous utilisez java ou C, vous pouvez utiliser Thread.sleep (5000). Le temps est en millisecondes. D'autres langues prennent en charge "sleep 5" ou time.sleep (5). vous avez plusieurs options pour n'attendre qu'une heure définie.


2
Thread.Sleep n'est jamais une bonne idée et c'est pourquoi Selenium fournit des primitives d'attente. Si vous les utilisez, vous pouvez spécifier une valeur de délai beaucoup plus élevée, ce qui rend les tests plus fiables sans les ralentir car la condition peut être évaluée aussi souvent que nécessaire, par exemple. toutes les 50 ms.
Pawel Pabich

Ma réponse dans le thread.sleep est uniquement liée à la réponse à la question de savoir comment le faire attendre dans l'ide. Comme pause est traduit en thread.sleep lorsque vous convertissez de html en java ou c dans l'ide.
rattlerbred

0

Avant la commande, clickAndWaitajoutez le code suivant pour que le script attende que le lien spécifique soit visible:

   <tr>
        <td>waitForVisible</td>
        <td>link=do something</td>
        <td></td>
    </tr>

La pratique consistant à utiliser les commandes wait au lieu de pause est la plupart du temps plus efficace et plus stable.


0

Cela attendra que votre lien apparaisse, puis vous pourrez cliquer dessus.

Command: waitForElementPresent Target: link=do something Value:


0

Celui que j'ai trouvé fonctionne pour le site que je teste est celui-ci:

waitForCondition | selenium.browserbot.getUserWindow (). $. active == 0 | 20000

Klendathu


0

Dans Chrome, pour "Selenium IDE", j'avais également du mal à ne pas mettre en pause. Il s'arrêtera, si vous donnez comme ci-dessous:

  • Commande: pause
  • Cible: vide
  • Valeur: 10000

Cela mettra en pause pendant 10 secondes.


1
La cible doit être de 10000 et la valeur doit être vide
Sirmyself

Je ne sais pas quel plugin de navigateur vous essayez, mais cela a bien fonctionné pour moi dans Chrome. Dépend également de l'extension que vous utilisez.
TechSingh
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.