2016-07-03 22 views
6

Kątomierz nie działa, gdy próbuje kliknąć przycisk. Początkowo przycisk będzie miał status wyłączony (po pewnym czasie zostanie włączony) i kątomierz uważa, że ​​przycisk jest gotowy i kliknięcie przycisku kończy się niepowodzeniem.Jak czekać w kątomierzu, aż element zostanie włączony

Dlatego chcę, aby skrypt kątomierza czekał aż przycisk zostanie włączony. Próbowałem poniżej, ale to nie zadziałało. Czy ktoś może opublikować pełny kod, aby poczekać na włączenie elementu?

expect(browser.wait(function(){return browser.driver.isElementPresent(by.id('paynow-info-btn'))}, 10000)); 

Odpowiedz

17

Jest bardzo nadaje Oczekiwany Stan - elementToBeClickable - byłoby poczekać elementem być zarówno widoczna i aktywna:

var elm = element(by.id('paynow-info-btn')); 
var EC = protractor.ExpectedConditions; 

browser.wait(EC.elementToBeClickable(elm), 5000); 
elm.click(); 
+0

Praca idealna teraz. Dziękuję za odpowiedź. –

+0

pytanie dla mnie dzisiaj brzmi: jak mogę ostatecznie ustalić, czy 'elem' jest klikalne czy nie przed' elm.click() '? Czytam tutaj, ale nie jest to jasne http://www.protractortest.org/#/api?view=ProtractorExpectedConditions.prototype.elementToBeClickable –

+0

@ bob.mazzo ciekawe, czy odnosisz się do tego, że "elementToBeClickable" nie określa dokładnie "clickability", ale raczej włączalność i widoczność? .. – alecxe