introduction appium
W tym samouczku wyjaśniono, czym jest Appium, jego architektura, przepływ pracy i jak korzystać z tego narzędzia open source do automatyzacji urządzeń mobilnych w systemach Android i iOS:
Appium to narzędzie do automatyzacji mobilnej typu open source, które zapewnia automatyzację na platformach takich jak Android, iOS itp.
Obsługuje również automatyzację przy użyciu wielu języków programowania, takich jak Java, PHP, Perl, Python itp.Dzięki temu użytkownicy mogą używać dowolnego języka programowania, w którym czują się komfortowo, i pisać automatyczne skrypty.
=> Obejrzyj serię prostych szkoleń Appium tutaj.
Czego się nauczysz:
Co to jest Appium?
Oto samouczek wideo:
Omówienie aplikacji
Wszystkie aplikacje można zautomatyzować, w tym aplikacje natywne, hybrydowe i internetowe.Poniżej przedstawiono prosty przegląd różnych typów aplikacji.
- Aplikacje natywne: Te aplikacjesą napisane przy użyciu zestawów SDK systemu iOS, Android lub Windows.Dostęp do nich można uzyskać dopiero po zainstalowaniu w urządzeniu. Na przykład, Skype, z którego można korzystać dopiero po zainstalowaniu w urządzeniu. Nie możemy otworzyć aplikacji przez przeglądarkę.
- Sieć Aplikacje: Mobilne aplikacje internetowemożna uzyskać za pomocą przeglądarki mobilnej.Dostęp do aplikacji internetowych można uzyskać tylko za pośrednictwem przeglądarki. Na przykład, Dostęp do softwaretestinghelp.com można uzyskać tylko przez przeglądarkę. Nie mamy oddzielnej aplikacji dostępnej dla strony internetowej.
- Hybrydowy Aplikacje: Teaplikacjemają opakowanie wokół „widoku internetowego” - natywnej kontrolki, która umożliwia interakcję z treścią internetową.Można je zainstalować w urządzeniu, a także uzyskać do nich dostęp za pośrednictwem adresu URL przeglądarki. Na przykład, Amazon można zainstalować jako oddzielną aplikację na urządzeniu, a także można uzyskać do niego dostęp za pośrednictwem przeglądarki jako Amazonka.
Co ważniejsze, jest to narzędzie „wieloplatformowe” - co pozwala na pisanie testów na wielu platformach (iOS, Android, Windows) przy użyciu tego samego API. Umożliwia to ponowne wykorzystanie kodu między urządzeniami z systemem iOS, Android i Windows.
Architektura epok
To jest serwer HTTP napisany w języku programowania Node.js, który obsługuje sesje WebDriver. Serwer Appium odbiera żądania HTTP z bibliotek klienta w formacie JSON. Żądania są następnie obsługiwane na różne sposoby, w zależności od platformy, na której są uruchomione.
Jest zgodny z architekturą klient-serwer. Zawiera 3 komponenty:
- klient appium
- serwer appium
- Urządzenie końcowe
1) Klient Marcusa
Kod skryptowy automatyzacji nazywamy klientem Appium.
Kod jest skryptowany w dowolnym języku programowania, takim jak PHP, Java, Phyton itp. Ten skrypt automatyzacji przechowuje szczegóły konfiguracji urządzenia mobilnego i aplikacji. Oprócz tego logika / kod do uruchamiania przypadków testowych aplikacji jest skryptowany.
# 2) serwer epok
Serwer Appium jest napisany przy użyciu języka programowania Node.js.Odbiera żądania połączeń i poleceń od klienta Appium w formacie JSON i wykonuje to polecenie na urządzeniach mobilnych. Serwer musi być zainstalowany na maszynie i jest uruchamiany przed wywołaniem kodu automatyzacji.
Serwer współdziała z różnymi platformami, takimi jak iOS i Android. Tworzy sesję do interakcji z urządzeniami końcowymi aplikacji mobilnych. Jest to serwer HTTP napisany w języku programowania Node.js, który odczytuje żądania HTTP z bibliotek klienta i wysyła je do odpowiedniej platformy.
Aby uruchomić serwer, użytkownicy muszą pobrać źródło lub zainstalować je bezpośrednio z Npm. Udostępnia również wersję GUI serwera. Możesz go pobrać z oficjalnego Appium teren .
W następnym rozdziale omówimy bardziej szczegółowo wersję GUI. Jedną z największych zalet tego narzędzia jest to, że kod używany do interakcji z nim jest napisany w wielu językach, takich jak Java, C #, Ruby, Python itp., Ponieważ rdzeniem Appium jest REST API.
# 3) Urządzenie końcowe
Jest to głównie urządzenie mobilne czasu rzeczywistego lub emulator. Skrypty automatyzacji są wykonywane na urządzeniu końcowym przez serwer Appium za pomocą poleceń klienta.
Przepływ pracy architektury Appium
Appium Client, który przechowuje szczegóły konfiguracji i skrypt automatyzacji dla przypadków testowych, wysyła polecenia do serwera w formacie JSON. Skrypt automatyzacji jest konwertowany do formatu JSON za pomocą wbudowanych plików jar w kliencie.
Serwer Appium rozpoznaje polecenie i nawiązuje połączenie z odpowiednim urządzeniem końcowym. Po nawiązaniu połączenia wyzwala wykonanie przypadków testowych na urządzeniu końcowym. Urządzenie końcowe odpowiada na żądanie w formie HTTP do Appium.
Gdy przypadki testowe są wykonywane na urządzeniu / emulatorze mobilnym, zapełnia dziennik wszystkich działań wykonanych na urządzeniu / emulatorze.
Działanie Appium na iOS
To narzędzie wykorzystuje interfejs API UIAutomation firmy Apple do interakcji z elementami interfejsu użytkownika aplikacji na urządzeniu z systemem iOS. UIAutomation to biblioteka JavaScript dostarczana przez firmę Apple. Używa tych bibliotek do automatyzacji aplikacji w iOS.
Kiedy wykonujemy skrypty testowe, polecenia w skryptach testowych są pobierane w postaci JSON poprzez żądanie HTTP do serwera Appium. Serwer wysyła polecenie do tych instrumentów, a instrumenty szukają pliku bootstrap.js.
Następnie polecenia te są wykonywane w pliku bootstrap.js w środowisku instrumentów iOS. Po wykonaniu polecenia klient odsyła wiadomość (powodzenie / niepowodzenie) do serwera Appium ze szczegółami dziennika wykonanego polecenia.
Działanie Appium na Androida
Appium wykorzystuje strukturę UIAutomator do interakcji z elementami UI aplikacji na urządzeniu z systemem Android. UIAutomator to platforma opracowana przez programistów Androida w celu przetestowania interfejsu użytkownika.
Tutaj zamiast interfejsu API UIAutomation, jak widzieliśmy w Apple, mamy UIAutomator / Selendroid i bootstrap.jar zamiast pliku bootstrap.js. Obsługuje wszystkie wersje Androida, które są większe lub równe 17; we wcześniejszych wersjach Androida Appium używa frameworka Selendroid.
Kiedy wykonujemy skrypty testowe, Appium wysyła polecenie w formacie JSON do UIAutomator lub Selendroid w oparciu o wersję Androida. Tutaj bootstrap.jar działa jako serwer TCP, którego możemy użyć do wysłania polecenia testowego w celu wykonania akcji na urządzeniu z Androidem za pomocą UIAutomator / Selendroid.
Wniosek
W tym rozdziale poznaliśmy podstawy Appium, czyli architekturę, przepływ pracy i działanie Appium na iOS / Android.
W następnym rozdziale zobaczymy, jak skonfigurować Appium i inne podstawowe oprogramowanie do zainstalowania dla Mobile Automation na rzeczywistych urządzeniach.
POPRZEDNIA samouczek | NEXT Tutorial
co to jest plik .bin
rekomendowane lektury
- Twórz testy Appium dla aplikacji na Androida
- Wprowadzenie do Appium Studio: kluczowe zalety i funkcje
- Równoległe uruchamianie testów Appium przy użyciu Appium Studio for Eclipse
- Tworzenie testów epok za pomocą epochs Studio for Eclipse
- Appium Studio for Eclipse: End-to-end Appium / Selenium Automation From Eclipse
- Samouczek Appium do testowania aplikacji mobilnych na Androida i iOS
- Łączenie rzeczywistych urządzeń iOS i Android z chmury do Appium Studio
- Utwórz test Appium dla aplikacji na iOS