Jestem ciekawa, jak działa funkcja waitForAngularEnabled()? Chociaż nie wydaje się to skomplikowane, nie mogłem uzyskać żadnych satysfakcjonujących odpowiedzi. Mam więc nadzieję, że ktoś pomoże mi zostać oczyszczonym.Jak działa funkcja waitForAngularEnabled?
Moim celem jest sprawdzenie kryteriów i wstrzymanie/zablokowanie bieżącego testu do momentu spełnienia kryteriów. Oto przykłady na przykład.
A. wstrzymać testu uruchomiony i czekać, aż strona zostanie załadowana
...
let theElement = ...;
browser.waitForAngularEnabled(false);
browser.wait(protractor.ExpectedConditions.presenceOf(theElement));
B. użyć browser.wait(), alternatywnym sposobem na podobnym przeznaczeniu A
browser.wait(() => {
browser.waitForAngularEnabled(false);
return browser.isElementPresent(by.id('the-element-id'));
}, timeout); // timeout may not be given
WIĘC Pytanie brzmi:
- Co stanie się po wywołaniu waitForAngularEnabled (false)? (po spełnieniu kryteriów lub przekroczeniu limitu czasu w moim przypadku)
- Czy należy przywrócić funkcję waitForAngularEnabled (true), aby kontynuować normalne testowanie?
- Jeśli powinienem zrobić, gdzie go umieścić?
nadzieję uzyskać jednoznaczną odpowiedź z jakiejś zasady tła.
Dzięki!
Czy widziałeś dokument API z kątomierzem? http://www.protractortest.org/#/api?view=ProtractorBrowser.prototype.waitForAngular AND http://www.protractortest.org/#/api?view=ProtractorBrowser.prototype.waitForAngularEnabled –
Tak, zrobiłem , ale nie byłem zadowolony. Czy możesz odpowiedzieć na pytanie nr 1? Z góry dzięki. – first87
, aby odpowiedzieć na pytanie nr 1, musimy wiedzieć, dlaczego go wyłączasz. Czy otrzymujesz limity czasu związane z sondowaniem $ http lub $ timeout na końcu Angular? Również wygląda na to, że ta funkcja jest tylko zamiennikiem 'browser.ignoreSynchronization', i jest używana w funkcji' waitForAngular() ', aby określić, czy z niej korzystać. Taka jest różnica między tymi dwoma – Gunderson