Czy istnieje sposób na uruchomienie testu Angular E2E zapisanego z użyciem kątomierza powoli, aby móc obserwować, co się dzieje?Czy kątomierz może działać powoli?
Odpowiedz
Poniżej znajduje się moje rozwiązanie, aby to zrobić. Zasadniczo stworzyłem więc dekorator do funkcji bieżącego sterowania przepływem execute
, który teraz dodatkowo kolejkuje opóźnienie o 100ms przed każdą kolejkowaną akcją.
To musi być uruchomiony zanim jakiekolwiek testy są wywoływane (poza describe
bloku)
var origFn = browser.driver.controlFlow().execute;
browser.driver.controlFlow().execute = function() {
var args = arguments;
// queue 100ms wait
origFn.call(browser.driver.controlFlow(), function() {
return protractor.promise.delayed(100);
});
return origFn.apply(browser.driver.controlFlow(), args);
};
To jest szalone :) +1 – alecxe
To jest po prostu idealne! Otworzę bilet z kątomierzem - powinny one obsługiwać możliwość opóźnienia każdego polecenia z pudełka - jest to bardziej niż przydatne podczas debugowania niepowodzenia testu. – WTK
To jest Sweeeeet – Melbourne2991
Tak jak powiedział George Stocker w komentarzu, nie wiem, dlaczego chciałbyś to zrobić ... ale zawsze możesz dodać sen gdziekolwiek chcesz w teście.
browser.sleep(6000);
OK, dziękuję ... Domyślam się, że to, czego szukam, jest czymś, co doda krótkiego snu do przepływu kontrolnego po zakończeniu każdej obietnicy. – cortfr
Dzięki, działa jak urok! :) –
można wprowadzić w „trybie debugowania” poprzez umieszczenie w kodzie komendy:
browser.pause();
W w trybie debugowania zobaczysz w terminalu następujące dane wyjściowe:
------- WebDriver Debugger -------
ready
press c to continue to the next webdriver command
press d to continue to the next debugger statement
type "repl" to enter interactive mode
type "exit" to break out of interactive mode
press ^C to exit
You może wówczas:
komenda- Prowadzony przez komendy wpisując
c
- dalej do rachunku obok debuggera (obok
browser.pause()
), wprowadzającd
- Wprowadź w trybie interaktywnym, gdzie można wchodzić w interakcje ze wszystkimi elementami wprowadzając
repl
- 1. Czy PresentModalViewController może działać podczas uruchamiania?
- 2. Czy DLL D może działać w SAS?
- 3. Czy Pyserial może działać z ukrytymi urządzeniami?
- 4. Czy Hadoop może działać na Nginx?
- 5. Czy AVURLAsset może działać bez rozszerzenia pliku?
- 6. Czy Android JVM może działać również na PC?
- 7. Czy klucz obcy może działać jako klucz podstawowy?
- 8. Znaczniki JSF nie są renderowane - czy FacesServlet może nie działać?
- 9. Czy urządzenie z Androidem może działać jako iBeacon?
- 10. Czy aplikacja WinRT może działać nadal, gdy wyłączony jest ekran?
- 11. Czy XCode 3.2 może działać na 10,5 Leopardzie?
- 12. Czy Surface SDK może działać w Visual Studio 2012?
- 13. Czy system MacOS może działać w środowisku typu VMWare?
- 14. Czy funkcja zip zip może działać z tablicą tablic?
- 15. Czy Java może działać jako serwer nazwanych potoków?
- 16. Czy WatiN przestał działać?
- 17. działania przeglądarek niestandardowe w Kątomierz
- 18. Kątomierz Uzyskaj wartość modelu
- 19. Phantomjs ładuje strony powoli
- 20. MySQL bardzo powoli pętli
- 21. sumowanie clojure wskaźniki powoli
- 22. Kątomierz - gdzie użyć browser.waitForAngular()
- 23. Oczekiwane warunki kątomierz
- 24. Kątomierz: Rozmiar ekranu
- 25. Kątomierz - pusty lokalny magazyn
- 26. Kątomierz: zmienne sessionStorage
- 27. Redis powoli dostaje duże ciągi
- 28. W jakich przypadkach elokwentna kolekcja save() może działać nieprawidłowo?
- 29. Typ nullable z wbudowanym, jeśli nie może działać razem?
- 30. Optymalizacja GCC: jak mniej operacji może działać wolniej?
Um, co? Dlaczego tego chcesz? –
Chciałbym uruchomić konkretny test i obserwować, jak ma miejsce interakcja. Czasami komunikaty o błędach są ezoteryczne i po prostu obserwowanie, jak odbywa się akcja, pozwoli mi szybciej wykryć rzeczywisty problem, naprawić go i zaktualizować komunikat o błędzie na później. Dzięki! – cortfr