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.

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
- installera Android SDK (Studio) [Länk].
- installera JDK (Java utvecklingskit) [Länk].
- installera Eclipse [Länk].
- installera TestNG för Eclipse [Länk].
- installera Selenium Server JAR [Länk].
- Appium Klientbibliotek [Länk].
- APK-appinformation on Google Spela [Länk].
- node.js (inte absolut nödvändigt — när Appium Servern är installerad, Node.exe och NPM ingår i den aktuella Appium version).
- 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.
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.
Steg 3) Klicka på den nedladdade .exe-filen.
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.
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.
Steg 6) Klicka Starta servernEn ny server startas på den angivna värden och porten, och serverloggen visas i konsolen.
Steg 7) Klicka Nytt sessionsfönster.
Steg 8) Ange önskade funktioner och starta en 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.
- Välj källfilen eller .app-filen från din lokala enhet för testning.
- 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.
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.
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.
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.
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
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>.
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.
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
- Appium stöder inte testning på Android versioner lägre än 4.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.
- 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. |















