Appium Tutorial for begyndere

โšก Smart opsummering

Appium Vejledning til Android og iOS Mobile Apps Testing introducerer et open source UI-automatiseringsframework, der driver native, hybride og webapps pรฅ begge platforme med en enkelt Selenium-kompatibel API. Denne vejledning forklarer hvordan Appium vรฆrker, installationstrin, inspektรธren, emulatorvedhรฆftning og en Java Testcase til lommeregner.

  • ???? Kernedefinition: Appium er et open source-automatiseringsframework til mobil brugergrรฆnseflader, der understรธtter native, hybride og webapps pรฅ tvรฆrs af Android og iOS via รฉn API.
  • ๐Ÿ”Œ HTTP-servermodel: Appium kรธrer som en Node.js HTTP-server, der oversรฆtter WebDriver JSON-ledningskommandoer til platformspecifikke automatiseringskald.
  • ๐Ÿงฐ Vรฆrktรธjsstak: Nรธdvendige forudsรฆtninger inkluderer Android SDK, JDK, Eclipse, TestNG, Selenium Server JAR, den Appium klientbibliotek, og Appium Desktop.
  • ๐Ÿ” Inspektรธr og protokollfรธrer: Appium Inspector inspicerer elementhierarkier og genererer standardscripts, mens UIAutomator Viewer er den Windows reserve.
  • โ˜• Java Testarbejdsgang: Brug DesiredCapabilities, RemoteWebDriver og TestNG annoteringer til at lancere og validere native Android apps som f.eks. Lommeregneren.

Appium Vejledning til Android og test af iOS-mobilapps

Hvad er Appium?

Appium er en frit distribueret open source mobilapplikationsgrรฆnseflade test rammer. Appium tillader native, hybride og webapplikationstest og understรธtter automatisering pรฅ fysiske enheder sรฅvel som pรฅ emulatorer og simulatorer. Den tilbyder applikationstest pรฅ tvรฆrs af platforme โ€” en enkelt API fungerer til begge Android og iOS-testscripts.

Appium har ingen afhรฆngighed af mobilenhedens operativsystem. Frameworket ombryder og oversรฆtter Selenium WebDriver-kommandoer i UIAutomation (iOS) eller UIAutomator (Android) kommandoer afhรฆngigt af enhedstypen, ikke den underliggende operativsystemversion.

Appium understรธtter alle sprog, der har Selenium klientbiblioteker โ€” Java, Mรฅl-C, JavaScript med Node.js, PHP, Ruby, Python, C#Og meget mere.

Hvordan virker det? Appium Arbejde?

  • Appium er en HTTP-server skrevet pรฅ node.js platform, der driver iOS og Android sessioner ved hjรฆlp af WebDriver JSON-kabelprotokollen. Node.js skal vรฆre forudinstalleret pรฅ systemet, fรธr du starter Appium serveren.
  • Nรฅr Appium er downloadet og installeret, konfigureres en server pรฅ den lokale maskine, der eksponerer en REST API.
  • Serveren accepterer forbindelses- og kommandoanmodninger fra klienten og udfรธrer kommandoerne pรฅ en mobil enhed (Android eller iOS).
  • Den svarer med HTTP-svar. For at udfรธre anmodninger, Appium kald til native mobilautomatiseringsframeworks for at styre applikationens brugergrรฆnseflade:
    • Apple Instruments til iOS (Instrumenter er kun tilgรฆngelige i Xcode 3.0 eller nyere med OS X v10.5 og nyere).
    • Google UIAutomator til Android API-niveau 16 eller hรธjere.
    • Selendroid forum Android API-niveau 15 eller lavere.

Forudsรฆtninger for brug Appium

  1. Installer Android SDK (Studie) [Link].
  2. Installer JDK (Java Udviklingssรฆt) [Link].
  3. Installer Eclipse [Link].
  4. Installer TestNG forum Eclipse [Link].
  5. Installer Selenium Server JAR [Link].
  6. Appium Klientbibliotek [Link].
  7. APK-appoplysninger on Google Afspil [Link].
  8. node.js (ikke strengt pรฅkrรฆvet โ€” nรฅr Appium Serveren er installeret, Node.exe og NPM er bundtet med den nuvรฆrende Appium version).
  9. Installer Appium desktop.

Installer Appium desktop

Appium Desktop er et open source GUI-program, der installerer og kรธrer Appium Server. Den leveres med alle forudsรฆtninger, der er nรธdvendige for at bruge Appium Server, og den leveres med en Inspector til at afdรฆkke grundlรฆggende oplysninger om dine apps og en Recorder til at generere standardkode, der automatiserer mobilapplikationer.

Trin 1) Gรฅ til http://appium.io/ og klik pรฅ Download Appium.

Appium den officielle hjemmeside for download af webstedet

Trin 2) Til Windows, vรฆlg .exe-filen og download den. Filen er omkring 162 MB stor og vil tage tid at downloade afhรฆngigt af din internethastighed.

Vรฆlg Windows Appium Desktop-installationsprogram

Trin 3) Klik pรฅ den downloadede .exe-fil.

Kรธr Appium Eksekverbar installationsprogram til skrivebordet

Trin 4) Pรฅ en Windows maskine, der er ingen installationsguide โ€” Appium kรธrer direkte fra .exe-filen. Nรฅr du klikker pรฅ .exe-filen, vises fรธlgende splash i et par minutter.

Appium Animation til indlรฆsning af skrivebord

Til macOS, skal du installere .dmg.

Trin 5) Vinduet Serverstart รฅbnes. Det udfylder standardvรฆrten og -porten (som du kan รฆndre) og viser Appium version i brug.

Appium Serverstartvindue med vรฆrt og port

Trin 6) Klik Start serverEn ny server startes pรฅ den angivne vรฆrt og port, og serverlogfilen vises i konsollen.

Appium Serverlogoutput efter start

Trin 7) Klik Nyt sessionsvindue.

ร…bn nyt sessionsvindue i Appium desktop

Trin 8) Indtast de รธnskede funktioner, og start en session.

Indtast รธnskede funktioner for at starte Appium Session

Appium Inspector

Svarende til Selenium IDE optage- og afspilningsvรฆrktรธj, Appium har en Inspector til optagelse og afspilning af tests. Den optager og afspiller native applikationsadfรฆrd ved at inspicere DOM'en og genererer testscripts pรฅ ethvert understรธttet sprog. Bemรฆrk at Appium Inspektรธr understรธttes ikke pรฅ Microsoft Windows: pรฅ Windows den lancerer Appium Server, men kan ikke inspicere elementer. UIAutomator Viewer er den anbefalede reserve til inspektion af elementer pรฅ Windows.

Trin til at starte Appium Inspektรธr pรฅ en Mac-maskine:

Trin 1) Download og start din Appium server ved hjรฆlp af standard-IP-adressen 0.0.0.0 og port 4725.

  1. Vรฆlg kildefilen eller .app-filen fra dit lokale drev til test.
  2. Markรฉr afkrydsningsfeltet "App-sti" for at aktivere knappen "Vรฆlg".

Trin 2) Klik pรฅ knappen "Vรฆlg" for at finde og vรฆlge testfilen fra det lokale drev.

Appium Valg af Inspector App-sti pรฅ Mac

Trin 3) Start iOS-simulatoren pรฅ Mac-maskinen.

Trin 4) Klik pรฅ knappen Launch knappen i รธverste hรธjre hjรธrne. Dette aktiverer et blรฅt ikon โ€” klik pรฅ ikonet for at รฅbne Appium Inspektรธr og Simulatoren med den forudvalgte applikation.

Launch Appium Inspektรธr med iOS Simulator

Trin 5) Nรฅr fรธrst lanceret, Appium Inspektรธren viser elementhierarkiet i en kolonnevis struktur. Brugeren kan ogsรฅ anvende handlinger som tryk, swipe og lignende bevรฆgelser.

Appium Hierarkivisning af inspektรธrelementer

Trin 6) Klik Stands for at afslutte optagelsen.

Vedhรฆft en Android Emulator til Appium

Trin 1) Installer Android SDK'et pรฅ dit system.

ร…bn Kontrolpanel > System og sikkerhed > System. Klik pรฅ i venstre panel Avancerede systemindstillingerI pop op-vinduet Systemegenskaber skal du klikke pรฅ Avanceret fanebladet og derefter Miljรธvariabler.

ร…bn miljรธvariabler pรฅ Windows

Trin 2) Fra pop op-vinduet Miljรธvariabler skal du dobbeltklikke pรฅ Sti og indstil ANDROID_HOME variabel, der peger pรฅ din SDK-mappe. Tilfรธj den fulde SDK-mappesti. For eksempel:

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

Sรฆt ANDROID_HOME i miljรธvariabler

Trin 3) Start en Android emulator, eller tilslut en Android enhed til dit system. Sรธrg for, at USB-fejlfinding er aktiveret pรฅ Android enhed: gรฅ til Enhedsindstillinger > Udviklerindstillinger > aktiver "USB-fejlfinding".

Trin 4) ร…bn kommandoprompten og naviger til Android SDK'er \platform-tools\ mappe (f.eks. D:\adt-bundle-windows-x86_64-20130514\sdk\platform-tools).

Trin 5) Kรธr adb devices kommando. Din tilsluttede enhed vil blive vist i kommandopromptvinduet. Den fulde formular er: adb -s emulator-5554 install <Location of .apk file>.

adb devices-kommandooutput, der viser den tilsluttede emulator

Trin 6) Kรธr adb start-server kommando. ADB-serveren starter, og Appium vil bruge den til at sende kommandoer til din Android enhed.

Trin 7) Naviger til Appium mappe pรฅ dit system og start Appium ved at klikke pรฅ Appium.exe-fil.

Trin 8) Du mรฅ ikke รฆndre standard-IP-adressen eller portnummeret. Klik pรฅ Launch. Din Appium Konsollen starter ved 127.0.0.1:4723 som vist nedenfor.

Appium konsol kรธrer pรฅ 127.0.0.1:4723

Trin 9) Klik Starten. Det Appium Serveren kรธrer nu pรฅ dit system.

Appium Testcase for en indfรธdt Android App (Lommeregner)

Trin 1) Download ADT'en Eclipse plugin eller hent ADT-pakken separat fra link..

Trin 2) ร…bne Eclipse og opret et nyt Projekt > Pakke > Klasse.

Trin 3) Importer Selenium bibliotek og TestNG ind i det nye projekt.

Trin 4) Lav et lille testprogram til Lommeregnerapp der summerer to tal.

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

Start Appium Serveren og Android Emulator fra AVD Manager, og klik derefter pรฅ Kรธr > TestNGProgrammet kรธrer Calculator.app pรฅ den valgte emulator, og resultatet vises i Eclipse konsollen ved hjรฆlp af TestNG rammer.

Begrรฆnsninger af Appium

  1. Appium understรธtter ikke testning pรฅ Android versioner lavere end 4.2.
  2. Begrรฆnset understรธttelse af test af hybride apps โ€“ for eksempel er det ikke muligt at teste skiftefunktionen mellem en webvisning og en native visning i nogen af โ€‹โ€‹retningerne.
  3. Ingen understรธttelse af lรธb Appium Inspektรธr pรฅ Microsoft Windows.

Almindelige fejl og fejlfindingstrin i Appium

Fejl Trin til fejlfinding
fejl: Fรธlgende รธnskede funktioner er pรฅkrรฆvet, men blev ikke leveret: enhedsnavn, platformnavn Tilfรธj de รธnskede funktioner deviceName og platformName til Appium manuskript. For eksempel: capabilities.setCapability("deviceName", "Emulator"); og capabilities.setCapability("platformName", "Android");
fejl: Kunne ikke finde adb. Indstil venligst ANDROID_HOME miljรธvariablen med Android SDK-rodmappesti. Angiv SDK-rodmappen i systemets miljรธvariabler under posten "Path".
fejl: org.openqa.selenium.SessionNotCreatedException: En ny session kunne ikke oprettes. Angiv en korrekt app-sti og genstart Appium serveren.
Sรฅdan finder du et DOM-element eller XPath i en mobilapplikation? Brug UIAutomator Viewer til at inspicere DOM-elementer for Android applikationer.

Ofte Stillede Spรธrgsmรฅl

Selenium automatiserer webbrowsere; Appium automatiserer mobilapplikationer. Appium genbruger WebDriver-protokollen, sรฅ Selenium brugerne tager det hurtigt til sig, men Appium driver ogsรฅ native, hybride og mobile webapps Android og iOS via platformspecifikke automatiseringsmotorer.

Appium understรธtter alle sprog, der har en Selenium WebDriver-klient, inklusive Java, Python, JavaScript med Node.js, Ruby, C#, PHP og Objective-C. Dette gรธr Appium tilpasningsdygtig pรฅ tvรฆrs af forskellige ingeniรธrteams uden at tvinge et sprogskift frem.

Ja. Appium tester native apps installeret pรฅ enheden, hybridapps med integrerede webvisninger og mobilwebapps, der kรธrer i Chrome eller Safari. En enkelt WebDriver-baseret API driver alle tre typer, hvilket forenkler vedligeholdelse af test pรฅ tvรฆrs af platforme.

AI forbedres Appium suiter gennem selvreparerende lokaliseringsvรฆrktรธjer, visuel validering og AI-genererede testtrin. AI-motorer registrerer lokaliseringsforskydninger pรฅ tvรฆrs af appopdateringer, anbefaler stabile XPath-alternativer og klassificerer automatisk ustabile tests, sรฅ ingeniรธrer kan fokusere pรฅ reelle defekter i stedet for vedligeholdelse.

Ja. AI-mobiltestvรฆrktรธjer analyserer appskรฆrme, identificerer interaktive elementer og genererer Appium scripts med รธnskede funktioner og lokatorer. Testere gennemgรฅr og forfiner derefter scriptsene, hvilket reducerer standardteksten og fremskynder onboarding for teams, der er nye til Appium automatisering.

Opsummer dette indlรฆg med: