Appium Samouczek dla początkujących

⚡ Inteligentne podsumowanie

Appium Samouczek dla Android i iOS Mobile Apps Testing wprowadzają platformę automatyzacji interfejsu użytkownika typu open source, która umożliwia tworzenie aplikacji natywnych, hybrydowych i internetowych na obu platformach za pomocą jednego Selenium-zgodnego API. Ten przewodnik wyjaśnia, jak Appium prace, kroki instalacji, inspektor, załącznik emulatora i Java Przypadek testowy kalkulatora.

  • 📱 Definicja podstawowa: Appium to platforma automatyzacji interfejsu użytkownika urządzeń mobilnych typu open source, która obsługuje aplikacje natywne, hybrydowe i internetowe Android i iOS poprzez jeden interfejs API.
  • 🔌 Model serwera HTTP: Appium działa jako serwer HTTP Node.js, który tłumaczy polecenia JSON WebDriver na wywołania automatyzacji specyficzne dla platformy.
  • 🧰 Stos narzędzi: Wymagane warunki wstępne obejmują: Android Zestaw SDK, JDK, Eclipse, TestNG, Selenium Serwer JAR, Appium biblioteka klienta i Appium Pulpit.
  • 🔍 Inspektor i Rejestrator: Appium Inspektor sprawdza hierarchie elementów i generuje szablonowe skrypty, natomiast UIAutomator Viewer jest Windows awaryjny.
  • Java Przepływ pracy testowej: Użyj DesiredCapabilities, RemoteWebDriver i TestNG adnotacje do uruchamiania i sprawdzania poprawności natywnej Android aplikacje takie jak Kalkulator.

Appium Samouczek dla Android i testowanie aplikacji mobilnych iOS

Czym jest Appium?

Appium jest swobodnie dystrybuowaną aplikacją mobilną typu open source testowanie Ramy. Appium Umożliwia testowanie aplikacji natywnych, hybrydowych i internetowych oraz obsługuje automatyzację na urządzeniach fizycznych, a także na emulatorach i symulatorach. Oferuje testowanie aplikacji wieloplatformowych — jedno API działa dla obu. Android i skrypty testowe iOS.

Appium ma Nie zależność od systemu operacyjnego urządzenia mobilnego. Struktura obejmuje i tłumaczy Selenium Polecenia WebDriver do UIAutomation (iOS) lub UIAutomator (Android) polecenia zależą od typu urządzenia, a nie od wersji systemu operacyjnego.

Appium obsługuje każdy język, który ma Selenium biblioteki klienckie — Java, Cel C, JAVASCRIPT z Node.js, PHP, Ruby, Python, C#.

Jak działa Appium Praca?

  • Appium jest serwerem HTTP napisanym na node.js platforma, która obsługuje iOS i Android Sesje z wykorzystaniem protokołu WebDriver JSON. Node.js musi być preinstalowany w systemie przed rozpoczęciem Appium serwer.
  • Kiedy Appium Po pobraniu i zainstalowaniu, na komputerze lokalnym konfigurowany jest serwer udostępniający interfejs API REST.
  • Serwer przyjmuje żądania połączenia i poleceń od klienta i wykonuje polecenia na urządzeniu mobilnym (Android lub iOS).
  • Odpowiada odpowiedziami HTTP. Aby wykonać żądania, Appium wywołuje natywne struktury automatyzacji mobilnej w celu sterowania interfejsem użytkownika aplikacji:
    • Apple Instruments na iOS (Instrumenty są dostępne tylko w Xcode 3.0 lub nowszy z systemem OS X v10.5 i nowszymi).
    • Google UIAutomator dla Android Poziom API 16 lub wyższy.
    • Selendroid dla Android Poziom API 15 lub niższy.

Wymagania wstępne do użycia Appium

  1. Zainstalować Android SDK (Studio) [Połączyć].
  2. Zainstalować JDK (Java Zestaw deweloperski) [Połączyć].
  3. Zainstalować Eclipse [Połączyć].
  4. Zainstalować TestNG dla Eclipse [Połączyć].
  5. Zainstalować Selenium Serwer JAR [Połączyć].
  6. Appium Biblioteka klienta [Połączyć].
  7. Informacje o aplikacji APK on Google Grać [Połączyć].
  8. node.js (nie jest to ściśle wymagane — gdy Appium Serwer jest zainstalowany, Node.exe i NPM są dołączone do bieżącego Appium wersja).
  9. Zainstalować Appium Stacjonarny.

Zainstalować Appium Stacjonarny

Appium Desktop to aplikacja GUI typu open source, która instaluje i uruchamia Appium Serwer. Zawiera wszystkie elementy niezbędne do korzystania z niego. Appium Serwer jest dostarczany z Inspektorem wyświetlającym podstawowe informacje o aplikacjach oraz Rejestratorem generującym standardowy kod automatyzujący aplikacje mobilne.

Krok 1) Iść do http://appium.io/ i kliknij Pobierz Appium.

Appium oficjalna strona pobierania

Krok 2) Dla litu szacuje się WindowsWybierz plik .exe i pobierz go. Plik ma około 162 MB i jego pobranie zajmie trochę czasu, w zależności od szybkości Twojego łącza internetowego.

Dodaj Windows Appium Instalator pulpitu

Krok 3) Kliknij pobrany plik .exe.

Uruchom Appium Plik wykonywalny instalatora pulpitu

Krok 4) Na Windows na komputerze nie ma kreatora instalacji — Appium uruchamia się bezpośrednio z pliku .exe. Po kliknięciu pliku .exe przez kilka minut wyświetla się poniższy komunikat.

Appium Animacja ładowania pulpitu

Dla litu szacuje się macOS, musisz zainstalować .dmg.

Krok 5) Otworzy się okno startowe serwera. Wprowadzone zostaną domyślne dane hosta i portu (które można zmienić) oraz wyświetlone zostaną Appium wersja w użyciu.

Appium Okno startowe serwera z hostem i portem

Krok 6) Kliknij Uruchom serwer. Nowy serwer zostaje uruchomiony na określonym hoście i porcie, a dane wyjściowe dziennika serwera pojawiają się w konsoli.

Appium Wyjście dziennika serwera po uruchomieniu

Krok 7) Kliknij Nowe okno sesji.

Otwórz nowe okno sesji w Appium Stacjonarny

Krok 8) Wprowadź pożądane możliwości i rozpocznij sesję.

Aby rozpocząć, wprowadź pożądane możliwości Appium Sesja

Appium Inspektor

Podobnego do Selenium Narzędzie IDE do nagrywania i odtwarzania, Appium ma Inspektor Do rejestrowania i odtwarzania testów. Rejestruje i odtwarza natywne zachowanie aplikacji poprzez inspekcję DOM i generuje skrypty testowe w dowolnym obsługiwanym języku. Należy pamiętać, że Appium Inspektor nie jest obsługiwany na Microsoft Windows: on Windows uruchamia Appium Serwer, ale nie może sprawdzić elementów. Zalecanym rozwiązaniem awaryjnym do sprawdzania elementów jest przeglądarka UIAutomator Viewer. Windows.

Kroki do rozpoczęcia Appium Inspektor na komputerze Mac:

Krok 1) Pobierz i rozpocznij swój Appium serwer używając domyślnego adresu IP 0.0.0.0 i portu 4725.

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

Krok 2) Kliknij przycisk „Wybierz”, aby przejść do pliku testowego na dysku lokalnym i wybrać go.

Appium Wybór ścieżki aplikacji inspektora na komputerze Mac

Krok 3) Uruchom symulator iOS na komputerze Mac.

Krok 4) Kliknij ikonę Premiera przycisk w prawym górnym rogu. Włącza to niebieską ikonę — kliknij ją, aby otworzyć Appium Inspektor i symulator z wybraną aplikacją.

Premiera Appium Inspektor z symulatorem iOS

Krok 5) Po uruchomieniu Appium Inspektor pokazuje hierarchię elementów w strukturze kolumnowej. Użytkownik może również wykonywać akcje takie jak stuknięcie, przesunięcie i podobne gesty.

Appium Widok hierarchii elementów inspektora

Krok 6) Kliknij Stop aby zakończyć nagrywanie.

Dołącz Android Emulator do Appium

Krok 1) Zainstalować Android SDK w Twoim systemie.

Otwórz Panel sterowania > System i zabezpieczenia > System. W lewym panelu kliknij Ustawienia systemowe ZaawansowaneW oknie Właściwości systemu kliknij Zaawansowany kartę, a następnie Zmienne środowiskowe.

Otwórz zmienne środowiskowe Windows

Krok 2) W oknie podręcznym Zmienne środowiskowe kliknij dwukrotnie ścieżka i ustaw ANDROID_HOME Zmienna wskazuje na katalog SDK. Dodaj pełną ścieżkę do folderu SDK. Na przykład:

C:\User\ABC\Desktop\adt-bundled-windows-x86_64-20140321\sdk

Ustaw ANDROID_HOME w zmiennych środowiskowych

Krok 3) Rozpocznij Android emulator lub podłącz Android urządzenie do systemu. Upewnij się, że debugowanie USB jest włączone na Android urządzenie: przejdź do Ustawień urządzenia > Opcje programistyczne > włącz „Debugowanie USB”.

Krok 4) Otwórz wiersz poleceń i przejdź do Android SDK-i \platform-tools\ katalog (na przykład, D:\adt-bundle-windows-x86_64-20130514\sdk\platform-tools).

Krok 5) Uruchom adb devices polecenie. Twoje podłączone urządzenie pojawi się na liście w oknie wiersza poleceń. Pełna nazwa to: adb -s emulator-5554 install <Location of .apk file>.

Wyjście polecenia adb devices pokazujące podłączony emulator

Krok 6) Uruchom adb start-server polecenie. Serwer ADB uruchamia się i Appium użyje go do wysyłania poleceń do twojego Android urządzeń.

Krok 7) Nawiguj do Appium katalog w systemie i uruchom Appium klikając przycisk Appiumplik .exe.

Krok 8) Nie zmieniaj domyślnego adresu IP ani numeru portu. Kliknij Premiera. Twój Appium konsola zaczyna się od 127.0.0.1:4723, jak pokazano poniżej.

Appium konsola działa na 127.0.0.1:4723

Krok 9) Kliknij Rozpocznij, Appium Serwer jest teraz uruchomiony w Twoim systemie.

Appium Przypadek testowy dla natywnego Android Aplikacja (kalkulator)

Krok 1) Pobierz ADT Eclipse wtyczkę lub pobierz pakiet ADT osobno w tym miejscu.

Krok 2) Otwarte Eclipse i utwórz nowy Projekt > Pakiet > Klasa.

Krok 3) Importuj Selenium biblioteka i TestNG do nowego projektu.

Krok 4) Utwórz mały program testowy dla Aplikacja Kalkulator co daje sumę dwóch liczb.

package 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.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.testng.annotations.*;

public class Calculator {
    WebDriver driver;

    @BeforeClass
    public void setUp() throws MalformedURLException {
        // Set up desired capabilities and pass the Android app activity and package to Appium
        DesiredCapabilities capabilities = new DesiredCapabilities();
        capabilities.setCapability("BROWSER_NAME", "Android");
        capabilities.setCapability("VERSION", "4.4.2");
        capabilities.setCapability("deviceName", "Emulator");
        capabilities.setCapability("platformName", "Android");

        capabilities.setCapability("appPackage", "com.android.calculator2");
        // Package name of the app (get it from an APK info app)
        capabilities.setCapability("appActivity", "com.android.calculator2.Calculator");
        // Launcher activity of the app (get it from an APK info app)

        // Create a RemoteWebDriver instance and connect to the Appium server
        // Launches the Calculator app on the Android device using the capabilities above
        driver = new RemoteWebDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
    }

    @Test
    public void testCal() throws Exception {
        // Locate the keys on the calculator 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"));
        four.click();
        WebElement equalTo = driver.findElement(By.name("="));
        equalTo.click();
        // Locate the calculator output by tag name
        WebElement results = driver.findElement(By.tagName("EditText"));
        // Check the calculated value on the edit box
        assert results.getText().equals("6") :
            "Actual value is : " + results.getText() + " did not match with expected value: 6";
    }

    @AfterClass
    public void teardown() {
        // Close the app
        driver.quit();
    }
}

Zacząć Appium Serwer i Android Emulator z Menedżera AVD, a następnie kliknij Uruchom > TestNGProgram uruchamia aplikację Calculator.app na wybranym emulatorze, a wynik jest wyświetlany w Eclipse konsola za pomocą TestNG Ramy.

Ograniczenia Appium

  1. Appium nie obsługuje testowania na Android wersje niższe niż 4.2.
  2. Ograniczone wsparcie dla testowania aplikacji hybrydowych — na przykład nie można przetestować przełączania się między widokiem internetowym a widokiem natywnym w żadnym kierunku.
  3. Brak wsparcia dla biegania Appium Inspektor włączony Microsoft Windows.

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

Błąd Kroki rozwiązywania problemów
błąd: Wymagane są następujące pożądane możliwości, ale nie zostały one podane: deviceName, platformName Dodaj pożądane możliwości deviceName oraz platformName do Appium skrypt. Na przykład: capabilities.setCapability("deviceName", "Emulator"); oraz capabilities.setCapability("platformName", "Android");
błąd: Nie można znaleźć adb. Ustaw zmienną środowiskową ANDROID_HOME za pomocą Android Ścieżka katalogu głównego pakietu SDK. Ustaw katalog główny zestawu SDK w zmiennych środowiskowych systemu, w pozycji Ścieżka.
błąd: org.openqa.selenium.SessionNotCreatedException: Nie można utworzyć nowej sesji. Ustaw prawidłową ścieżkę aplikacji i uruchom ponownie Appium serwer.
Jak znaleźć element DOM lub XPath w aplikacji mobilnej? Użyj przeglądarki UIAutomator Viewer do sprawdzenia elementów DOM Android aplikacji.

FAQ

Selenium automatyzuje przeglądarki internetowe; Appium automatyzuje aplikacje mobilne. Appium ponownie wykorzystuje protokół WebDriver, więc Selenium użytkownicy szybko to przyjmują, ale Appium obsługuje również aplikacje natywne, hybrydowe i mobilne w sieci Android i iOS poprzez specyficzne dla danej platformy mechanizmy automatyzacji.

Appium obsługuje każdy język, który ma Selenium Klient WebDriver, w tym Java, Python, JavaSkrypt z Node.js, Ruby, C#, PHP i Objective-C. To sprawia, że Appium można je dostosować do różnych zespołów inżynierskich, bez konieczności zmiany języka.

Tak. Appium Testuje aplikacje natywne zainstalowane na urządzeniu, aplikacje hybrydowe z wbudowanymi widokami internetowymi oraz aplikacje mobilne działające w przeglądarkach Chrome lub Safari. Wszystkie trzy typy aplikacji obsługuje pojedynczy interfejs API oparty na WebDriver, co upraszcza konserwację testów międzyplatformowych.

Sztuczna inteligencja poprawia się Appium pakiety za pomocą samonaprawiających się lokalizatorów, walidacji wizualnej i generowanych przez sztuczną inteligencję kroków testowych. Silniki AI wykrywają dryf lokalizatora w aktualizacjach aplikacji, rekomendują stabilne alternatywy dla XPath i automatycznie klasyfikują niestabilne testy, dzięki czemu inżynierowie mogą skupić się na rzeczywistych defektach, a nie na konserwacji.

Tak. Narzędzia do testowania urządzeń mobilnych oparte na sztucznej inteligencji analizują ekrany aplikacji, identyfikują elementy interaktywne i generują Appium Skrypty z pożądanymi możliwościami i lokalizatorami. Następnie testerzy przeglądają i udoskonalają skrypty, co zmniejsza liczbę szablonów i przyspiesza proces wdrażania nowych zespołów. Appium automatyzacja.

Podsumuj ten post następująco: