Appium Handledning för nybörjare

⚡ Smart sammanfattning

Appium Handledning för Android och iOS Mobile Apps Testing introducerar ett ramverk för automatisering av användargränssnitt med öppen källkod som driver native-, hybrid- och webbappar på båda plattformarna med en enda Selenium-kompatibelt API. Den här guiden förklarar hur Appium verk, installationssteg, inspektören, emulatortillägg och en Java Testfall med kalkylator.

  • 📱 Kärndefinition: Appium är ett ramverk för automatisering av mobila användargränssnitt med öppen källkod som stöder native-, hybrid- och webbappar över hela Android och iOS via ett API.
  • 🔌 HTTP-servermodell: Appium körs som en Node.js HTTP-server som översätter WebDriver JSON-kabelkommandon till plattformsspecifika automatiseringsanrop.
  • 🧰 Verktygsstapel: Nödvändiga förkunskapskrav inkluderar Android SDK, JDK, Eclipse, TestNG, Selenium Server JAR, den Appium klientbibliotek, och Appium Desktop.
  • 🔍 Inspektör och protokollförare: Appium Inspector inspekterar elementhierarkier och genererar standardskript, medan UIAutomator Viewer är den Windows reserv.
  • Java Testarbetsflöde: Använd DesiredCapabilities, RemoteWebDriver och TestNG annoteringar för att lansera och validera native Android appar som till exempel kalkylatorn.

Appium Handledning för Android och testning av iOS-mobilappar

Vad är Appium?

Appium är ett fritt distribuerat mobilapplikationsgränssnitt med öppen källkod testning ramverk. Appium möjliggör testning av native, hybrid- och webbapplikationer och stöder automatisering på fysiska enheter såväl som på emulatorer och simulatorer. Den erbjuder plattformsoberoende applikationstestning — ett enda API fungerar för båda. Android och iOS-testskript.

Appium har Nej beroende av den mobila enhetens operativsystem. Ramverket omsluter och översätter Selenium WebDriver-kommandon till UIAutomation (iOS) eller UIAutomator (Android) kommandon beroende på enhetstyp, inte den underliggande operativsystemversionen.

Appium stöder alla språk som har Selenium klientbibliotek — Java, Mål-C, JavaScript med Node.js, PHP, Ruby, Python, C#Och mycket mer.

Hur fungerar det? Appium Arbete?

  • Appium är en HTTP-server skriven på node.js plattform som driver iOS och Android sessioner med hjälp av WebDriver JSON-kabelprotokollet. Node.js måste vara förinstallerat på systemet innan du startar Appium servern.
  • När Appium laddas ner och installeras konfigureras en server på den lokala datorn som exponerar ett REST API.
  • Servern accepterar anslutnings- och kommandoförfrågningar från klienten och kör kommandona på en mobil enhet (Android eller iOS).
  • Den svarar med HTTP-svar. För att köra förfrågningar, Appium anrop till inbyggda mobilautomationsramverk för att driva applikationens användargränssnitt:
    • Apple Instruments för iOS (Instrument är endast tillgängliga i Xcode 3.0 eller senare med OS X v10.5 och senare).
    • Google UIAutomator för Android API-nivå 16 eller högre.
    • Selendroid för Android API-nivå 15 eller lägre.

Förutsättningar för användning Appium

  1. installera Android SDK (Studio) [Länk].
  2. installera JDK (Java utvecklingskit) [Länk].
  3. installera Eclipse [Länk].
  4. installera TestNG för Eclipse [Länk].
  5. installera Selenium Server JAR [Länk].
  6. Appium Klientbibliotek [Länk].
  7. APK-appinformation on Google Spela [Länk].
  8. node.js (inte absolut nödvändigt — när Appium Servern är installerad, Node.exe och NPM ingår i den aktuella Appium version).
  9. installera Appium Desktop.

installera Appium Desktop

Appium Desktop är ett grafiskt gränssnitt med öppen källkod som installerar och kör Appium Server. Den levereras med alla nödvändiga förutsättningar för att använda Appium Server, och den levereras med en inspektör för att visa grundläggande information om dina appar och en inspelare för att generera standardkod som automatiserar mobilapplikationer.

Steg 1) Gå till http://appium.io/ och klicka på Ladda ner Appium.

Appium officiell webbplats nedladdningssida

Steg 2) För Windows, välj .exe-filen och ladda ner den. Filen är cirka 162 MB stor och det kommer att ta tid att ladda ner beroende på din internethastighet.

Välja Windows Appium Skrivbordsinstallationsprogram

Steg 3) Klicka på den nedladdade .exe-filen.

Körning Appium Körbar stationär dator

Steg 4) På en Windows maskin, det finns ingen installationsguide — Appium körs direkt från .exe-filen. När du klickar på .exe-filen visas följande stänk i några minuter.

Appium Animering för skrivbordsladdning

För macOS, måste du installera .dmg-filen.

Steg 5) Fönstret Serverstart öppnas. Det fyller i standardvärden och porten (som du kan ändra) och visar Appium version som används.

Appium Serverns startfönster med värd och port

Steg 6) Klicka Starta servernEn ny server startas på den angivna värden och porten, och serverloggen visas i konsolen.

Appium Serverloggutdata efter start

Steg 7) Klicka Nytt sessionsfönster.

Öppna nytt sessionsfönster i Appium Desktop

Steg 8) Ange önskade funktioner och starta en session.

Ange önskade funktioner för att börja Appium session

Appium Inspector

Liknande den Selenium IDE-inspelnings- och uppspelningsverktyg, Appium har en Inspector för inspelning och uppspelning av tester. Den spelar in och spelar upp inbyggt applikationsbeteende genom att inspektera DOM och genererar testskript på alla språk som stöds. Observera att Appium Inspektör stöds inte på Microsoft Windows: på Windows den lanserar Appium Server men misslyckas med att inspektera element. UIAutomator Viewer är den rekommenderade reserven för att inspektera element på Windows.

Steg för att komma igång Appium Inspektör på en Mac-maskin:

Steg 1) Ladda ner och starta din Appium servern med standard-IP-adressen 0.0.0.0 och porten 4725.

  1. Välj källfilen eller .app-filen från din lokala enhet för testning.
  2. Markera kryssrutan "App-sökväg" för att aktivera knappen "Välj".

Steg 2) Klicka på knappen "Välj" för att bläddra till och välja testfilen från den lokala enheten.

Appium Val av sökväg för Inspector-appen på Mac

Steg 3) Starta iOS-simulatorn på Mac-datorn.

Steg 4) Klicka på Starta knappen i det övre högra hörnet. Detta aktiverar en blå ikon – klicka på ikonen för att öppna Appium Inspektör och Simulatorn med den förvalda applikationen.

Starta Appium Inspektör med iOS-simulator

Steg 5) När den väl har lanserats, Appium Inspektören visar elementhierarkin i en kolumnvis struktur. Användaren kan också använda åtgärder som att trycka, svepa och liknande gester.

Appium hierarkivy för inspektörelement

Steg 6) Klicka Sluta för att avsluta inspelningen.

Bifoga en Android Emulator till Appium

Steg 1) installera Android SDK på ditt system.

Öppna Kontrollpanelen > System och säkerhet > System. Klicka på i den vänstra panelen Avancerade systeminställningarI popup-fönstret Systemegenskaper klickar du på Advanced Open water fliken och sedan Miljövariabler.

Öppna miljövariabler på Windows

Steg 2) I popup-fönstret Miljövariabler dubbelklickar du på Bana och ställa in ANDROID_HOME variabeln så att den pekar på din SDK-katalog. Lägg till hela SDK-mappsökvägen. Till exempel:

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

Ställ in ANDROID_HOME i miljövariabler

Steg 3) Starta en Android emulator, eller anslut en Android enheten till ditt system. Se till att USB-felsökning är aktiverat på Android enhet: gå till Enhetsinställningar > Utvecklaralternativ > aktivera "USB-felsökning".

Steg 4) Öppna kommandotolken och navigera till Android SDK:er \platform-tools\ katalog (till exempel D:\adt-bundle-windows-x86_64-20130514\sdk\platform-tools).

Steg 5) Kör adb devices kommando. Din anslutna enhet kommer att visas i kommandotolksfönstret. Den fullständiga formen är: adb -s emulator-5554 install <Location of .apk file>.

adb devices-kommandoutdata som visar ansluten emulator

Steg 6) Kör adb start-server kommando. ADB-servern startar, och Appium kommer att använda den för att skicka kommandon till din Android enhet.

Steg 7) Navigera till Appium katalogen på ditt system och starta Appium genom att klicka på Appium.exe-fil.

Steg 8) Ändra inte standard-IP-adressen eller portnumret. Klicka. Starta. Din Appium Konsolen startar vid 127.0.0.1:4723 som visas nedan.

Appium konsolen körs på 127.0.0.1:4723

Steg 9) Klicka Start. De Appium servern körs nu på ditt system.

Appium Testfall för en infödd Android App (kalkylator)

Steg 1) Ladda ner ADT-filen Eclipse plugin eller hämta ADT-paketet separat från här..

Steg 2) Öppet Eclipse och skapa ett nytt Projekt > Paket > Klass.

Steg 3) Importera Selenium bibliotek och TestNG in i det nya projektet.

Steg 4) Skapa ett litet testprogram för Kalkylator.app som summerar två 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();
    }
}

Starta Appium Servern och Android Emulatorn från AVD Manager och klicka sedan på Kör > TestNGProgrammet kör Calculator.app på den valda emulatorn och resultatet visas i Eclipse konsolen med hjälp av TestNG ramverk.

Begränsningar av Appium

  1. Appium stöder inte testning på Android versioner lägre än 4.2.
  2. Begränsat stöd för testning av hybridappar – det är till exempel inte möjligt att testa växlingsåtgärden mellan en webbvy och en nativ vy i någon riktning.
  3. Inget stöd för löpning Appium Inspektör på Microsoft Windows.

Vanliga fel och felsökningssteg i Appium

Fel Felsökningssteg
fel: Följande önskade funktioner krävs men tillhandahölls inte: enhetsnamn, plattformsnamn Lägg till önskade funktioner deviceName och platformName till Appium manus. Till exempel: capabilities.setCapability("deviceName", "Emulator"); och capabilities.setCapability("platformName", "Android");
fel: Kunde inte hitta adb. Ställ in miljövariabeln ANDROID_HOME med Android SDK-rotkatalogens sökväg. Ange SDK:ns rotkatalog i systemets miljövariabler under sökvägen.
fel: org.openqa.selenium.SessionNotCreatedException: En ny session kunde inte skapas. Ange en korrekt app-sökväg och starta om Appium servern.
Hur man hittar ett DOM-element eller XPath i en mobilapplikation? Använd UIAutomator Viewer för att inspektera DOM-element för Android tillämpningar.

Vanliga frågor

Selenium automatiserar webbläsare; Appium automatiserar mobilapplikationer. Appium återanvänder WebDriver-protokollet så Selenium användare anammar det snabbt, men Appium driver även native-, hybrid- och mobilwebbappar Android och iOS genom plattformsspecifika automatiseringsmotorer.

Appium stöder alla språk som har en Selenium WebDriver-klient, inklusive Java, Python, JavaSkript med Node.js, Ruby, C#, PHP och Objective-C. Detta gör Appium anpassningsbar mellan olika teknikteam utan att tvinga fram ett språkbyte.

Ja. Appium testar inbyggda appar som är installerade på enheten, hybridappar med inbäddade webbvyer och mobila webbappar som körs i Chrome eller Safari. Ett enda WebDriver-baserat API driver alla tre typer, vilket förenklar underhåll av plattformsoberoende tester.

AI förbättras Appium sviter genom självläkande lokaliseringsverktyg, visuell validering och AI-genererade teststeg. AI-motorer upptäcker lokaliseringsdrift i appuppdateringar, rekommenderar stabila XPath-alternativ och klassificerar automatiskt otillräckliga tester så att ingenjörer kan fokusera på verkliga defekter snarare än underhåll.

Ja. AI-verktyg för mobiltestning analyserar appskärmar, identifierar interaktiva element och genererar Appium skript med önskade funktioner och positioner. Testare granskar och förfinar sedan skripten, vilket minskar standardkraven och påskyndar onboarding för team som är nya inom Appium automatisering.

Sammanfatta detta inlägg med: