2013-08-03 5 views
5

mam kątową aplikację, która korzysta $routeProvider załadować do różnych partials w ng-view.Wywołanie `` pause` sleep` lub w scenariuszu karma dla kątowego przerwy app ramach

Tak więc, w moich scenariuszach e2e, gdy zadzwonię pod numer browser().navigateTo('/'), muszę również zadzwonić pod numer sleep(0.5) lub coś, aby poczekać, aż elementy się pojawią.

Niestety, nazywając sleep całkowicie zrywa testowania! Nagle struktura zachowuje się tak, jakby nie widziała strony i nigdy nie może znaleźć elementów.

Moje testy e2e, w których nie muszę czekać na załadowanie czegokolwiek, mogą znaleźć wszystkie elementy, których się spodziewam, ale jeśli wezmę w tych testach wezwanie snu, wtedy i one się zepsują.

Czy ktoś ma sugestie co patrzeć? Jakiś sposób na zwiększenie szczegółowości konsoli? Jakiś sposób, aby przywrócić testerowi ostrość?

Dodatkowe informacje:

  • Nie ma wyjścia błędu w konsoli przeglądarki lub na konsoli wiersza poleceń!
  • Skopiowałem moją konfigurację karmy bezpośrednio z projektu ziarnistości. O ile wiem, są one identyczne.

Odpowiedz

0

Proponuję użyć Protractor do testów Angular E2E. Ma to świadomość obietnicy i obietnice zwrotu. Można zrobić coś takiego następnie:

ptor.get('http://localhost/#/my-route').then(function() { 
    // Do something 
}); 

Można również użyć ptor.wait takiego:

var timeout = 10000; 

    ptor.wait(function() { 
     return {some condition} 
    }, timeout); 

Jakie będą czekać na warunek, aby mogło być prawdziwe przed przejściem.

Również można użyć ptor.waitForAngular() które będą czekać na kątowe do rozwiązywania wszelkich obietnic i żądań HTTP.

Powiązane problemy