selendroid tutorial android mobile test automation framework
Automatyzacja mobilna przy użyciu Selendroid (część I):
Do tej pory miliony aplikacji zostały już opracowane z wykorzystaniem Androida jako platformy, a ich liczba wciąż rośnie z dnia na dzień.
Haczyk polega na tym, jak zweryfikować każdą aplikację? Ponieważ będziemy wymagać dedykowanych zasobów, takich jak siła robocza, rzeczywiste urządzenia (np. Mobilne) itp., I znowu jest to zadanie czasochłonne. Z drugiej strony, wersja Androida, wersja aplikacji (.apk), wymiary urządzenia itp. Nie są stałe.
W związku z tym bardzo trudno jest zdefiniować kryteria zakończenia testów, ponieważ nie możemy zdefiniować pełnego zakresu testowania, a tym samym nie można przeprowadzić dokładnego oszacowania wysiłku testowego.
Aby przezwyciężyć zależność od urządzeń, opracowywane są emulatory, które mogą zapewnić środowisko czasu rzeczywistego, w którym możemy przetestować aplikację bez martwienia się o wersję Androida, urządzenia i ich wersję. Jednak nadal testowanie aplikacji (.apk) na emulatorze jest czynnością ręczną, a nawet zadaniem czasochłonnym. Stąd ewoluuje idea automatyzacji testów mobilnych.
Aby wykonać automatyzację mobilną, opracowano framework do automatyzacji testów, który umożliwia automatyzację aplikacji opartej na systemie Android przy użyciu języka skryptowego.
Istnieje wiele platform automatyzacji, takich jak Selendroid, Appium, Robotium, Espresso.
Ten samouczek jest podzielony na dwie części:
Samouczek nr 1 : Selendroid Wprowadzenie: Android Mobile Test Automation Framework
Samouczek nr 2: Jak używać frameworka Selendroid do automatyzacji interakcji użytkownika za pośrednictwem aplikacji mobilnej (wkrótce)
najlepsze miejsca do oglądania anime online za darmo
Czego się nauczysz:
- Co to jest Selendroid?
- Komponenty Selendroid
- Konfiguracja środowiska
- Pisanie pierwszego skryptu przy użyciu plików APK na rzeczywistych urządzeniach
- Wniosek
- rekomendowane lektury
Co to jest Selendroid?
Selendroid to niesamowite narzędzie do automatyzacji testów aplikacji mobilnych na Androida z kilkoma ważnymi funkcjami. Selendroid to bardzo potężne narzędzie do automatyzacji, które może współdziałać z wieloma urządzeniami jednocześnie, a aplikację można testować bez żadnych modyfikacji lub zmian za pomocą Selendroid.
Nazywa się to również „Selenium na Androida” do testowania natywnych i hybrydowych aplikacji mobilnych oraz sieci mobilnej.
Dlaczego Selendroid?
- Jest to open source (darmowe w użyciu)
- Obsługuje Selenium jako język skryptowy
- Obsługuje języki zgodne ze sterownikami sieciowymi, takie jak Java, C #, Perl
- Obsługuje wszystkie wersje Androida
- Działa zarówno na emulatorze, jak i na prawdziwym urządzeniu
- Działa na aplikacji natywnej, hybrydowej i internetowej
- Skuteczny podczas wykonywania aplikacji natywnych, jak również aplikacji chmurowych. ponieważ obsługuje siatkę selenową
- Obsługuje rozpoznawanie obiektów za pomocą właściwości obiektu
- Łatwe do wdrożenia
- Urządzenia sprzętowe można podłączać, odłączać od komputera podczas wykonywania testu, bez ponownego uruchamiania lub zatrzymywania testu. Selendroid może automatycznie rozpoznać nowe urządzenia. Ta funkcja jest znana jako „Hotplugging”
Prosta architektura Selendroid
Komponenty Selendroid
Selendroid - klient
Zasadniczo jest to biblioteka kliencka java. Z tego komponentu żądania HTTP i WebDriver są wysyłane przy użyciu formatu JSON do samodzielnego serwera Selendroid.
Selendroid - samodzielny
Ten składnik zarządza różnymi urządzeniami, a także .apk, instalując serwer Selendroid i testowaną aplikację. Żądanie HTTP (do wykonania na prawdziwym urządzeniu / symulatorze) jest wysyłane z samodzielnego serwera Selendroid do urządzenia i testowanego apk.
Selendroid - serwer
Ten serwer działa na urządzeniu wraz z testowaną aplikacją. Pomiędzy serwerem a testowaną aplikacją istnieje dwukierunkowa komunikacja.
AndroidDriverApp
Jest to wbudowany sterownik systemu Android, a także aplikacja Web View do testowania sieci mobilnej.
Kolejna platforma testowa o nazwie APPI działa podobnie do Selendroid.
Oto małe porównanie obu.
Funkcja | Selendroid | appium |
---|---|---|
Wsparcie dla niższej wersji Androida (<4.1) | tak | Nie |
Podłączanie na gorąco | tak | Nie |
Testowanie agenta użytkownika | Nie | tak |
Wsparcie dla aplikacji opartych na iOS | Nie | tak |
Wymagania środowiskowe | Android - Mac, Linux, Windows (dowolna wersja) | W przypadku systemu iOS - Mac OSX 107. Dla systemu Android - Windows 7+, Linux, Mac OSX 107. |
Wymagania wstępne:
Na początek, grupa docelowa powinna być bardzo świadoma korzystania z selenu, wszelkich narzędzi IDE, takich jak Eclipse itp. Podstawowe pojęcia programowania, np. Java, C itp.… I muszą być świadomi używania Mavena i innych narzędzi TESTOWYCH.
- Zainstaluj akcelerator emulatora Intel x86 (nie jest to obowiązkowe), aby wyświetlić symulator z poziomu tutaj
- Java SDK, JRE już zainstalowane w środowisku testowym. Alternatywnie możesz pobrać to samo z tutaj
Zanotuj ścieżkę SDK podczas instalacji.
Ustaw zmienne środowiskowe obecne w Mój komputer -> kliknij prawym przyciskiem myszy -> Właściwości -> Zaawansowane ustawienia systemu
- Eclipse jest już zainstalowane na Twoim komputerze. Jeśli nie, możesz również pobrać to samo z tutaj
- Należy pobrać pliki jar selenu. Możesz pobrać to samo stąd również
- Słoiki TestNG są już pobrane
- Android SDK do pobrania i zainstalowania. Możesz również pobrać to samo z tutaj
Podczas instalacji zanotuj ścieżkę Android SDK
Po pobraniu ANDROID_HOME należy ustawić w zmiennych środowiskowych obecnych w:
Mój komputer -> kliknij prawym przyciskiem myszy -> Właściwości -> Zaawansowane ustawienia systemu
- Pliki jar selendroid do pobrania. Możesz również pobrać to samo z tutaj
Zapamiętaj aby pobrać autonomiczny plik jar Selendroid z powyższej lokalizacji. Zwykle nazwa wygląda jak selendroid-standalone-0.9.0-with-dependencies.jar. Pobierz również jeden przykładowy plik APK o nazwie selendroid-test-app-0.8.0.apk z powyższej lokalizacji
Uwaga:
- Możemy również użyć repozytorium maven aby podać odniesienie do wszystkich słoików lub musisz pobrać je ręcznie i dołączyć do ścieżki kompilacji (Over Eclipse Project)
- Urządzenia / emulatory - w systemie Android wszystkie zainstalowane aplikacje będą miały rozszerzenie .apk. W inny sposób możesz pobierać aplikacje, takie jak APK Info, które poinformują Cię o liście aplikacji zainstalowanych na urządzeniu z Androidem oraz o ich rzeczywistej nazwie, rozmiarze itp.
Konfiguracja środowiska
# 1) Zachowaj plik APK, który ma zostać zainstalowany, w odpowiednim miejscu
W moim przypadku zatrzymałem to G: \ Jars \ selendroid-test-app-0.8.0.apk
# 2) Następnie zachowaj aplikację w folderze projektu
W moim przypadku tak 500: AppiumAutomation SelendroidFirst
# 3) Podłącz prawdziwe urządzenie do komputera
Upewnij się, że tryb debugowania USB jest włączony, a także zezwalasz na instalowanie aplikacji zewnętrznych przez połączenie USB.
jak otworzyć nowy projekt w Eclipse
Porady:
- Zapoznaj się z ustawieniem debugowania USB wymaganym dla telefonu komórkowego, powiedz Redmi Note 3 z tutaj
- Zezwalaj na zewnętrzną aplikację zainstalowaną przez USB, powiedz Redmi Note 3 from tutaj
# 4) Otwórz wiersz poleceń w systemie Windows
Przejdź do folderu, w którym znajduje się samodzielny słoik Selendroid, a także pobrany plik APK.
Teraz określ podobne polecenie i naciśnij klawisz Enter w wierszu polecenia
Na przykład. java --jar selendroid-standalone-0.15.0-with-dependencies.jar -aut selendroid-test-app-0.8.0.apk
Lub java –jar selendroid-standalone-0.15.0-with-dependencies.jar
Plik APK: test-selendroid-app-0.8.0.apk
Uwaga: Po wykonaniu powyższego polecenia upewnij się, że plik APK jest podpisany, a także rzeczywiste urządzenie jest podłączone do komputera, a debugowanie jest włączone na urządzeniu.
(Uwaga: Kliknij na zdjęcie, aby powiększyć)
Sprawdź następujące punkty w wierszu polecenia, aby upewnić się, że środowisko jest gotowe do automatyzacji:
- Sprawdź, czy pojawia się komunikat „Urządzenie określone z prawidłowym numerem”
- Sprawdź, czy pojawia się komunikat „serwer jest uruchomiony w domyślnym porcie, powiedzmy (4444)…”
- Sprawdź, czy pojawia się komunikat „Trwa tworzenie sesji…”
Ponownie zawsze możemy ponownie potwierdzić, czy serwer jest uruchomiony, czy nie, przy użyciu następującego adresu URL w dowolnej z przeglądarek internetowych.
na przykład http: // localhost: 4444 / wd / hub / status
# 5) Sprawdzanie APK
- Możemy korzystać z Real Apps, łącząc prawdziwe urządzenia mobilne
- Możemy użyć dowolnych pobranych plików APK offline
Selendroid Inspector jest przydatny w debugowaniu / inspekcji elementów internetowych APK.
Po zidentyfikowaniu i uruchomieniu urządzenia możemy wyświetlić plik APK (w trybie wirtualnym) i znaleźć odniesienia, które są przydatne do pisania skryptów, używając następującego adresu URL w dowolnej przeglądarce internetowej.
Na przykład: http: // localhost: 4444 / inspector
Tutaj mamy zrzut ekranu testowanej aplikacji i mamy możliwość sprawdzenia elementu.
Lub zawsze możesz użyć uiautomatorviewer aby znaleźć obiekty z testowanej aplikacji.
Domyślna ścieżka do tego jest wymieniona poniżej:
C: Users admin android-sdks tools
C: Users admin - Jest to lokalizacja, w której zainstalowałem pakiet SDK systemu Android, ale może się ona różnić w zależności od lokalizacji określonej podczas instalacji.
reszta api pytania i odpowiedzi do wywiadu
Pisanie pierwszego skryptu przy użyciu plików APK na rzeczywistych urządzeniach
Cel:
- Uruchom serwer (na domyślnym porcie powiedz 4444)
- Utwórz sesję
- Zainstaluj aplikację (plik .apk) na podłączonym urządzeniu rzeczywistym
- Zautomatyzuj pole tekstowe za pomocą niektórych danych
- Automatycznie kliknij przycisk
package SelendroidFirst; import io.selendroid.client.SelendroidDriver; import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.HttpClientBuilder; import io.selendroid.common.SelendroidCapabilities; import io.selendroid.common.device.DeviceTargetPlatform; import io.selendroid.standalone.SelendroidConfiguration; import io.selendroid.standalone.SelendroidLauncher; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.testng.annotations.AfterSuite; import org.testng.annotations.BeforeSuite; import org.testng.annotations.Test; import java.net.MalformedURLException; import java.net.URL; import org.openqa.selenium.remote.*; import static org.openqa.selenium.remote.CapabilityType.BROWSER_NAME; import static org.openqa.selenium.remote.CapabilityType.PLATFORM; import static org.openqa.selenium.remote.CapabilityType.VERSION; public class RealDevices{ public SelendroidLauncher selendroidServer = null; public WebDriver driver = null; public void conf() throws Exception { //**Configuration**// SelendroidConfiguration config = new SelendroidConfiguration(); config.addSupportedApp('G:\Jars\selendroid-test-app-0.8.0.apk'); SelendroidLauncher selendroidServer = new SelendroidLauncher(config); selendroidServer.launchSelendroid(); //**Creating capabilities**// SelendroidCapabilities sc = new SelendroidCapabilities(); sc.setAut('io.selendroid.testapp:0.8.0'); sc.setEmulator(false); //**Instantiating new Selendroid driver**// WebDriver driver = new SelendroidDriver(sc); //**Sending data to the text field**// driver.findElement(By.id('my_text_field')).sendKeys('Selendroid Test'); //**Clicking on the button**// driver.findElement(By.id('visibleButtonTest')).click(); Thread.sleep(10000); }
Wniosek
Selendroid to bardzo potężne narzędzie do testów automatyzacji, które może być używane do testowania aplikacji natywnej, hybrydowej, a także aplikacji internetowej na dowolnym urządzeniu z Androidem, a także symulatorze.
Obsługuje Hotplugging, co oznacza, że użytkownik może testować wiele urządzeń jednocześnie, dlatego równoległe wykonywanie testów jest możliwe na wielu urządzeniach. Obsługuje różne rodzaje interakcji, takie jak długie naciśnięcie, dotykanie itp.
Jedyną złożonością jest konfiguracja środowiska, która występuje również w innych ramach. Po prawidłowym skonfigurowaniu możemy bezproblemowo uruchomić nasze skrypty.
Wczęść 2tego samouczka Selendoid, zajmiemy się - Jak używać frameworka Selendroid do automatyzacji interakcji użytkownika w aplikacji mobilnej.
W następnym artykule omówimy więcej ClPochmurny samouczek praktycznej recenzji.
rekomendowane lektury
- Dogłębne samouczki dotyczące Eclipse dla początkujących
- Zobacz samouczek automatyzacji testów: przewodnik po narzędziu do automatyzacji testów mobilnych
- Samouczek Java Collections Framework (JCF)
- Samouczek dotyczący refleksji w języku Java z przykładami
- Samouczek Ranorex: Potężne narzędzie do testowania automatyzacji komputerów stacjonarnych, sieci Web i urządzeń mobilnych
- Samouczek Appium do testowania aplikacji mobilnych na Androida i iOS
- Używanie Selendroid do automatyzacji interakcji użytkownika za pośrednictwem aplikacji mobilnej (część 2)
- Zaawansowane wykorzystanie SeeTest Automation w projekcie automatyzacji mobilnej w czasie rzeczywistym