Selenium IDE - Polecenie czekania przez 5 sekund


90

Używam Selenium IDE dla przeglądarki Firefox i szukam polecenia oczekiwania. Mój problem polega na tym, że chcę przetestować stronę internetową z osadzoną mapą zewnętrzną. Ta mapa zewnętrzna potrzebuje 3-5 sekund na załadowanie.

Moje polecenia:

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

Odpowiedzi:


107

Użyj polecenia pause i wprowadź liczbę milisekund w polu Cel.

Ustaw prędkość na najszybszą (Akcje -> Najszybsza), w przeciwnym razie to nie zadziała.


Dziękuję Ci! Wprowadziłem polecenie, ale Selenium nie zatrzymuje się. Polecenie = pauza, wartość = 10000
LaPhi

53
Użyj Targetzamiast Value. Polecenie = Pauza, Cel = 1000.
khairul

1
@Khairul cieszę się, że dodałeś ten komentarz, doprowadza mnie to do szału, dlaczego pause()nie działa!
cchana

Prędkość nie ma wpływu na polecenie pauzy, jest tak, jak mówi @Khairul: umieść go w celu.
Mendhak

kiedy zatrzymasz się na końcu przypadku testowego podczas uruchamiania zestawu testów, to nie zadziała
Alfonso Fernandez-Ocampo


6

Dla osób pracujących antużywam tego, aby wskazać pauzę trwającą 5 sekund:

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

To znaczy target: 5000i valuepusty. Jak wskazuje odniesienie:

pauza (waitTime)

Argumenty:

  • waitTime - ilość czasu do uśpienia (w milisekundach)

Poczekaj określony czas (w milisekundach)



1

To zrobi to, czego szukasz w 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 */);

I nigdy nie używaj Thread.Sleep, ponieważ powoduje to niewiarygodność testów


Znacznie lepsza opcja w Selenium 2.
craastad

0

Polecenie pause może być użyte bezpośrednio w IDE w formacie html.

Jeśli używasz java lub C, możesz użyć Thread.sleep (5000). Czas jest w milisekundach. Inne języki obsługują "sleep 5" lub time.sleep (5). masz wiele opcji czekania przez określony czas.


2
Thread.Sleep nigdy nie jest dobrym pomysłem i dlatego Selenium zapewnia prymitywy oczekiwania. Jeśli ich używasz, możesz określić znacznie wyższą wartość limitu czasu, co sprawia, że ​​testy są bardziej wiarygodne bez spowalniania ich, ponieważ warunek można oceniać tak często, jak jest to wymagane, np. co 50 ms.
Paweł Pabich

Moja odpowiedź w wątku. Sen jest związana tylko z odpowiedzią na pytanie, jak sprawić, by czekał w ide. Ponieważ pauza jest tłumaczona na thread.sleep podczas konwersji z html do java lub c w IDE.
rattlerbred

0

Przed poleceniem clickAndWaitdodaj następujący kod, aby skrypt czekał, aż konkretny link będzie widoczny:

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

Praktyka używania poleceń czekania zamiast pauzy jest w większości przypadków bardziej wydajna i stabilna.


0

Będzie to czekać, aż pojawi się twój link, a następnie możesz go kliknąć.

Command: waitForElementPresent Target: link=do something Value:


0

Jeden, który znalazłem, działa dla testowanej witryny, to ta:

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

Klendathu


0

W przeglądarce Chrome dla „Selenium IDE” też walczyłem, żeby się nie zatrzymywał. Wstrzyma się, jeśli podasz jak poniżej:

  • Polecenie: pauza
  • Cel: pusty
  • Wartość: 10000

Spowoduje to wstrzymanie na 10 sekund.


1
Wartość docelowa powinna wynosić 10000, a wartość powinna być pusta
Sirmyself

Nie mam pewności, której wtyczki przeglądarki próbujesz, ale działało dobrze w Chrome. Zależy również od używanego rozszerzenia.
TechSingh
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.