APPIUM Tutorial til Android & iOS Mobile Apps Test
Hvad er Appium?
APPIUM er en frit distribueret open source mobilapplikation UI Test rammer. Appium tillader native, hybrid og web-applikationstest og understøtter automatiseringstest på fysiske enheder såvel som en emulator eller simulator begge dele. Det tilbyder test af applikationer på tværs af platforme, dvs. en enkelt API fungerer for begge Android og iOS-platformstestscripts.
Det har INGEN afhængighed af mobilenhedens OS. Fordi APPIUM har rammer eller indpakning, der oversætter Selenium Webdriver-kommandoer til UIAutomation (iOS) eller UIAutomator (Android) kommandoer afhængigt af enhedstypen, ikke nogen OS-type.
Appium understøtter alle sprog, der har Selenium klientbiblioteker som- Java, Mål-C, JavaScript med node.js, PHP, Ruby, Python, C#, etc.
Hvordan virker APPIUM?
- Appium er en 'HTTP-server' skrevet vha en Node.js platform og driver iOS og en Android session ved hjælp af Webdriver JSON wire protokol. Derfor før initialisering af Appium Server, Node.js skal være forudinstalleret på systemet.
- Hvornår Appium er downloadet og installeret, så sættes der en server op på vores maskine, der afslører en REST API.
- Den modtager forbindelse og kommandoanmodning fra klienten og udfører denne kommando på mobile enheder (Android / iOS).
- Det svarer tilbage med HTTP-svar. Igen, for at udføre denne anmodning, bruger den mobile testautomatiseringsrammer til at drive brugergrænsefladen af apps. En ramme som:-
- 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 mindre
Forudsætning for at bruge APPIUM
- Installer ANDROID SDK (Studio)[Link]-
- Installer JDK (Java Udviklingssæt) [Link]
- Installer Eclipse [Link]
- Installer TestNg for Eclipse [Link]
- Installer Selenium Server JAR [Link]
- Appium Klientbibliotek[Link]
- APK App Info på Google Play [Link]
- js (Ikke påkrævet – når som helst Appium serveren er installeret, kommer den som standard med "Node.exe" & NPM. Det er inkluderet i den aktuelle version af Appium.)
- Installer Appium desktop
Installer Appium desktop
Appium Studio er en Open source GUI-app, der skal installeres Appium Server. Den leveres med alle forudsætninger for at installere og bruge Appium Server. Den har også en inspektør til at få grundlæggende oplysninger om dine apps. Den leveres med en optager til at oprette boilerplate-kode for at automatisere dine mobilapps.
Trin 1) Gå til http://appium.io/ og klik på Download Appium.
Trin 2) Til Windows, vælg exe-filen og download. Filen er på omkring 162 MB vil tage tid at downloade baseret på din internethastighed.
Trin 3) Klik på den downloadede exe.
Trin 4) På en Windows maskine, er der ingen grund til at installere Appium. Det kører direkte fra exe. Når du klikker på exe, vil du se følgende billede i et par minutter.
For Mac skal du installere dmg
Trin 5) Dernæst vil du se serverstartvinduet. Den udfylder standardværten og portindstillingen, som du kan ændre. Den nævner også versionen af Appium bliver brugt.
Trin 6) Når du klikker på Start Server-knappen, startes en ny server på den angivne vært og port. Serverlogoutput vises.
Trin 7) Klik på Nyt sessionsvindue.
Trin 8) Du kan indtaste de ønskede egenskaber og starte en session.
APPIUM Inspektør
Svarende til Selenium IDE optage- og afspilningsværktøj, Appium har en 'Inspektør' til at optage og afspille. Den registrerer og afspiller native applikationsadfærd ved at inspicere DOM og genererer testscripts på ethvert ønsket sprog. Men i øjeblikket er der ingen støtte til Appium Inspektør for Microsoft Windows. I Windows, lancerer den Appium Server, men undlader at inspicere elementer. UIAutomator viewer kan dog bruges som en mulighed for inspektion af elementer.
Trin til at starte med Appium Inspektør på Mac-maskine:-
Trin 1) Download og start din Appium server med standard IP-adressen 0.0.0.0 og porten 4725.
- Vælg kildefilen eller .app-filerne fra lokal for at teste.
- Marker afkrydsningsfeltet 'App Sti' for at aktivere knappen 'Vælg'.
Trin 2)Klik nu på knappen 'Vælg' for at give mulighed for at gennemse og vælge testfil fra det lokale drev.
Trin 3) Start Simulator på Mac-maskine.
Trin 4) Klik på 'Start'-knappen i øverste højre hjørne, hvilket aktiverer et blåt farveikon. Igen, klik på dette blå farveikon, det åbner Appium inspektør og simulator med en forudvalgt applikation.
Trin 5)– Lancering af din Appium Inspector vil vise elementhierarkiet i kolonnevis struktur. En bruger kan også anvende handlinger ved hjælp af knapper som Tap, Swipe osv.
Trin 6) Klik på 'Stop'-knappen for at stoppe optagelsen.
Vedhæft Android Emulator til Appium
Trin 1) Installer Android SDK i dit system.
Gå til Kontrolpanel >> System og sikkerhed >> System og fra venstre panel klik på 'Avancerede systemindstillinger'. Fra pop op-vinduet 'Systemegenskaber' skal du klikke på fanen 'Avanceret' og derefter klikke på knappen "Miljøvariabler".
Trin 2) Nu, fra 'Miljøvariabler' pop op, 'dobbeltklik på 'Sti' og indstil ANDROID_HOME variabel, der peger på din SDK-mappe. I stien tilføj hele SDK-mappestien.
f.eks -
C:\User\ABC\Desktop\adt-bundled-windows-x86_64-20140321\sdk
Trin 3) Start din Android emulator eller vedhæfte enhver Android enhed til dit system (sørg for, at du har Android Fejlretningsmulighed aktiveret i din Android enhed. For at kontrollere fejlfindingsindstillingen. Gå til Enhedsindstillinger >> Udviklerindstillinger >> Marker "Fejlfindingsindstilling").
Trin 4) Åbn kommandoprompt og naviger til din Android SDK's \platform-tools\-mappe (f.eks. D:\adt-bundle-windows-x86_64-20130514\sdk\platform-tools).
Trin 5)– Kør kommandoen 'adb devices'. Du kan se din tilsluttede enhed opført i kommandopromptvinduet. (I CMD skriv '>adb-enheder'- Denne kommando viser de tilsluttede emulatorforekomster. F.eks.: adb –s emulator-5554 install )
Trin 6)– Kør kommandoen 'adb start-server'. Det vil starte ADB-server, der vil blive brugt af Appium at sende kommandoer til din Android enhed.
Trin 7) Gå nu til Appium mappe i dit system og start Appium ved at klikke på en Appium.exe-fil.
Trin 8) Ændre ikke IP-adressen eller portnummeret, og klik på knappen 'Start'. Din Appium konsollen starter ved 127.0.0.1:4723 som vist nedenfor.
Trin 9) Klik på 'Start' knappen, Appium serveren begyndte at køre på dit system.
APPIUM Test Case for Native Android App (beregner)
Trin 1)) Download ADT eclipse plugin eller download ADT medfølger separat link.
Trin 2) Åbne Eclipse og opret et nyt projekt >> Pakke >> Klasse
Trin 3) Importere Selenium bibliotek og Testng inde i det nye projekt.
Trin 4) Opret nu et lille testprogram til 'Calculator.app' for at summere 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.CapabilityType; 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 app-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"); // This package name of your app (you can get it from apk info app) capabilities.setCapability("appActivity","com.android.calculator2.Calculator"); // This is Launcher activity of your app (you can get it from apk info app) //Create RemoteWebDriver instance and connect to the Appium server //It will launch the Calculator App in Android Device using the configurations specified in Desired Capabilities driver = new RemoteWebDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities); } @Test public void testCal() throws Exception { //locate the Text on the calculator by using 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 edit box of the calculator by using By.tagName() 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(); } }
Appium Server og Android Emulator fra 'AVD Manager' og klik på Kør >> TestNG. Ovenstående program vil køre 'Calculator.app' på den valgte emulator og resultatet vist under Eclipse konsol ved hjælp af en TestNG rammer.
Begrænsninger ved brug af APPIUM
- Appium understøtter ikke test af Android Version lavere end 4.2
- Begrænset understøttelse af hybrid app-testning. f.eks.: ikke muligt at teste applikationens skifthandling fra webappen til native og omvendt.
- Ingen støtte til at køre Appium Inspektør på Microsoft Windows.
Almindelige opståede fejl og fejlfindingstrin i Appium
Fejl | Trin til fejlfinding |
---|---|
fejl:- Følgende ønskede egenskaber er påkrævet, men blev ikke leveret: enhedsnavn, platformnavn | Tilføj ønskede funktioner: enhedsnavn, platformnavn i APPIUM-script. fx:capabilities.setCapability ("enhedsnavn","Emulator"); capabilities.setCapability ("platformnavn","Android”); |
fejl: Kunne ikke finde adb. Indstil venligst ANDROID_HOME miljøvariablen med Android SDK-rodmappesti. | Du er sandsynligvis nødt til at konfigurere SDK-rodmappestien i systemet 'Environment Variables' i kolonnen 'Path' |
error:org.openqa.selenium.SessionNotCreatedException: En ny session kunne ikke oprettes. | Du skal indstille en korrekt app-sti og genstarte Appium serveren. |
Sådan finder du DOM-element eller XPath i en mobilapplikation? | Brug 'UIAutomatorviewer' til at finde DOM-element for Android ansøgning. |