Architektura Appium do testowania aplikacji mobilnych

Opublikowany: 2020-06-26

Spis treści

Przegląd Appium

Appium to bezpłatne narzędzie/framework do testowania aplikacji mobilnych, które zapewnia automatyzację aplikacji mobilnych na systemy iOS i Android. Appium to architektura klient-serwer, która akceptuje kod testowy napisany w Java, Python, Ruby, JavaScript itp.

Sercem Appium jest serwer WWW napisany w języku programowania Node.js, który tworzy sesje iOS i Android przy użyciu protokołu JSON Wire.

Serwer Appium wykonuje następujące czynności

  • Otrzymuje połączenie od klienta w postaci obiektu JSON przez HTTP
  • Zainicjuj sesję, a następnie zwróć identyfikator sesji
  • Nasłuchuje wydanych poleceń
  • Wykonuje te polecenia na urządzeniu mobilnym
  • Odpowiada odpowiedzią HTTP

Źródło

Kluczowe koncepcje Appium

Zanim zagłębimy się w architekturę Appium , najpierw zrozumiemy kluczowe koncepcje związane z architekturą Appium .

Klient Appium

Klient Appium to zautomatyzowany kod skryptowy napisany w dowolnym języku, który znasz (np. PHP, Java , Phyton itp.). Klient Appium przechowuje szczegóły konfiguracji urządzenia mobilnego i aplikacji wraz z logiką/kodem do uruchamiania przypadków testowych.

Serwer Appium

Serwer Appium to serwer HTTP napisany w języku programowania Node.js, który odbiera żądania połączeń i poleceń od klienta Appium w formacie JSON i wykonuje te polecenia na urządzeniu mobilnym. Appium Server jest uruchamiany przed wywołaniem kodu automatyzacji.

Serwer współdziała z platformami iOS i Android i tworzy sesję do interakcji z urządzeniami końcowymi aplikacji mobilnych.

Przeczytaj: 20 najpopularniejszych pomysłów i tematów na projekty Android dla początkujących

Urządzenie końcowe

Urządzenie końcowe to w większości urządzenie mobilne działające w czasie rzeczywistym lub emulator. Zautomatyzowane skrypty są wykonywane na urządzeniu końcowym przez serwer Appium na polecenie klienta.

Protokół JSON Wire

W architekturze Appium protokół JSON wire jest mechanizmem transportowym używanym do nawiązywania komunikacji między klientem Appium a serwerem Appium. Protokół ten kontroluje zachowanie różnych urządzeń mobilnych w trakcie sesji. Jest to zestaw predefiniowanych punktów końcowych udostępnianych za pośrednictwem interfejsu API RESTful. Na przykład, jeśli klient chce wysłać dane na serwer, konwertuje je na obiekt JSON i wysyła na serwer. Następnie serwer analizuje odebrany obiekt JSON i konwertuje go z powrotem na dane do użycia.

Architektura Appium

Przyjrzyjmy się teraz architekturze Appium .

Jak wspomniano powyżej, serwer Appium jest serwerem HTTP, który odczytuje żądania HTTP z bibliotek klienta w formacie JSON i wysyła te żądania do odpowiedniej platformy. Serwer Appium rozpoznaje te żądania i tworzy sesję automatyzacji z odpowiednim urządzeniem końcowym. Po utworzeniu sesji serwer Appium rozpoczyna wykonywanie przypadków testowych na urządzeniu końcowym.

Serwer Appium inaczej obsługuje żądania dla iOS i Androida, w zależności od platformy, na której jest uruchomiony. Poniższe sekcje wyjaśnią, w jaki sposób Appium różnie uruchamia polecenia na tych platformach.

Appium działający na urządzeniu z systemem iOS

Na urządzeniu z systemem iOS Appium wykorzystuje UIAutomation API (bibliotekę JavaScript dostarczoną przez firmę Apple) do łączenia się z elementami interfejsu użytkownika aplikacji.

Powyższy rysunek architektury Appium iOS opisuje architekturę Appium dla automatyzacji iOS. Odszyfrujmy krok po kroku rysunek architektury iOS Appium :

  • Klient Appium komunikuje się z serwerem Appium za pomocą protokołu JSON wire i wysyła polecenie w formacie JSON do serwera.
  • Serwer następnie nawiązuje połączenie z klientem i przekazuje żądanie do ICS (Instruments Command Server). Serwer Appium przesyła również plik bootstrap.js na urządzenie z systemem iOS. ICC (Instruments Command client) następnie pobiera polecenie i uruchamia je w pliku bootstrap.js w środowisku urządzenia iOS.
  • Po zakończeniu powyższej operacji, szczegóły dziennika wykonanego polecenia są przesyłane z powrotem do serwera przez klienta.

Appium działający na urządzeniu z Androidem

Na urządzeniu z Androidem Appium korzystałoby ze struktury UIAutomator opracowanej przez programistów Androida do interakcji z elementami interfejsu użytkownika aplikacji. Automator interfejsu użytkownika to platforma używana do testowania interfejsu użytkownika.

Powyższy rysunek architektury Appium Android opisuje architekturę Appium dla automatyzacji Androida. Powyższe liczby zastępują bootstrap.js przez bootsstarp.jar.

Dowiedz się: Android SDK: szczegółowy samouczek dla początkujących

Odszyfrujmy krok po kroku rysunek architektury Android Appium

  • Klient Appium komunikuje się z serwerem Appium za pomocą protokołu JSON wire i wysyła polecenie w formacie JSON do serwera.
  • Serwer Appium następnie nawiązuje połączenie z klientem i przekazuje żądanie do kontrolera ICS UiAutomator. Serwer Appium przesyła również plik bootstrap.jar na urządzenie z systemem Android. Polecenie UiAutomator klient następnie pobiera polecenie i uruchamia je w pliku bootstrap.jar w środowisku urządzenia z systemem Android.
  • Po zakończeniu powyższej operacji, szczegóły dziennika wykonanego polecenia są przesyłane przez klienta z powrotem do serwera Appium.

Przeczytaj także: Full-Stack vs Android Developer: który powinieneś wybrać

Wniosek

Appium to bez wątpienia jedna z najpopularniejszych platform do testowania aplikacji mobilnych. Do tej pory poznałeś omówienie architektury Appium , przepływu pracy i działania Appium na platformach iOS i Android.

Jeśli chcesz dowiedzieć się więcej o tworzeniu pełnego stosu oprogramowania, zapoznaj się z dyplomem PG upGrad i IIIT-B w zakresie pełnego tworzenia oprogramowania, który jest przeznaczony dla pracujących profesjonalistów i oferuje ponad 500 godzin rygorystycznych szkoleń, ponad 9 projektów i zadania, status absolwentów IIIT-B, praktyczne praktyczne projekty zwieńczenia i pomoc w pracy z najlepszymi firmami.

Przygotuj się na karierę przyszłości

AKTUALIZACJA I DYPLOM PG IIIT-BANGALORE W ROZWOJU OPROGRAMOWANIA PEŁNEGO STOSOWANIA
Aplikuj teraz