Samouczek APPIUM na Androida i amp; Testowanie aplikacji mobilnych na iOS

Spisie treści:

Anonim

Co to jest Appium?

APPIUM to swobodnie rozpowszechniany framework do testowania interfejsu użytkownika aplikacji mobilnych typu open source. Appium umożliwia testowanie aplikacji natywnych, hybrydowych i internetowych oraz obsługuje testy automatyzacji na urządzeniach fizycznych, a także w emulatorze lub symulatorze. Oferuje testowanie aplikacji wieloplatformowych, tzn. Pojedyncze API działa zarówno dla skryptów testowych platformy Android, jak i iOS.

NIE ma zależności od systemu operacyjnego urządzenia mobilnego. Ponieważ APPIUM ma strukturę lub opakowanie, które tłumaczy polecenia Selenium Webdriver na polecenia UIAutomation (iOS) lub UIAutomator (Android) w zależności od typu urządzenia, a nie typu systemu operacyjnego.

Appium obsługuje wszystkie języki, które mają biblioteki klienckie Selenium, takie jak - Java, Objective-C, JavaScript z node.js, PHP, Ruby, Python, C # itp.

W tym samouczku dowiemy się o

  • Jak działa APPIUM?
  • Warunek wstępny do korzystania z APPIUM
  • Zainstaluj Appium Desktop:
  • Inspektor APPIUM
  • Dołącz emulator Androida do Appium
  • Przypadek testowy APPIUM dla natywnej aplikacji na Androida (kalkulator)
  • Ograniczenia dotyczące korzystania z APPIUM
  • Typowe napotkane błędy i kroki rozwiązywania problemów w Appium

Jak działa APPIUM?

  • Appium to „serwer HTTP” napisany przy użyciu platformy Node.js, który obsługuje sesje iOS i Android przy użyciu protokołu przewodowego Webdriver JSON. Dlatego przed zainicjowaniem serwera Appium, Node.js musi być wstępnie zainstalowany w systemie.
  • Kiedy Appium jest pobierane i instalowane, na naszej maszynie konfigurowany jest serwer, który udostępnia REST API.
  • Odbiera połączenie i żądanie polecenia od klienta i wykonuje to polecenie na urządzeniach mobilnych (Android / iOS).
  • Odpowiada odpowiedziami HTTP. Ponownie, aby wykonać to żądanie, wykorzystuje platformy automatyzacji testów mobilnych do sterowania interfejsem użytkownika aplikacji. Ramy takie jak: -
    • Apple Instruments na iOS (instrumenty są dostępne tylko w Xcode 3.0 lub nowszym z OS X 10.5 i nowszym)
    • Google UIAutomator dla interfejsu API systemu Android na poziomie 16 lub wyższym
    • Selendroid dla poziomu interfejsu API systemu Android 15 lub niższego

Warunek wstępny do korzystania z APPIUM

  1. Zainstaluj ANDROID SDK (Studio) [Link] -
  2. Zainstaluj JDK (Java Development Kit) [łącze]
  3. Zainstaluj Eclipse [link]
  4. Zainstaluj TestNg dla Eclipse [link]
  5. Zainstaluj plik JAR serwera Selenium [Link]
  6. Biblioteka klienta Appium [link]
  7. Informacje o aplikacji APK w Google Play [Link]
  8. js (niewymagane - za każdym razem, gdy instalowany jest serwer Appium, domyślnie jest dostarczany z „Node.exe” i NPM. Jest zawarty w aktualnej wersji Appium).
  9. Zainstaluj Appium Desktop

Zainstaluj Appium Desktop:

Appium Studio to aplikacja GUI typu open source do instalacji serwera Appium. Jest dostarczany w pakiecie ze wszystkimi wymaganiami wstępnymi do zainstalowania i używania serwera Appium. Posiada również inspektora, który pozwala uzyskać podstawowe informacje o Twoich aplikacjach. Jest wyposażony w rejestrator do tworzenia standardowego kodu do automatyzacji aplikacji mobilnych.

Krok 1) Przejdź do http://appium.io/ i kliknij Pobierz Appium.

Krok 2) W systemie Windows wybierz plik exe i pobierz. Plik o wielkości około 162 MB zajmie trochę czasu, aby pobrać w zależności od szybkości Internetu.

Krok 3) Kliknij pobrany plik exe.

Krok 4) Na komputerze z systemem Windows nie ma potrzeby instalowania Appium. Działa bezpośrednio z exe. Po kliknięciu exe przez kilka minut zobaczysz następujący obraz.

W przypadku komputerów Mac musisz zainstalować plik dmg

Krok 5) Następnie zobaczysz okno uruchamiania serwera. Wypełnia domyślną opcję hosta i portu, które można zmienić. Wspomina również o używanej wersji Appium.

Krok 6) Po kliknięciu przycisku Start Server Button, nowy serwer jest uruchamiany na określonym hoście i porcie. Wyświetlane są dane wyjściowe dziennika serwera.

Krok 7) Kliknij Nowe okno sesji .

Krok 8) Możesz wprowadzić pożądane możliwości i rozpocząć sesję.

Inspektor APPIUM

Podobnie jak narzędzie do nagrywania i odtwarzania Selenium IDE, Appium ma „Inspektora” do nagrywania i odtwarzania. Rejestruje i odtwarza zachowanie aplikacji natywnej, sprawdzając DOM i generując skrypty testowe w dowolnym języku. Jednak obecnie nie ma wsparcia dla Appium Inspector dla Microsoft Windows. W systemie Windows uruchamia serwer Appium, ale nie sprawdza elementów. Jednak przeglądarka UIAutomator może być używana jako opcja do sprawdzania elementów.

Kroki, aby rozpocząć z Appium Inspector na komputerze Mac: -

Krok 1) Pobierz i uruchom serwer Appium z domyślnym adresem IP 0.0.0.0 i portem 4725.

  1. Wybierz plik źródłowy lub pliki .app z lokalnego do przetestowania.
  2. Zaznacz pole wyboru „Ścieżka aplikacji”, aby włączyć przycisk „Wybierz”.

Krok 2) Teraz kliknij przycisk „Wybierz”, aby przeglądać i wybierać plik testowy z dysku lokalnego.

Krok 3) Uruchom symulator na komputerze Mac.

Krok 4) Kliknij przycisk „Uruchom” w prawym górnym rogu, który włącza niebieską ikonę koloru. Ponownie kliknij tę niebieską ikonę, otworzy się inspektor Appium i symulator z wstępnie wybraną aplikacją.

Krok 5) - Uruchomienie Appium Inspector pokaże hierarchię elementów w strukturze kolumnowej. Ponadto użytkownik może stosować akcje za pomocą przycisków, takich jak stuknij, przesuń itp.

Krok 6) Kliknij przycisk „Stop”, aby zatrzymać nagrywanie.

Dołącz emulator Androida do Appium

Krok 1) Zainstaluj Android SDK w swoim systemie.

Przejdź do Panelu sterowania >> System i zabezpieczenia >> System iz lewego panelu kliknij „Zaawansowane ustawienia systemu”. W wyskakującym okienku „Właściwości systemu” kliknij kartę „Zaawansowane”, a następnie kliknij przycisk „Zmienne środowiskowe”.

Krok 2) Teraz w wyskakującym okienku „Zmienne środowiskowe” kliknij dwukrotnie „Ścieżka” i ustaw zmienną ANDROID_HOME wskazującą na katalog SDK. W ścieżce dołącz całą ścieżkę do folderu SDK.

np. -

C: \ Użytkownik \ ABC \ Desktop \ adt-bundled-windows-x86_64-20140321 \ sdk

Krok 3) Uruchom emulator Androida lub podłącz dowolne urządzenie z Androidem do swojego systemu (Upewnij się, że masz włączoną opcję debugowania Androida na swoim urządzeniu z Androidem. Aby sprawdzić opcję debugowania. Przejdź do Ustawienia urządzenia >> Opcje programisty >> Zaznacz „Opcja debugowania” ).

Krok 4) Otwórz wiersz polecenia i przejdź do katalogu \ platform-tools \ w zestawie SDK systemu Android (np. D: \ adt-bundle-windows-x86_64-20130514 \ sdk \ platform-tools).

Krok 5) - Uruchom polecenie „urządzenia adb”. Możesz zobaczyć podłączone urządzenie na liście w oknie wiersza polecenia. (W CMD wpisz '> urządzenia adb' - to polecenie wyświetli listę podłączonych instancji emulatora. Np .: adb -s emulator-5554 install )

Krok 6) - Uruchom polecenie „adb start-server”. Uruchomi serwer ADB, który będzie używany przez Appium do wysyłania poleceń do urządzenia z systemem Android.

Krok 7) Teraz przejdź do katalogu Appium w swoim systemie i uruchom Appium, klikając plik Appium.exe.

Krok 8) Nie zmieniaj adresu IP ani numeru portu i kliknij przycisk „Uruchom”. Twoja konsola Appium zaczyna się od 127.0.0.1:4723, jak pokazano poniżej.

Krok 9) Kliknij przycisk „Start”, serwer Appium zaczął działać w Twoim systemie.

Przypadek testowy APPIUM dla natywnej aplikacji na Androida (kalkulator)

Krok 1) ) Pobierz wtyczkę ADT eclipse lub pobierz pakiet ADT oddzielnie tutaj

Krok 2) Otwórz Eclipse i utwórz nowy projekt >> Pakiet >> Klasa

Krok 3) Zaimportuj bibliotekę Selenium i Testng do nowego projektu.

Krok 4) Teraz utwórz mały program testowy dla „Calculator.app”, aby zsumować dwie liczby.

pakiet src_Appium;import java.net.MalformedURLException;import java.net.URL;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.WebElement;// import org.openqa.selenium.remote.CapabilityType;import org.openqa.selenium.remote.DesiredCapabilities;import org.openqa.selenium.remote.RemoteWebDriver;import org.testng.annotations. *;kalkulator zajęć publicznych {Sterownik WebDriver;@Przed zajęciamipublic void setUp () zgłasza MalformedURLException {// Skonfiguruj żądane możliwości i przekaż aktywność aplikacji na Androida i pakiet aplikacji do AppiumMożliwości DesiredCapabilities = new DesiredCapabilities ();możliwości.setCapability ("BROWSER_NAME", "Android");możliwości.setCapability ("WERSJA", "4.4.2");możliwości.setCapability ("nazwa_urządzenia", "Emulator");możliwości.setCapability ("nazwa platformy", "Android");możliwości.setCapability ("appPackage", "com.android.calculator2");// Ta nazwa pakietu Twojej aplikacji (możesz ją pobrać z aplikacji apk info)możliwości.setCapability ("appActivity", "com.android.calculator2.Calculator"); // To jest aktywność Launchera Twojej aplikacji (możesz ją pobrać z aplikacji apk info)// Utwórz instancję RemoteWebDriver i połącz się z serwerem Appium// Uruchomi aplikację Kalkulator na urządzeniu z Androidem przy użyciu konfiguracji określonych w Pożądanych możliwościachdriver = new RemoteWebDriver (nowy adres URL („http://127.0.0.1:4723/wd/hub”), możliwości);}@Testpublic void testCal () zgłasza wyjątek {// zlokalizuj tekst w kalkulatorze za pomocą By.name ()WebElement two = driver.findElement (By.name ("2"));two.click ();WebElement plus = driver.findElement (By.name ("+"));plus.click ();WebElement four = driver.findElement (By.name ("4"));cztery.click ();WebElement equalTo = driver.findElement (By.name ());equalTo.click ();// zlokalizuj pole edycji kalkulatora za pomocą By.tagName ()WebElement results = driver.findElement (By.tagName ("EditText"));// Sprawdź obliczoną wartość w polu edycjiassert results.getText (). equals ("6"): "Wartość rzeczywista to: + results.getText () + "nie pasuje do oczekiwanej wartości: 6";}@Po zajęciachpublic void teardown () {// zamknij aplikacjędriver.quit ();}}

Appium Server i emulator Androida z 'AVD Manager' i kliknij Uruchom >> TestNG. Powyższy program uruchomi „Calculator.app” na wybranym emulatorze, a Wynik zostanie wyświetlony w konsoli Eclipse przy użyciu frameworka TestNG.

Ograniczenia dotyczące korzystania z APPIUM

  1. Appium nie obsługuje testów wersji Androida niższej niż 4.2
  2. Ograniczona obsługa testowania aplikacji hybrydowych. np .: nie można przetestować przełączania aplikacji z aplikacji internetowej na natywną i odwrotnie.
  3. Brak obsługi uruchamiania Appium Inspector w systemie Microsoft Windows.

Typowe napotkane błędy i kroki rozwiązywania problemów w Appium

Błąd Kroki rozwiązywania problemów
1. błąd: - Wymagane są następujące żądane możliwości, ale ich nie podano: nazwa urządzenia, nazwa platformy 1. Dodaj żądane możliwości: nazwę urządzenia, nazwę platformy w skrypcie APPIUM. np .: możliwości.setCapability ("nazwa_urządzenia", "Emulator"); możliwości.setCapability ("nazwa platformy", "Android");
2. błąd: nie można znaleźć adb. Ustaw zmienną środowiskową ANDROID_HOME na ścieżkę katalogu głównego Android SDK. 2. Prawdopodobnie musisz ustawić ścieżkę katalogu głównego SDK w systemowych „Zmienne środowiskowe” w kolumnie „Ścieżka”
3.error: org.openqa.selenium.SessionNotCreatedException: nie można utworzyć nowej sesji. 3. Musisz ustawić poprawną ścieżkę aplikacji i zrestartować serwer Appium.
4. Jak znaleźć element DOM lub XPath w aplikacji mobilnej? 4. Użyj 'UIAutomatorviewer', aby znaleźć element DOM dla aplikacji na Androida.