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
selenium
selenium-ide
LaPhi
źródło
źródło
Target
zamiastValue
. Polecenie = Pauza, Cel = 1000.pause()
nie działa!To opóźni rzeczy o 5 sekund:
Polecenie: pauza
Cel: 5000
Wartość:
To opóźni rzeczy o 3 sekundy:
Polecenie: pauza
Cel: 3000
Wartość:
Dokumentacja:
http://release.seleniumhq.org/selenium-core/1.0/reference.html#pause
źródło
Dla osób pracujących
ant
używam tego, aby wskazać pauzę trwającą 5 sekund:To znaczy
target: 5000
ivalue
pusty. Jak wskazuje odniesienie:źródło
Najlepszym rozwiązaniem jest prawdopodobnie
waitForCondition
napisanie funkcji javascript, która zwraca wartość true po załadowaniu mapy.źródło
To zrobi to, czego szukasz w C # (WebDriver / Selenium 2.0)
I nigdy nie używaj Thread.Sleep, ponieważ powoduje to niewiarygodność testów
źródło
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.
źródło
Przed poleceniem
clickAndWait
dodaj następujący kod, aby skrypt czekał, aż konkretny link będzie widoczny:Praktyka używania poleceń czekania zamiast pauzy jest w większości przypadków bardziej wydajna i stabilna.
źródło
Będzie to czekać, aż pojawi się twój link, a następnie możesz go kliknąć.
Command: waitForElementPresent Target: link=do something Value:
źródło
Jeden, który znalazłem, działa dla testowanej witryny, to ta:
waitForCondition | selenium.browserbot.getUserWindow (). $. active == 0 | 20000
Klendathu
źródło
W przeglądarce Chrome dla „Selenium IDE” też walczyłem, żeby się nie zatrzymywał. Wstrzyma się, jeśli podasz jak poniżej:
Spowoduje to wstrzymanie na 10 sekund.
źródło