Appium Tutorial pentru începători

⚡ Rezumat inteligent

Appium Tutorial pentru Android și iOS Mobile Apps Testing introduce un cadru de automatizare a interfeței utilizator open-source care gestionează aplicații native, hibride și web pe ambele platforme cu un singur dispozitiv SeleniumAPI compatibil. Acest ghid explică cum Appium funcționează, pașii de instalare, Inspectorul, atașamentul emulatorului și un Java Caz de testare al calculatorului.

  • ???? Definiția de bază: Appium este un framework open-source de automatizare a interfeței utilizator mobile care acceptă aplicații native, hibride și web în Android și iOS printr-o singură API.
  • 🔌 Modelul serverului HTTP: Appium rulează ca un server HTTP Node.js care traduce comenzile Wire JSON WebDriver în apeluri de automatizare specifice platformei.
  • 🧰 Stivă de scule: Cerințele preliminare necesare includ Android SDK, JDK, Eclipse, TestNG, Selenium JAR-ul serverului, Appium biblioteca clientului și Appium Spațiul de lucru.
  • 🔍 Inspector și registrator: Appium Inspector inspectează ierarhiile elementelor și generează scripturi standard, în timp ce UIAutomator Viewer este Windows da înapoi.
  • Java Flux de lucru pentru testare: Folosește DesiredCapabilities, RemoteWebDriver și TestNG adnotări pentru lansarea și validarea fișierelor native Android aplicații precum Calculatorul.

Appium Tutorial pentru Android și testarea aplicațiilor mobile iOS

Ce Este Appium?

Appium este o interfață cu utilizatorul pentru aplicații mobile open-source, distribuită gratuit de testare cadru. Appium permite testarea aplicațiilor native, hibride și web și acceptă automatizarea atât pe dispozitive fizice, cât și pe emulatoare și simulatoare. Oferă testare a aplicațiilor multiplatformă — o singură API funcționează pentru ambele Android și scripturi de testare iOS.

Appium are Nu. dependență de sistemul de operare al dispozitivului mobil. Framework-ul încapsulează și traduce Selenium Comenzile WebDriver în UIAutomation (iOS) sau UIAutomator (Android) comenzi în funcție de tipul dispozitivului, nu de versiunea sistemului de operare subiacent.

Appium suportă fiecare limbă care are Selenium biblioteci client — Java, Obiectiv-C, JavaScenariu cu Node.js, PHP, Ruby, Python, C#, Și mai mult.

Cum se Appium Muncă?

  • Appium este un server HTTP scris pe Node.js platformă care susține iOS și Android sesiuni folosind protocolul WebDriver JSON wire. Node.js trebuie preinstalat pe sistem înainte de a porni Appium Server.
  • Atunci când Appium După ce este descărcat și instalat, pe mașina locală se configurează un server care expune o API REST.
  • Serverul acceptă cereri de conectare și comenzi de la client și execută comenzile pe un dispozitiv mobil (Android sau iOS).
  • Răspunde cu răspunsuri HTTP. Pentru a executa cereri, Appium apeluri către framework-uri native de automatizare mobilă pentru a gestiona interfața cu utilizatorul a aplicației:
    • Apple Instruments pentru iOS (Instrumentele sunt disponibile numai în Xcode 3.0 sau o versiune ulterioară cu OS X v10.5 și o versiune ulterioară).
    • Google UIAutomator pentru Android Nivel API 16 sau superior.
    • Selendroid pentru Android Nivel API 15 sau inferior.

Cerințe preliminare pentru utilizare Appium

  1. Instalare Android SDK (Studio) [Link].
  2. Instalare JDK (Java Kit de dezvoltare) [Link].
  3. Instalare Eclipse [Link].
  4. Instalare TestNG pentru Eclipse [Link].
  5. Instalare Selenium JAR server [Link].
  6. Appium Biblioteca client [Link].
  7. Informații despre aplicația APK on Google Redare [Link].
  8. Node.js (nu este strict necesar — ​​când Appium Serverul este instalat, Node.exe și NPM sunt incluse în pachetul curent Appium versiune).
  9. Instalare Appium Desktop.

Instalare Appium Desktop

Appium Desktop este o aplicație GUI open-source care instalează și rulează Appium Server. Vine la pachet cu toate cerințele necesare pentru a utiliza Appium Server și este livrat cu un Inspector pentru a scoate la iveală informații de bază despre aplicațiile dvs. și un Recorder pentru a genera cod standard care automatizează aplicațiile mobile.

Pas 1) Accesează http://appium.io/ și faceți clic pe Descărcare Appium.

Appium pagina oficială de descărcare

Pas 2) Pentru Windows, selectați fișierul .exe și descărcați-l. Fișierul are aproximativ 162 MB și va dura ceva timp până se va descărca, în funcție de viteza conexiunii la internet.

Alege Windows Appium Instalator desktop

Pas 3) Faceți clic pe fișierul .exe descărcat.

Alerga Appium Executabilul programului de instalare pentru desktop

Pas 4) Pe o Windows mașină, nu există un expert de instalare — Appium rulează direct din fișierul .exe. După ce faceți clic pe fișierul .exe, apare următoarea fereastră de prezentare timp de câteva minute.

Appium Animație de încărcare pe desktop

Pentru macOS, trebuie să instalați fișierul .dmg.

Pas 5) Se deschide fereastra Pornire server. Aceasta completează gazda și portul implicite (pe care le puteți modifica) și afișează Appium versiune în uz.

Appium Fereastra de pornire a serverului cu gazdă și port

Pas 6) Clic Porniți ServerUn server nou este lansat pe gazda și portul specificate, iar jurnalul serverului apare în consolă.

Appium Ieșirea jurnalului serverului după pornire

Pas 7) Clic Fereastră nouă de sesiune.

Deschideți o fereastră de sesiune nouă în Appium Desktop

Pas 8) Introduceți Capacitățile Dorite și începeți o sesiune.

Introduceți capacitățile dorite pentru a începe Appium sesiune

Appium Inspector

În mod similar cu Selenium instrument IDE de înregistrare și redare, Appium are un Inspector pentru înregistrarea și redarea testelor. Înregistrează și redă comportamentul aplicației native prin inspectarea DOM-ului și generează scripturi de testare în orice limbaj acceptat. Rețineți că Appium Inspectorul nu este compatibil cu Microsoft Windows: pe Windows lansează Appium Server, dar nu reușește să inspecteze elementele. UIAutomator Viewer este soluția recomandată pentru inspectarea elementelor pe Windows.

Pași pentru a începe Appium Inspector pe un computer Mac:

Pas 1) Descărcați și începeți Appium server utilizând adresa IP implicită 0.0.0.0 și portul 4725.

  1. Selectați fișierul sursă sau fișierul .app de pe unitatea locală pentru testare.
  2. Bifați caseta de selectare „Calea aplicației” pentru a activa butonul „Alegeți”.

Pas 2) Faceți clic pe butonul „Alegeți” pentru a căuta și a selecta fișierul de test de pe unitatea locală.

Appium Selectarea căii aplicației Inspector pe Mac

Pas 3) Porniți simulatorul iOS pe calculatorul Mac.

Pas 4) Apasă pe Lansa butonul din colțul din dreapta sus. Aceasta activează o pictogramă albastră — faceți clic pe pictograma respectivă pentru a deschide Appium Inspector și Simulator cu aplicația preselectată.

Lansa Appium Inspector cu Simulator iOS

Pas 5) Odată lansat, Appium Inspectorul afișează ierarhia elementelor într-o structură pe coloane. Utilizatorul poate aplica, de asemenea, acțiuni precum Atingere, Glisare și gesturi similare.

Appium Vizualizare ierarhică a elementelor Inspector

Pas 6) Clic Stop pentru a termina înregistrarea.

Atașați un Android Emulator pentru Appium

Pas 1) Instalare Android SDK-ul pe sistemul dumneavoastră.

Deschideți Panou de control > Sistem și securitate > Sistem. Din panoul din stânga, faceți clic pe Setari de sistem avansateÎn fereastra pop-up Proprietăți sistem, faceți clic pe Avansat fila și apoi variabile de mediu.

Deschideți variabilele de mediu activate Windows

Pas 2) Din fereastra pop-up Variabile de mediu, faceți dublu clic pe Cale și setați tasta ANDROID_HOME variabilă pentru a indica directorul SDK-ului. Adăugați calea completă la folderul SDK. De exemplu:

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

Setați ANDROID_HOME în Variabilele de mediu

Pas 3) Începeți un Android emulator sau atașați un Android dispozitivul pe sistemul dvs. Asigurați-vă că depanarea USB este activată pe Android dispozitiv: accesați Setări dispozitiv > Opțiuni dezvoltator > activați „Depanare USB”.

Pas 4) Deschideți Linia de comandă și navigați la Android SDK-uri \platform-tools\ director (de exemplu, D:\adt-bundle-windows-x86_64-20130514\sdk\platform-tools).

Pas 5) Pornește adb devices comandă. Dispozitivul conectat va apărea listat în fereastra Prompt de comandă. Formularul complet este: adb -s emulator-5554 install <Location of .apk file>.

Ieșirea comenzii adb devices afișează emulatorul conectat

Pas 6) Pornește adb start-server comandă. Serverul ADB pornește și Appium îl va folosi pentru a trimite comenzi către dvs. Android dispozitiv.

Pas 7) Navigați către Appium directorul din sistemul dvs. și porniți Appium dând clic pe Appiumfișier .exe.

Pas 8) Nu modificați adresa IP implicită sau numărul de port. Faceți clic pe Lansa. Ta Appium Consola pornește la 127.0.0.1:4723, așa cum se arată mai jos.

Appium consolă care rulează pe 127.0.0.1:4723

Pas 9) Clic acasă. Appium Serverul rulează acum pe sistemul dumneavoastră.

Appium Caz de testare pentru un nativ Android Aplicație (Calculator)

Pas 1) Descărcați ADT-ul Eclipse plugin sau preluați pachetul ADT separat de la aici.

Pas 2) Operatii Deschise Eclipse și creați un nou Proiect > Pachet > Clasă.

Pas 3) Importați fișierul Selenium bibliotecă și TestNG în noul proiect.

Pas 4) Creați un mic program de testare pentru Calculator.app care însumează două numere.

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();
    }
}

Porniți Appium Serverul și Android Emulator din AVD Manager, apoi faceți clic pe Executare > TestNGProgramul rulează Calculator.app pe emulatorul selectat, iar rezultatul este afișat în Eclipse consolă folosind TestNG cadru.

Limitări ale Appium

  1. Appium nu acceptă testarea pe Android versiuni mai mici decât 4.2.
  2. Suport limitat pentru testarea aplicațiilor hibride — de exemplu, nu este posibil să se testeze acțiunea de comutare între o vizualizare web și o vizualizare nativă în niciuna dintre direcții.
  3. Fără suport pentru alergare Appium Inspectorul pornit Microsoft Windows.

Erori frecvente și pași de depanare în Appium

Eroare Pași de depanare
eroare: Următoarele capabilități dorite sunt necesare, dar nu au fost furnizate: deviceName, platformName Adăugați capacitățile dorite deviceName și platformName la Appium scenariu. De exemplu: capabilities.setCapability("deviceName", "Emulator"); și capabilities.setCapability("platformName", "Android");
eroare: Nu s-a putut găsi adb. Setați variabila de mediu ANDROID_HOME cu Android Calea directorului rădăcină SDK. Setați directorul rădăcină SDK în variabilele de mediu ale sistemului, sub intrarea Path.
eroare: org.openqa.selenium.SessionNotCreatedException: Nu s-a putut crea o sesiune nouă. Setați o cale corectă pentru aplicație și reporniți Appium Server.
Cum să găsești un element DOM sau XPath într-o aplicație mobilă? Folosește UIAutomator Viewer pentru a inspecta elementele DOM Android aplicatii.

Întrebări frecvente

Selenium automatizează browserele web; Appium automatizează aplicațiile mobile. Appium reutilizează protocolul WebDriver astfel încât Selenium utilizatorii îl adoptă rapid, dar Appium de asemenea, gestionează aplicații native, hibride și web mobile pe Android și iOS prin motoare de automatizare specifice platformei.

Appium acceptă fiecare limbă care are un Selenium Clientul WebDriver, inclusiv Java, Python, JavaScript cu Node.js, Ruby, C#, PHP și Objective-C. Acest lucru face ca Appium adaptabil în cadrul unor echipe de inginerie diverse, fără a impune o schimbare de limbă.

Da. Appium testează aplicațiile native instalate pe dispozitiv, aplicațiile hibride cu vizualizări web încorporate și aplicațiile web mobile care rulează în Chrome sau Safari. O singură API bazată pe WebDriver gestionează toate cele trei tipuri, ceea ce simplifică întreținerea testelor pe mai multe platforme.

AI se îmbunătățește Appium prin localizatori cu auto-reparare, validare vizuală și pași de testare generați de inteligență artificială. Motoarele de inteligență artificială detectează deviația localizatorilor în timpul actualizărilor aplicațiilor, recomandă alternative XPath stabile și clasifică automat testele instabile, astfel încât inginerii să se poată concentra pe defectele reale, mai degrabă decât pe întreținere.

Da. Instrumentele de testare mobilă bazate pe inteligență artificială analizează ecranele aplicațiilor, identifică elemente interactive și generează Appium scripturi cu capabilitățile și localizatorii dorite. Apoi, testerii revizuiesc și rafinează scripturile, ceea ce reduce procesul standard și accelerează integrarea pentru echipele noi. Appium automatizare.

Rezumați această postare cu: