Articles

co to jest kątomierz?

kątomierz

zgodnie z pierwszą i podstawową architekturą aplikacji internetowych, serwerem ze względu na ciągłe ładowanie treści i ogromną wymianę danych, jest on bardziej powszechny w przypadku statycznych stron internetowych niż rzeczywiste aplikacje internetowe składające się z logiki budowy strony internetowej i logiki biznesowej współdziała z klientem, wysyłając kompletną stronę HTML. Aby wyświetlić aktualizację, użytkownik musi w pełni przeładować stronę lub, innymi słowy, poprosić Klienta o wysłanie żądania strony HTML do serwera i ponowne załadowanie całego kodu. Spójrz na diagram architektury aplikacji internetowych tego typu.

starsze CSA

obecnie wiele firm przechodzi z tradycyjnej architektury klient-serwer na Nowoczesną, gdzie po załadowaniu pierwszej strony cała interakcja z serwerem odbywa się poprzez wywołania AJAX. Te wywołania AJAX zwracają dane—nie znaczniki-zwykle w formacie JSON. Aplikacja wykorzystuje dane JSON do dynamicznej aktualizacji strony, bez przeładowywania strony.

w tym typie logika budowy strony internetowej jest zastępowana przez Usługi internetowe, a każda strona na kliencie ma osobne jednostki zwane widżetami. Wysyłając zapytania AJAX do usług internetowych, widżety mogą odbierać fragmenty danych w HTML lub JSON i wyświetlać je bez przeładowywania całej strony. Dzięki aktualizacjom widżetów w czasie rzeczywistym ten typ jest bardziej dynamiczny, przyjazny dla urządzeń mobilnych i prawie tak popularny jak następny typ.

najnowszy CSA

Angular jest jednym z frameworków umożliwiających tworzenie takich aplikacji. Angular ma własny zestaw funkcji, więc tradycyjna strategia lokalizowania testów automatyki będzie czasochłonna.

co to jest kątomierz?

kątomierz jest kompleksowym frameworkiem testującym Aplikacje AngularJS i działa jako integrator rozwiązań łącząc potężne narzędzia i technologie, takie jak NodeJS, Selenium WebDriver, Jasmine, Cucumber i Mocha. Początkowo został opracowany przez programistów Google do obsługi aplikacji angular, a później został wydany jako framework open source. Teraz kątomierz obsługuje zarówno aplikacje kątowe, jak i nie kątowe. Kątomierz jest wrapper napisane na górze Webdriver.js, wszystkie funkcje, które są obsługiwane w Selenium Webdriver są obsługiwane przez niego, oprócz funkcji kątowych.

WebDriverJs jest oficjalną implementacją Selenium javascript. Używa Selenium JSON-Wire-Protocol do interakcji z przeglądarką, tak jak robi to Selenium java. Kątomierz zależy od WebdriverJs do interakcji z przeglądarką.

dlaczego elementy sieciowe Angular JS są trudne do zidentyfikowania?

Aplikacje Angular JS mają dodatkowe atrybuty HTML, takie jak ng-repeater, ng-controller, ng-model.., itp. które nie są zawarte w lokalizatorach selenu. Selenium nie jest w stanie zidentyfikować tych elementów sieci Web za pomocą kodu Selenium. Tak więc kątomierz na górze Selenium może obsługiwać i kontrolować te atrybuty w aplikacjach internetowych.

co to jest kątomierz?

funkcje kątomierza

obsługuje lokalizatory kątowe: Aplikacja kątowa jest wyposażona w lokalizatory kątowe, takie jak ng-model, ng-bind, ng-repeat itp. więc kątomierz ma rozszerzone wsparcie dla tych lokalizatorów. Nie musisz tworzyć złożonych XPath dla lokalizatorów kątowych, w kątomierzu lokalizatory te są gotowe dla ciebie, więc możesz po prostu użyć by.model, by.repeater itp.

obsługuje zarówno aplikacje nie kątowe, jak i kątowe: kątomierz ma rozszerzoną obsługę kątową, ale obsługuje również aplikacje nie kątowe. Oznacza to, że jeśli twoja część aplikacji nie jest kątowa, a jej część kątowa, nadal możesz wybrać Framework kątomierza i możesz wykonać pełną automatyzację testów automatyzacji end-to-end.

obsługuje testy między przeglądarkami: możemy uruchamiać nasze skrypty w wielu przeglądarkach, takich jak Chrome, Firefox, Safari, IE11, Edge. Konfiguracja do testów między przeglądarkami jest łatwa i nie zajmuje dużo czasu. Omówimy ten temat szczegółowo w naszych nadchodzących samouczkach.

obsługuje równoległe wykonywanie: rozważmy, że mamy ogromną liczbę przypadków testowych, jeśli wszystkie przypadki testowe muszą działać sekwencyjnie i.e jeden po drugim zużywa dużo czasu. Równoległe wykonanie pomaga w tym przypadku. Równoległe wykonywanie uruchamia przypadki testowe w wielu instancjach przeglądarki, na przykład jeśli masz 4 przypadki testowe, w uruchomieniu w dwóch instancjach przeglądarki każde wykonuje dwa-dwa przypadki testowe w jednym punkcie czasu, więc w krótszym czasie zostanie wykonanych więcej przypadków testowych.

obsługuje przeglądarkę bez głowy: przeglądarka bez głowy jest bez interfejsu użytkownika. Kątomierz obsługuje również przeglądarkę bez głowy.

obsługuje rozszerzalność: ponieważ kątomierz jest węzłem.aplikacja js, może wykorzystywać szeroką gamę pakietów dostępnych w węźle. Można więc rozszerzyć jego framework lub dodać dodatkowe funkcje, instalując Pakiety węzłów. Na przykład, jeśli potrzebujesz raportu HTML, możesz po prostu użyć Jasmine HTML Reporter, dla czystego kodu możesz zainstalować eslint lub tslint . Podobnie, możesz zainstalować wybrane pakiety węzłów.

obsługuje wtyczki raportujące: w porównaniu do innych niż node.open source automation framework oparty na js łatwo jest skonfigurować raport w kątomierzu. Jasmine HTML Reporter jest jednym z frameworków generowania raportów. Który tworzy raporty HTML dla Twoich specyfikacji. Poniżej znajduje się przykładowy raport

obsługuje platformy testowe w chmurze: platformy testowe w chmurze pozwalają nam uruchamiać nasze specyfikacje na wielu przeglądarkach(Chrome, Firefox, Safari itp.), wiele platform (Windows, Mac, Linux, Mobile itp.). Protractor jest obsługiwany przez główne platformy testowe w chmurze, takie jak SauceLabs i CrossBrowserTesting.com.

obsługuje wiele bibliotek twierdzeń: kątomierz obsługuje wiele bibliotek twierdzeń, takich jak jaśmin, Mocha lub możesz nawet używać własnych bibliotek. Domyślnie protractor używa jaśmin framework dla twierdzeń.

obsługuje przepływ sterowania: API jest oparte na obietnicach, które są zarządzane przez przepływ sterowania i dostosowane do jaśmin. API kątomierza są całkowicie asynchroniczne. Wszystkie funkcje zwracają obietnice. Utrzymuje kolejkę oczekujących obietnic, zwanych przepływem sterowania, aby utrzymać porządek wykonania. (Więcej o obietnicach omówimy w kolejnych sekcjach samouczka).

obsługuje różne IDE & Edytory: Istnieje mnóstwo IDE tam na rynku można wybierać. Najpopularniejsze edytory to Visual Studio Code, WebStorm, Visual Studio Professional, Atom i sublime. (Omówimy szczegółowo nasze nadchodzące tutoriale)

obsługuje CI / CD: gdy Skrypty automatyzacji są na miejscu, nie musimy wykonywać ręcznie i monitorować. Za każdym razem, gdy nowy kod trafi do repozytorium, testy kątomierza powinny działać automatycznie i otrzymać raport. Oznacza to, że musimy zautomatyzować proces, możemy to osiągnąć, integrując test kątomierza, aby zbudować narzędzia takie jak Jenkins, TFS lub Azure DevOps. Kątomierz obsługuje integrację narzędzia budowania. (Szczegóły konfiguracji krok po kroku omówimy w naszych nadchodzących samouczkach).

jak działa kątomierz?

framework

kątomierz jest end-to-end testowanie framework, kątomierz jest zbudowany na górze WebdriverJS, WebdriverJS jest Selenium webdriver API JavaScript wiązania. Oznacza to, że WebdriverJS API dostarcza API dla testów, które są napisane w javascript. Kątomierz jest frameworkiem testowym opartym na Selenium, co oznacza, że kątomierz współpracuje z serwerem selenium i Webdriverami, takimi jak ChromeDriver, GeckoDriver, SafariDriver itp. aby symulować działania użytkownika.

gdy skrypty testowe wysyłają polecenia do serwera Selenium, który z kolei komunikuje się ze sterownikiem przeglądarki i wykonuje polecenia (wykonuje akcje). Następnie jest framework asercji, Protractor obsługuje różne frameworki asercji, takie jak Jasmine, Mocha, itp. Ten Framework assertion pomaga nam zweryfikować lub zweryfikować wartości, z kolei twój test zostanie oznaczony jako pass lub fail. Krótko mówiąc, Protractor, WebdriverJS, Selenium Server, Browser Driver i Assertion Framework zapewniają infrastrukturę do pisania i wykonywania naszych kompleksowych testów.