2015-10-23 19 views

Odpowiedz

11

Dodaj to w funkcji onPrepare() pliku conf.js Twojego kątomierza. Powodem dodania implicitlyWait() jest to, że domyślne oczekiwanie jest domyślnym czasem, w którym kątomierz czeka przed przekazaniem lub wyrzuceniem błędu dla działania. Pozwalając na to, że kątomierz wie, co to jest czas oczekiwania, nawet przed rozpoczęciem testów jest najlepszy sposób, aby go użyć i uruchomić funkcję przed wszystkimi pakietami testowymi i tylko raz.

Przykładowy scenariusz:

Załóżmy, że masz poniższy wiersz kodu -

element(LOCATOR).getText(); 

w specyfikacji testowej i kątomierz wykonuje go po rozpoczęciu automatyzację na stronie. Teraz, jeśli element z określonym lokalizatorem nie zostanie znaleziony na stronie, kątomierz nie zgłasza natychmiast błędu, ale czeka na zakończenie czasu oczekiwania. W międzyczasie, aż do niejawnych przekroczeń czasu, sprawdza, czy element może być zlokalizowany w DOM. Pod koniec czasu oczekiwania, jeśli element nie zostanie znaleziony, kątomierz zgłasza odpowiedni błąd. Tak więc dla wszystkich operacji, które wykonujesz, konieczne jest, aby kolidor znał czas oczekiwania bezpośrednio przed rozdaniem.

Zastosowanie:

onPrepare: function(){ 
    browser.manage().timeouts().implicitlyWait(5000); 
}, 
+0

Dziękuję bardzo! Bardzo mi pomogłeś zrozumieć. – winlinuz

+0

Czy, browser.manage(). Timeouts(). ImplicitlyWait (5000); również czekać na widoczność elementu lub obecność elementu w DOM? [Girish] (https://stackoverflow.com/users/4180674/girish-sortur) –

+0

Jeśli element jest obecny w DOM, ale nie jest widoczny, to w takim przypadku Czy kątomierz domyślnie czeka na to przed wyrzuceniem błędu? ("element nie jest widoczny?") –