APPIUM Opplæring for Android & iOS Mobile Apps Testing
Hva er Appium?
APPIUM er et fritt distribuert brukergrensesnitt for mobilapplikasjoner med åpen kildekode Testing rammeverk. Appium tillater native-, hybrid- og webapplikasjonstesting og støtter automatiseringstest på fysiske enheter så vel som en emulator eller simulator begge deler. Den tilbyr applikasjonstesting på tvers av plattformer, dvs. enkelt API fungerer for begge Android og iOS-plattformtestskript.
Det har NEI avhengighet av mobilenhets OS. Fordi APPIUM har rammeverk eller omslag som oversetter Selenium Webdriver-kommandoer til UIAutomation (iOS) eller UIAutomator (Android) kommandoer avhengig av enhetstypen, ikke hvilken som helst OS-type.
Appium støtter alle språk som har Selenium klientbiblioteker som- Java, Mål-C, JavaScript med node.js, PHP, Ruby, Python, C#, og så videre
Hvordan fungerer APPIUM?
- Appium er en 'HTTP-server' skrevet med en Node.js plattform og driver iOS og en Android økt med Webdriver JSON-ledningsprotokoll. Derfor, før initialisering av Appium Server, Node.js må være forhåndsinstallert på systemet.
- Når Appium er lastet ned og installert, så settes det opp en server på maskinen vår som viser et REST API.
- Den mottar tilkoblings- og kommandoforespørsel fra klienten og utfører den kommandoen på mobile enheter (Android / iOS).
- Den svarer tilbake med HTTP-svar. Igjen, for å utføre denne forespørselen, bruker den mobiltestautomatiseringsrammeverket for å drive brukergrensesnittet til appene. Et rammeverk som:-
- 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
Forutsetning for å bruke APPIUM
- Installer ANDROID SDK (Studio)[link]-
- Installer JDK (Java Utviklingssett) [link]
- Install Eclipse [link]
- Installer TestNg for Eclipse [link]
- Install Selenium Server JAR [link]
- Appium Klientbibliotek[link]
- APK-appinformasjon på Google Play [link]
- js (ikke nødvendig – når som helst Appium serveren er installert, kommer den som standard med "Node.exe" og NPM. Det er inkludert i gjeldende versjon av Appium.)
- Install Appium desktop
Install Appium desktop
Appium Studio er en åpen kildekode GUI-app å installere Appium Server. Den leveres sammen med alle forutsetninger for å installere og bruke Appium Server. Den har også en inspektør for å få grunnleggende informasjon om appene dine. Den kommer med en opptaker for å lage standardkode for å automatisere mobilappene dine.
Trinn 1) Gå til http://appium.io/ og klikk på Last ned Appium.
Trinn 2) Til Windows, velg exe-filen og last ned. Filen er på rundt 162MB vil ta tid å laste ned basert på internetthastigheten din.
Trinn 3) Klikk på den nedlastede exe.
Trinn 4) På en Windows maskin, er det ikke nødvendig å installere Appium. Den kjører direkte fra exe. Når du klikker på exe vil du se følgende bilde i noen minutter.
For Mac må du installere dmg
Trinn 5) Deretter vil du se serverstartvinduet. Den fyller ut standardverten og portalternativet som du kan endre. Den nevner også versjonen av Appium blir brukt.
Trinn 6) Når du klikker på Start Server-knappen, startes en ny server på den angitte verten og porten. Serverloggutdata vises.
Trinn 7) Klikk på Nytt øktvindu.
Trinn 8) Du kan gå inn i de ønskede egenskapene og starte en økt.
APPIUM-inspektør
Lik Selenium IDE-opptaks- og avspillingsverktøy, Appium har en 'Inspektør' for å ta opp og spille av. Den registrerer og spiller innfødt applikasjonsatferd ved å inspisere DOM og genererer testskriptene på et hvilket som helst ønsket språk. For øyeblikket er det imidlertid ingen støtte for Appium Inspektør for Microsoft Windows. i Windows, starter den Appium Server men klarer ikke å inspisere elementer. Imidlertid kan UIAutomator viewer brukes som et alternativ for å inspisere elementer.
Trinn til å begynne med Appium Inspektør på Mac-maskin:-
Trinn 1) Last ned og start din Appium server med standard IP-adresse 0.0.0.0 og port 4725.
- Velg kildefilen eller .app-filene fra lokal for å teste.
- Merk av for 'App Path'-boksen for å aktivere 'Choose'-knappen.
Trinn 2)Nå, klikk på "Velg"-knappen vil gi muligheten til å bla gjennom og velge testfil fra den lokale stasjonen.
Trinn 3) Start Simulator på Mac-maskin.
Trinn 4) Klikk på "Start"-knappen øverst i høyre hjørne, som aktiverer et blått fargeikon. Igjen, klikk på dette blå fargeikonet, det vil åpne Appium inspektør og simulator med en forhåndsvalgt applikasjon.
Trinn 5)– Lansering av din Appium Inspektør vil vise elementhierarkiet i kolonnevis struktur. En bruker kan også bruke handlinger ved å bruke knapper som trykk, sveip osv.
Trinn 6) Klikk på "Stopp"-knappen for å stoppe opptaket.
Fest Android Emulator til Appium
Trinn 1) Install Android SDK i systemet ditt.
Gå til Kontrollpanel >> System og sikkerhet >> System og klikk på 'Avanserte systeminnstillinger' fra venstre panel. Fra popup-vinduet "Systemegenskaper", klikk på "Avansert"-fanen og klikk deretter på "Miljøvariabler"-knappen.
Trinn 2) Nå, fra 'Miljøvariabler' dukker opp, 'dobbeltklikk på 'Path' og sett inn ANDROID_HOME-variabelen som peker til SDK-katalogen din. I banen legger du til hele SDK-mappens bane.
f.eks –
C:\User\ABC\Desktop\adt-bundled-windows-x86_64-20140321\sdk
Trinn 3) Start Android emulator eller vedlegg noen Android enheten til systemet ditt (sørg for at du har Android Feilsøkingsalternativet er aktivert i din Android enheten. For å sjekke feilsøkingsalternativet. Gå til Enhetsinnstillinger >> Utvikleralternativer >> Sjekk "Feilsøkingsalternativ").
Trinn 4) Åpne ledetekst og naviger til din Android SDKs \platform-tools\-katalog (f.eks. D:\adt-bundle-windows-x86_64-20130514\sdk\platform-tools).
Trinn 5)– Kjør 'adb-enheter'-kommandoen. Du kan se den tilkoblede enheten oppført i ledetekstvinduet. (I CMD skriv '>adb-enheter'- Denne kommandoen vil vise de tilkoblede emulatorforekomstene. For eksempel: adb –s emulator-5554 install )
Trinn 6)– Kjør 'adb start-server'-kommandoen. Den vil starte ADB-serveren som skal brukes av Appium å sende kommandoer til din Android enhet.
Trinn 7) Nå, naviger til Appium katalogen i systemet og start Appium ved å klikke på en Appium.exe-fil.
Trinn 8) Ikke endre IP-adressen eller portnummeret og klikk "Start"-knappen. Din Appium konsollen starter på 127.0.0.1:4723 som vist nedenfor.
Trinn 9) Klikk på 'Start'-knappen, Appium serveren begynte å kjøre på systemet ditt.
APPIUM Test Case for Native Android App (kalkulator)
Trinn 1)) Last ned ADT Eclipse-plugin eller last ned ADT medfølger separat her.
Trinn 2) Open Eclipse og Opprett et nytt prosjekt >> Pakke >> Klasse
Trinn 3) Import Selenium bibliotek og Testng inne i det nye prosjektet.
Trinn 4) Lag nå et lite testprogram for 'Calculator.app' for å summere 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.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 klikk Kjør >> TestNG. Programmet ovenfor vil kjøre 'Calculator.app' på valgt emulator og resultatet vises under Eclipse konsoll ved hjelp av en TestNG rammeverk.
Begrensninger ved bruk av APPIUM
- Appium støtter ikke testing av Android Versjon lavere enn 4.2
- Begrenset støtte for hybrid app-testing. f.eks.: ikke mulig å teste byttehandlingen til applikasjonen fra webappen til native og omvendt.
- Ingen støtte å kjøre Appium Inspektør på Microsoft Windows.
Vanlige oppståtte feil og feilsøkingstrinn i Appium
Feil | Trinn for feilsøking |
---|---|
feil:- Følgende ønskede funksjoner kreves, men ble ikke gitt: enhetsnavn, plattformnavn | Legg til ønskede funksjoner: enhetsnavn, plattformnavn i APPIUM-skript. eg:capabilities.setCapability ("enhetsnavn","Emulator"); capabilities.setCapability ("plattformnavn",»Android“); |
feil: Kunne ikke finne adb. Vennligst still inn ANDROID_HOME miljøvariabelen med Android SDK-rotkatalogbane. | Du må sannsynligvis sette opp SDK-rotkatalogstien i systemet 'Environment Variables' i 'Path'-kolonnen |
error:org.openqa.selenium.SessionNotCreatedException: En ny økt kunne ikke opprettes. | Du må angi en riktig appbane og starte på nytt Appium server. |
Hvordan finne DOM-element eller XPath i en mobilapplikasjon? | Bruk 'UIAutomatorviewer' for å finne DOM-element for Android søknad. |