Appium – wprowadzenie

O Appium

Istnieje sporo narzędzi do automatyzacji testów e2e aplikacji mobilnych, część z nich przeznaczona jest do pracy z systemem Android, część do iOS, takie rozwiązania są bez wątpienia najlepsze, jeżeli pracujemy nad aplikacją przeznaczoną dla jednej platformy. Jednak w sytuacji kiedy przygotowywana jest aplikacja dla dwóch platform: lepiej jest wybrać narzędzie, które pozwoli przygotować automatyczne testy na obie platformy.

Jednym z takich rozwiązań jest Appium.

Założeniem twórców Appium było stworzenie open-source’owego rozwiązania, pozwalającego na:

  • Testowana powinna być niezmieniona wersja aplikacji;
  • Narzędzie do testów nie powinno ograniczać użytkownika do korzystania z jednego języka;
  • Maksymalizacja reużywalności testów dla wszystkich platform (brak konieczności pisania odrębnego kodu dla testów na Androidzie oraz iOS).

W efekcie, twórcy postawili na rozwiązanie opierające się na Selenium WebDriver. Architektura klient-serwer pozwala na korzystanie z tego samego API dla każdej platformy, wygląda ona (w uproszczeniu) tak:

Rozpoczynając sesję, użytkownik podaje jej parametry, w których informuje serwer, z jakiego urządzenia będzie korzystał, jakiego silnika chce użyć i jaką aplikację serwer ma uruchomić. O szczegółach napiszę w dalszych wpisach.

Dlaczego Appium?

Appium jest bez wątpienia wolniejsze od narzędzi przeznaczonych na konkretne platformy, jego zalet należy upatrywać zatem gdzie indziej 😉

Przede wszystkim, dla osoby, która – podobnie do mnie – przeszła z automatyzacji testów aplikacji webowych przy użyciu Selenium do testowania aplikacji mobilnych, przesiadka jest niemalże bezbolesna: interakcje z UI przy użyciu Appium definiowane są niemalże identycznie jak w Selenium.

Drugim dużym atutem jest możliwość odpalenia tych samych testów na iOS i Androidzie.

Trzecim, nie do przecenienia, plusem jest towarzysząca Appium społeczność (którą w przypadku części problemów można poszerzyć o społeczność Selenium).

I na koniec – z własnego doświadczenia – przy systemach w skład których wchodzi zarówno aplikacja jak i strona internetowa: ogromnym plusem jest możliwość współdzielenia rozwiązań pomiędzy testami aplikacji webowej i mobilnej.

Instalacja

Instalacja opisana jest pod tym linkiem: klik.

Jeżeli nie korzystamy z żadnego narzędzia do inspekcji aplikacji może nam się przydać wersja desktopowa, rozbudowana m.in. o możliwość odpalania inspektora (który może być bardzo pomocny przy tworzeniu lokatorów elementów UI).

 

Komentarze