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.
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
- Installer Android SDK (Studie) [Link].
- Installer JDK (Java Udviklingssรฆt) [Link].
- Installer Eclipse [Link].
- Installer TestNG forum Eclipse [Link].
- Installer Selenium Server JAR [Link].
- Appium Klientbibliotek [Link].
- APK-appoplysninger on Google Afspil [Link].
- 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).
- 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.
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.
Trin 3) Klik pรฅ den downloadede .exe-fil.
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.
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.
Trin 6) Klik Start serverEn ny server startes pรฅ den angivne vรฆrt og port, og serverlogfilen vises i konsollen.
Trin 7) Klik Nyt sessionsvindue.
Trin 8) Indtast de รธnskede funktioner, og start en 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.
- Vรฆlg kildefilen eller .app-filen fra dit lokale drev til test.
- 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.
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.
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.
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.
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
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>.
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.
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
- Appium understรธtter ikke testning pรฅ Android versioner lavere end 4.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.
- 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. |
















