Appium Opplæring for nybegynnere

⚡ Smart oppsummering

Appium Veiledning for Android og iOS Mobile Apps Testing introduserer et åpen kildekode-rammeverk for UI-automatisering som driver native, hybride og webapper på begge plattformene med én enkelt Selenium-kompatibelt API. Denne veiledningen forklarer hvordan Appium verk, installasjonstrinn, inspektøren, emulatorvedlegg og en Java Testtilfelle for kalkulator.

  • 📱 Kjernedefinisjon: Appium er et åpen kildekode-rammeverk for automatisering av mobilgrensesnitt som støtter native, hybride og webapper på tvers av Android og iOS gjennom ett API.
  • 🔌 HTTP-servermodell: Appium kjører som en Node.js HTTP-server som oversetter WebDriver JSON-ledningskommandoer til plattformspesifikke automatiseringskall.
  • 🧰 Verktøystabel: Nødvendige forkunnskaper inkluderer Android SDK, JDK, Eclipse, TestNG, Selenium Server JAR, den Appium klientbibliotek, og Appium Desktop.
  • 🔍 Inspektør og protokollfører: Appium Inspector inspiserer elementhierarkier og genererer standardskript, mens UIAutomator Viewer er den Windows reserve.
  • Java Testarbeidsflyt: Bruk DesiredCapabilities, RemoteWebDriver og TestNG annoteringer for å lansere og validere native Android apper som Kalkulatoren.

Appium Veiledning for Android og testing av iOS-mobilapper

Hva er Appium?

Appium er et fritt distribuert brukergrensesnitt for åpen kildekode-mobilapplikasjoner testing rammeverk. Appium tillater testing av native, hybride og webapplikasjoner, og støtter automatisering på fysiske enheter så vel som på emulatorer og simulatorer. Den tilbyr applikasjonstesting på tvers av plattformer – et enkelt API fungerer for begge. Android og iOS-testskript.

Appium har Nei. avhengighet av mobilenhetens operativsystem. Rammeverket pakker inn og oversetter Selenium WebDriver-kommandoer i UIAutomation (iOS) eller UIAutomator (Android)-kommandoer avhengig av enhetstypen, ikke den underliggende operativsystemversjonen.

Appium støtter alle språk som har Selenium klientbiblioteker — Java, Mål-C, JavaScript med Node.js, PHP, Ruby, Python, C#, Og mer.

Hvordan gjør Appium Arbeid?

  • Appium er en HTTP-server skrevet på node.js plattform som driver iOS og Android økter ved hjelp av WebDriver JSON-ledningsprotokollen. Node.js må være forhåndsinstallert på systemet før oppstart Appium server.
  • Når Appium er lastet ned og installert, settes det opp en server på den lokale maskinen som eksponerer et REST API.
  • Serveren godtar tilkoblings- og kommandoforespørsler fra klienten og utfører kommandoene på en mobil enhet (Android eller iOS).
  • Den svarer med HTTP-svar. For å utføre forespørsler, Appium kall til native mobilautomatiseringsrammeverk for å drive applikasjonens brukergrensesnitt:
    • Apple Instruments for iOS (Instrumenter er kun tilgjengelig i Xcode 3.0 eller nyere med OS X v10.5 og nyere).
    • Google UIAutomator for Android API-nivå 16 eller høyere.
    • Selendroid forum Android API-nivå 15 eller lavere.

Forutsetninger for bruk Appium

  1. Install Android SDK (Studio) [link].
  2. Install JDK (Java Utviklingssett) [link].
  3. Install Eclipse [link].
  4. Install TestNG forum Eclipse [link].
  5. Install Selenium Server JAR [link].
  6. Appium Klientbibliotek [link].
  7. APK-appinformasjon on Google Spill [link].
  8. node.js (ikke strengt tatt påkrevd – når Appium Serveren er installert, Node.exe og NPM er samlet med den gjeldende Appium versjon).
  9. Install Appium desktop.

Install Appium desktop

Appium Desktop er et åpen kildekode-grensesnittprogram som installerer og kjører Appium Server. Den leveres med alle nødvendige forutsetninger for å bruke Appium Server, og den leveres med en inspektør for å avdekke grunnleggende informasjon om appene dine og en opptaker for å generere standardkode som automatiserer mobilapplikasjoner.

Trinn 1) Gå til http://appium.io/ og klikk på Last ned Appium.

Appium offisiell nedlastingsside for nettstedet

Trinn 2) Til Windows, velg .exe-filen og last den ned. Filen er på rundt 162 MB og vil ta tid å laste ned basert på internetthastigheten din.

Velg Windows Appium Skrivebordsinstallasjonsprogram

Trinn 3) Klikk på den nedlastede .exe-filen.

Kjør Appium Kjørbar installeringsfil på skrivebordet

Trinn 4) På en Windows maskin, det finnes ingen installasjonsveiviser – Appium kjører direkte fra .exe-filen. Etter at du klikker på .exe-filen, vises følgende splash i noen minutter.

Appium Animasjon for lasting på skrivebordet

Til macOS, må du installere .dmg-filen.

Trinn 5) Serverstartvinduet åpnes. Det fyller ut standardverten og porten (som du kan endre) og viser Appium versjon i bruk.

Appium Serverens startvindu med vert og port

Trinn 6) Klikk Start serverEn ny server startes på den angitte verten og porten, og serverloggen vises i konsollen.

Appium Serverloggutdata etter oppstart

Trinn 7) Klikk Nytt øktvindu.

Åpne nytt øktvindu i Appium desktop

Trinn 8) Skriv inn de ønskede funksjonene og start en økt.

Skriv inn ønskede funksjoner for å starte Appium Session

Appium Inspektør

Ligner på Selenium IDE-opptaks- og avspillingsverktøy, Appium har en Inspektør for opptak og avspilling av tester. Den registrerer og spiller av innebygd applikasjonsoppførsel ved å inspisere DOM og genererer testskript på alle støttede språk. Merk at Appium Inspektør støttes ikke på Microsoft Windows: på Windows den lanserer Appium Server, men klarer ikke å inspisere elementer. UIAutomator Viewer er anbefalt reserve for å inspisere elementer på Windows.

Fremgangsmåte for å starte Appium Inspektør på en Mac-maskin:

Trinn 1) Last ned og start din Appium serveren som bruker standard IP-adresse 0.0.0.0 og port 4725.

  1. Velg kildefilen eller .app-filen fra den lokale stasjonen for testing.
  2. Merk av i avmerkingsboksen «App-bane» for å aktivere «Velg»-knappen.

Trinn 2) Klikk på «Velg»-knappen for å bla til og velge testfilen fra den lokale stasjonen.

Appium Valg av Inspector-appbane på Mac

Trinn 3) Start iOS-simulatoren på Mac-maskinen.

Trinn 4) Klikk på Start knappen øverst til høyre. Dette aktiverer et blått ikon – klikk på ikonet for å åpne Appium Inspektør og simulatoren med den forhåndsvalgte applikasjonen.

Start Appium Inspektør med iOS-simulator

Trinn 5) Når den er lansert, Appium Inspektøren viser elementhierarkiet i en kolonnevis struktur. Brukeren kan også bruke handlinger som trykk, sveip og lignende bevegelser.

Appium Hierarkivisning av inspektørelementer

Trinn 6) Klikk Stopp for å avslutte innspillingen.

Legg ved en Android Emulator til Appium

Trinn 1) Install Android SDK-en på systemet ditt.

Åpne Kontrollpanel > System og sikkerhet > System. Klikk på i venstre panel. Advanced SysteminnstillingerI hurtigmenyen Systemegenskaper klikker du på Avansert kategorien og deretter Miljøvariabler.

Åpne miljøvariabler på Windows

Trinn 2) Fra hurtigmenyen Miljøvariabler dobbeltklikker du på Sti og sett ANDROID_HOME variabelen skal peke til SDK-katalogen din. Legg til hele SDK-mappebanen. For eksempel:

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

Sett ANDROID_HOME i miljøvariabler

Trinn 3) Start en Android emulator, eller legg til en Android enheten til systemet ditt. Sørg for at USB-feilsøking er aktivert på Android enhet: gå til Enhetsinnstillinger > Utvikleralternativer > aktiver «USB-feilsøking».

Trinn 4) Åpne ledeteksten og naviger til Android SDK-er \platform-tools\ katalog (for eksempel D:\adt-bundle-windows-x86_64-20130514\sdk\platform-tools).

Trinn 5) Kjør adb devices kommando. Den tilkoblede enheten din vil vises i ledetekstvinduet. Hele skjemaet er: adb -s emulator-5554 install <Location of .apk file>.

adb devices-kommandoutdata som viser tilkoblet emulator

Trinn 6) Kjør adb start-server kommando. ADB-serveren starter, og Appium vil bruke den til å sende kommandoer til din Android enhet.

Trinn 7) Naviger til Appium katalogen på systemet ditt og start Appium ved å klikke på Appium.exe-fil.

Trinn 8) Ikke endre standard IP-adresse eller portnummer. Klikk. Start. Din Appium Konsollen starter på 127.0.0.1:4723 som vist nedenfor.

Appium konsoll som kjører på 127.0.0.1:4723

Trinn 9) Klikk Start. De Appium Serveren kjører nå på systemet ditt.

Appium Testtilfelle for en innfødt Android App (kalkulator)

Trinn 1) Last ned ADT-filen Eclipse plugin eller hent ADT-pakken separat fra her..

Trinn 2) Open Eclipse og opprett et nytt Prosjekt > Pakke > Klasse.

Trinn 3) Importer Selenium bibliotek og TestNG inn i det nye prosjektet.

Trinn 4) Lag et lite testprogram for Kalkulator.app som summerer to tall.

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 Emulatoren fra AVD Manager, og klikk deretter på Kjør > TestNGProgrammet kjører Calculator.app på den valgte emulatoren, og resultatet vises i Eclipse konsollen ved hjelp av TestNG rammeverk.

Begrensninger av Appium

  1. Appium støtter ikke testing på Android versjoner lavere enn 4.2.
  2. Begrenset støtte for testing av hybridapper – det er for eksempel ikke mulig å teste byttehandlingen mellom en nettvisning og en innebygd visning i noen av retningene.
  3. Ingen støtte for løping Appium Inspektør på Microsoft Windows.

Vanlige feil og feilsøkingstrinn i Appium

Feil Trinn for feilsøking
feil: Følgende ønskede funksjoner er nødvendige, men ble ikke oppgitt: enhetsnavn, plattformnavn Legg til de ønskede egenskapene deviceName og platformName til Appium skript. For eksempel: capabilities.setCapability("deviceName", "Emulator"); og capabilities.setCapability("platformName", "Android");
feil: Kunne ikke finne adb. Vennligst still inn ANDROID_HOME miljøvariabelen med Android SDK-rotkatalogbane. Angi SDK-rotkatalogen i systemets miljøvariabler under baneoppføringen.
feil: org.openqa.selenium.SessionNotCreatedException: Kunne ikke opprette en ny økt. Angi riktig appbane og start datamaskinen på nytt Appium server.
Hvordan finne et DOM-element eller XPath i en mobilapplikasjon? Bruk UIAutomator Viewer til å inspisere DOM-elementer for Android applikasjoner.

Spørsmål og svar

Selenium automatiserer nettlesere; Appium automatiserer mobilapplikasjoner. Appium bruker WebDriver-protokollen på nytt, slik at Selenium brukerne tar det raskt i bruk, men Appium driver også native, hybride og mobile webapper på Android og iOS gjennom plattformspesifikke automatiseringsmotorer.

Appium støtter alle språk som har en Selenium WebDriver-klient, inkludert Java, Python, JavaSkript med Node.js, Ruby, C#, PHP og Objective-C. Dette gjør Appium tilpasningsdyktig på tvers av ulike ingeniørteam uten å tvinge frem et språkskifte.

Ja. Appium tester native apper som er installert på enheten, hybridapper med innebygde nettvisninger og mobilnettapper som kjører i Chrome eller Safari. Én enkelt WebDriver-basert API driver alle tre typene, noe som forenkler vedlikehold av tester på tvers av plattformer.

AI forbedres Appium suiter gjennom selvreparerende lokaliseringsverktøy, visuell validering og AI-genererte testtrinn. AI-motorer oppdager lokaliseringsdrift på tvers av appoppdateringer, anbefaler stabile XPath-alternativer og klassifiserer automatisk ustabile tester slik at ingeniører kan fokusere på reelle feil i stedet for vedlikehold.

Ja. AI-mobiltestverktøy analyserer appskjermer, identifiserer interaktive elementer og genererer Appium skript med ønskede funksjoner og lokatorer. Testere gjennomgår og forbedrer deretter skriptene, noe som reduserer standardkravene og fremskynder onboarding for team som er nye i Appium automasjon.

Oppsummer dette innlegget med: