web-dev-qa-db-fra.com

Selenium IDE - Commande à attendre 5 secondes

J'utilise le sélénium IDE pour Firefox et la recherche d'une commande d'attente. Mon problème est que je veux tester un site Web avec une carte externe intégrée. Cette carte externe a besoin de 3 à 5 secondes pour être chargée.

Mes commandes:

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

Utilisez la commande pause . Définissez la vitesse la plus rapide (Actions -> La plus rapide), sinon cela ne fonctionnera pas.

95
Adam Prax

Ceci retardera les choses de 5 secondes:

Commande: pause
Cible: 5000
Valeur:

Ceci retardera les choses de 3 secondes:

Commande: pause
Cible: 3000
Valeur:

Documentation:

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

enter image description hereenter image description here

81
MacGyver

Pour ceux qui travaillent avec ant, je l’utilise pour indiquer une pause de 5 secondes:

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

C'est-à-dire que target: 5000 et value sont vides. Comme l'indique la référence:

pause (waitTime)

Arguments:

  • waitTime - la durée de sommeil (en millisecondes)

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

6
fedorqui

Votre meilleur pari est probablement waitForCondition et écrire une fonction javascript qui retourne vrai lorsque la carte est chargée.

4
highlycaffeinated

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 jamais utilisez Thread.Sleep car cela rend vos tests peu fiables

2
Pawel Pabich

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. Les autres langues prennent en charge "sommeil 5" ou heure (10). vous avez plusieurs options pour simplement attendre une heure donnée.

0
rattlerbred

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

Command: waitForElementPresent Target: link=do something Value:

0

Avant la commande clickAndWait, ajoutez 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 d'attente au lieu de pause est la plupart du temps plus efficace et plus stable.

0
george

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

waitForCondition | Selenium.browserbot.getUserWindow (). $. Active == 0 | 20000

Klendathu

0
Klendathu

Dans Chrome, pour "Selenium IDE", je me battais également pour ne pas faire de pause. Il fera une pause, si vous donnez comme ci-dessous:

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

Cela fera une pause pendant 10 secondes.

0
TechSingh