appium tutorial testing android
Slik installerer og installerer du Appium på Windows med det første programmet for å få en kickstart på Appium:
Appium er en åpen kildekode test automatiseringsverktøy brukt til teste mobile applikasjoner . Det lar brukerne teste forskjellige typer mobilapplikasjoner (for eksempel Native, Hybrid og Mobile Web) ved hjelp av standard WebDriver-bibliotek.
Det er tre typer mobilapper:
- Innfødt: Innfødte apper bygget med iOS, Android eller Windows SDK-er. De er plattformspesifikke. De er bygget for å fungere på en plattform og / eller enhet.
- Hybrid: Hybride apper er webapplikasjoner utviklet ved bruk av HTML, CSS og innpakning av et eget program på toppen av UIWebView for iOS og “webview” for Android-apper.
- Mobilnettapper: Mobilnettapper er appene man bruker via mobile nettlesere.
Liste over opplæringsprogrammer i denne Appium-serien
Opplæring # 1: Appium-opplæring for nybegynnere (denne opplæringen)
Opplæring # 2: Introduksjon til Appium: Hva er Appium og dets arkitektur
Opplæring # 3: Last ned, installer og installer appium for Windows
Opplæring # 4: Konfigurere mobilenhet med system i appium
Opplæring # 5: Automatiser Native App på Android-enhet ved hjelp av Appium
Opplæring # 6: Slik automatiserer du webapp på Chrome-nettleser på Android-enhet
Hva du vil lære:
- Hvorfor er Appium et populært verktøy for automatisering av mobilapper?
- Sette opp Appium-verktøyet på Windows
- Oppsett av appium med formørkelse IDE
- Begrensninger fra tidligere epoker
- Utfordringer når du arbeider med Appium
- Konklusjon
Hvorfor er Appium et populært verktøy for automatisering av mobilapper?
Appium er et 'plattformverktøy', dvs. det lar deg skrive tester på flere plattformer (iOS, Android, Windows) ved å bruke de samme APIene. Ved hjelp av appium , kjører du også automatiserte tester på faktiske enheter som nettbrett, mobiltelefoner osv.
Det er mest mye brukt verktøy for regresjonstesting av Mobile Apps på mobiltelefoner og nettbrett. Appium gjør det enkelt å regresjonere mobilappene; spesielt for store mobilapper som oppdateres ofte med nye funksjoner og funksjoner.
Sette opp Appium-verktøyet på Windows
Forutsetninger: Dette er en kortliste med programvare og maskinvare som kreves for å automatisere en mobilapptesting ved hjelp av Appium:
- PCen din må ha JDK, Appium Server, Eclipse, Android SDK installert
- Apk: Mobilapplikasjon som skal automatiseres i vårt Case ContactManager.apk
- Testenhet: I dette tilfellet Moto G
- Krukker: Java-klient krukker og Selen krukker.
- USB-driver for testing av enhet: I dette tilfellet Moto G
Trinn 1: Installer Java Development Kit ( JDK )
Steg 2: Sett opp Java Miljøvariabel sti
Trinn 3: Last ned og installer Android SDK her og oppdater API-ene
For å oppdatere API, Åpne Eclipse -> Klikk på Window i Eclipse Menu og -> Velg Android SDK manager
Oppdater API-ene som vist på skjermbildet nedenfor:
Trinn 4: Nå må vi installere Appium for Windows. Gå her og last ned Appium for Windows.
Trinn 5: Jeg nstall Node JS herfra: Node JS nedlasting
Trinn 6: Sett ANDROID_HOME sti så vel som JAVA_HOME sti
Spesifiser banen for verktøy og plattformverktøy som er tilstede i Android SDK-banen.
Disse mappene ville være til stede i adt-pakke-windows-x86_64-20140702 sdk
Nå må vi oppdatere miljøvariabelen (se skjermbilde nedenfor)
(Merk:Klikk på et hvilket som helst bilde for forstørret visning)
Oppdater banen med verktøy og plattformverktøy (mappe til stede i Android SDK).
Oppføringen i Path vil se ut som nedenfor:
C: Program Files nodejs ;% ANDROID_HOME% tools;% ANDROID_HOME% platform-tools
Trinn 7: Få tilgang til adb
Trykk på Win + R-tastekombinasjonen
Type CMD . Nå i CMD-type ‘ adb '. adb vil være tilgjengelig
Forbereder mobil enhet for automatisering med Appium
Koble din mobile testenhet via USB til PC. Aktiver utviklermodus på mobiltelefon før du automatiserer appen.
Fremgangsmåte for å aktivere utviklermodus / alternativer på Android-telefon eller nettbrett:
1) Åpne innstillinger, trykk på alternativet Om, trykk på programvareinformasjon, trykk på mer.
to) Trykk på 'Bygg nummer' 7 ganger for å aktivere utvikleralternativer.
3) Gå tilbake til Innstillinger og sørg for at 'Utvikleralternativer' -innstillingen er der.
4) Trykk på Utvikleralternativer og slå på alternativet USB-feilsøking fra menyen på neste skjerm.
For mer hjelp følg dette lenke .
5) Last ned og installer USB-drivere for Mobile Testing-enheten på PC.
6) I ADB-terminalen skriver du 'ADB-enheter'
C: Brukere NEERAJ> ADB-enheter
Liste over tilkoblede enheter
TA93305G0L-enhet
Dette viser listen over enheter som er koblet til systemet. Vi bruker App Contact Manager.apk som en app for å automatisere. Last ned og installer Kontakt Manager.apk på enheten.
Starter å automatisere Android-appen ved hjelp av Appium
Kjør nå appium.exe på PC.
Appium må kjøre og sende følgende parametere og enhetsnavn i Android-innstillinger.
Merk: Ikke endre portnummer eller noe i ikonet for generell innstilling. Når Appium Server starter, vil serveradressen, så vel som portadressen, angis som standard. Portadressen vil være 4723 som standard
I Android Setting må brukeren angi APK-banen der APK-en ligger, Sjekk appbane, pakke og starte aktivitet.
- Koble Android-telefonen din til PC og slå på USB-feilsøkingsmodus.
- Åpne ledeteksten.
- Skriv kommando adb logcat .
- Åpne appen på Android-telefonen din. Trykk umiddelbart CTRL + C i ledeteksten
com.example.android.contactmanager er pakkenavn og com.example.android.contactmanager.ContactManager er aktivitetsnavnet til Contact Manager-appen.
I skjermbildet ovenfor har vi fylt ut all nødvendig informasjon i Appium, dvs. pakke, lanseringsaktivitet, navn på mobilenhet.
Hvordan finne element ved hjelp av UIAutomatorViewer?
1) For å automatisere appen må vi først finne elementene i appen vi trenger for å samhandle
for det, vil vi bruke UIAutomatorViewer
to) Koble enheten der App er installert, til PC
3) Gå til Terminal.
Type ‘Adb-enheter’
C: Brukere NEERAJ> ADB-enheter
Liste over tilkoblede enheter
TA93305G0L-enhet
Dette viser listen over enheter som er koblet til PCen.
4) Åpne appen du vil automatisere i mobilenhet.
5) Åpen UIAutomatorViewer og gå til følgende vei
adt-pakke-windows-x86_64-20140702 sdk verktøy
6) Så sørg for at appen din blir lansert og UIAutomaterViewer startes, klikk på skjermbilde på enheten.
7) Dette alternativet tar skjermbildet av appen med all detaljert informasjon om alle elementene som er synlige på appen.
Klikk på Legg til kontaktknapp for vårt testscenario
hva er nettverksnøkkel for wifi
Fra skjermbildet ovenfor kan vi bruke locator By.name (“Legg til kontakt”)
Fra skjermbildet ovenfor kan vi ta By.className ('android.widget.EditText')) som vår lokalisator for kontaktnavn
By.name (“Lagre”) kan brukes som vår locator for Save Button
Første program for automatisering av en app på appium
Kjør nedenstående skript, Contact Manager-applikasjonen vil bli lansert på den virkelige enheten, og alle loggene vises i Appium-konsollen og viser deg alle handlingene som blir påkalt av skriptet ovenfor.
importjava.io.File; importjava.net.MalformedURLException; import java.net.URL; importjava.util.List; importorg.openqa.selenium.By; importorg.openqa.selenium.WebDriver; importorg.openqa.selenium.WebElement; importorg.openqa.selenium.remote.CapabilityType; importorg.openqa.selenium.remote.DesiredCapabilities; importorg.openqa.selenium.remote.RemoteWebDriver; importorg.testng.annotations.*; public class appium { WebDriver driver; @BeforeClass public void setUp() throws Exception { //location of the app File app = new File('C:\Users\NEERAJ\Downloads', 'ContactManager.apk'); //To create an object of Desired Capabilities DesiredCapabilities capability = new DesiredCapabilities(); //OS Name capability.setCapability('device','Android'); capability.setCapability(CapabilityType.BROWSER_NAME, ''); //Mobile OS version. In My case its running on Android 4.2 capability.setCapability(CapabilityType.VERSION, '4.2'); capability.setCapability('app', app.getAbsolutePath()); //To Setup the device name capability.setCapability('deviceName','Moto G'); capability.setCapability('platformName','Android'); //set the package name of the app capability.setCapability('app-package', 'com.example.android.contactmanager-1'); //set the Launcher activity name of the app capability.setCapability('app-activity', '.ContactManager'); //driver object with new Url and Capabilities driver = new RemoteWebDriver(new URL('http://127.0.0.1:4723/wd/hub'), capability); } @Test public void testApp() throws MalformedURLException{ System.out.println('App launched'); // locate Add Contact button and click it WebElementaddContactButton = driver.findElement(By.name('Add Contact')); addContactButton.click(); //locate input fields and type name and email for a new contact and save it ListtextFields = driver.findElements(By.className('android.widget.EditText')); textFields.get(0).sendKeys('Neeraj Test'); textFields.get(1).sendKeys('9999999999'); textFields.get(2).sendKeys('testemail@domain.com'); driver.findElement(By.name('Save')).click(); //insert assertions here } }
Oppsett av appium med formørkelse IDE
Programvare kreves for Appium :
- JDK, Appium Server, Eclipse, Android SDK
- Krukker: java-client-krukker og Selen-krukker.
- Apk: Søknad skal automatiseres
- Ekte enhet: I dette tilfellet SAMSUNG Note3
- USB-driver for ekte enhet: I dette tilfellet SAMSUNG Kies
Trinn 1: Installer Java Development Kit (JDK)
Steg 2: Oppsett Java-miljøvariabel bane
Gå til terminalen og skriv:
Åpne .bash_profile
Still inn ANDROID_HOME-banen så vel som JAVA_HOME-banen
Trinn 3: Installer Android SDK / ADB på MAC
Vi må installere verktøy, tillegg og tilhørende API-nivåpakker (i dette tilfellet Android 4.4.2 API 19).
(Merk:Klikk på et hvilket som helst bilde for forstørret visning)
Trinn 4: Last ned og epoker installere server
Merknad 1: Du trenger ikke å angi noe i ikonet for generelle innstillinger. Når Appium Server er installert, vil serveradressen, så vel som portadressen, være angitt som standard. Portadressen vil være 4723. Brukeren kan endre serveradressen om nødvendig.
Notat 2: I Android Setting må brukeren angi APK-banen der APK-en ligger, Sjekk appbane, pakke og starte aktivitet.
Hvordan finne .Apk filpakke navn og Launcher Aktivitetsnavn:
Det er så mange måter å finne ut pakkenavn og Launcher Activity Name for et program. Her brukes terminal for å få navn på pakke- og lanseringsaktivitet.
Gå til terminalen og skriv:
aapt dump badging
Trykk på 'Enter' for skjermbildet nedenfor:
Hvis en bruker spesifiserer pakkenavn i Appium Server, så vent Launcher Activity Name til Aktivitetsnavn vises automatisk.
I dette tilfellet Navn på lanseringsaktivitet er:
' com.amazon.mShop.android.home.HomeActivity. ”
Trinn for å aktivere utviklermodus / alternativer på Android-telefon eller nettbrett
Trinn 1:Aktiver utvikleralternativer
1) Trykk på Hovedmeny ikon.
to) Gå til Innstillinger .
3) Rull ned til ‘ Om telefonen ‘Og trykk på den.
4) Rull ned til bunnen, trykk på ‘ Byggnummer ’ Syv (7) ganger . ( Byggnummeret ditt kan variere ). Etter det tredje trykk, kan brukeren se en leken dialog “ Du er en utvikler ”. Fortsett å tappe til dialogboksen vises.
5) Du kan legge merke til utvikleralternativene på skjermen nå.
Steg 2:Slå på USB-feilsøking
1) Gå til Utviklermuligheter .
to ) Å velge USB-feilsøking .
3) Det kan vise Pop-up melding og hvis den gjør det, rett og slett klikk OK .
Trinn 3:Last ned og installer USB-driver for tilsvarende ekte enhet. I dette tilfellet SAMSUNG Kies.
Hvordan finne element ved hjelp av UIAutomatorViewer?
1) Det første trinnet før du finner et element på enheten, er å koble enheten til datamaskinen.
Følg trinnene nedenfor for å kontrollere enhetens tilkobling:
- Gå til Terminal .
- Skriv inn ‘ ADB-enheter '
Dette viser listen over enheter som er koblet til systemet.
to) På den virkelige enheten, åpne appen som må automatiseres (Her er Amazon-appen automatisert)
3) Gå til følgende katalog for å åpne UIAutomatorViewer :
Brukere -> Bibliotek -> Android -> sdk -> verktøy -> uiautomatorviewer.bat
TIDLIGERE: brukere / bikram.badatya / Bibliotek / Android / sdk / verktøy /
4) I UIAutomatorViewer klikker du på Enhetsskjermbilde .
5) Ved å klikke Enhetsskjermbilde, enhetsbildet sammen med detaljert informasjon vises på venstre side av UIAutomator-vinduet.
6) Når du klikker på et hvilket som helst element på siden, vil relevant informasjon om elementet vises på høyre side.
7) Klikk på Hovedmeny for å vise alle eiendommer.
Appium Test for å starte Amazon App
1) Start Appium Server.
2) Android-innstillinger.
3) Generelle innstillinger for serveradresse og portadresse:
4) Klikk på startknappen .
Kodebit for å starte Amazon Application:
package com.AppiumDemo; //Library to create the path to APK import java.io.File; //Library used to verify if URL is malformed import java.net.MalformedURLException; //Library used to create URL for the Appium server import java.net.URL; import java.util.concurrent.TimeUnit; //Libraries for import selenium WebDriver import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; //Libraries for configuring Desired Capabilities import org.openqa.selenium.remote.DesiredCapabilities; //Library for import TestNG import org.testng.annotations.Test; //Libraries for import Appium Drivers import io.appium.java_client.MobileElement; import io.appium.java_client.android.AndroidDriver; public class LauchAmazon { private static AndroidDriver driver; //static WebDriver driver; @Test public void setup() throws MalformedURLException, InterruptedException{ // Path to File appDir = new File('//Users//bikram.badatya//Library//Android//sdk//platform-tools//'); //Path to to Amazon apk File> File app = new File(appDir, 'Amazon.apk'); //To create an object of Desired Capabilities DesiredCapabilities capabilities = new DesiredCapabilities(); //To set Command Timeout in appium server.Its optional you can set in appium Server itself. capabilities.setCapability('no',true); capabilities.setCapability('newCommandTimeout', 100000); // Name of the OS: Android, iOS or FirefoxOS capabilities.setCapability('platformName', 'Android'); //set the name of the connected device.you have to give same name in both server and the code capabilities.setCapability('deviceName','41001fd89730a000'); //Mobile OS version. My device is running Android 4.4.2 capabilities.setCapability('AndroidVersion','4.4.2'); //set the package name of the app capabilities.setCapability('appPackage', 'com.amazon.mShop.android'); //set the Launcher activity name of the app capabilities.setCapability ('appActivity','com.amazon.mShop.android.home.HomeActivity'); // Name of mobile web browser to automate. It should be an empty string, as we are automation an app. capabilities.setCapability('browserName', ''); //driver object with new Url and Capabilities driver = new AndroidDriverNår det ovennevnte skriptet kjøres, vil Amazon-applikasjonen bli lansert på den virkelige enheten, og en liste over meldinger vises i Appium-konsollen.
Viktige kommandoer
1) Slik dreper du adb-server:
adb kill-server
to) Slik starter du adb-server:
adb start-server
3) For å angi JAVA_Home-sti også ANDROID_Home-bane
åpne .bash_profile
4) For å få pakkenavn og android Launcher-navn i apk (annen måte)
aapt dump badging .apk navn
Tidligere- aapt dump badging
/users/bikram.badatya/Library/Android/sdk/platform-tools/Amazon.apk
5) Å installere apk i ekte enhet
adb installere .apk navn
6) For å avinstallere apk i ekte enhet
ADB avinstallere
Tidligere - adb avinstallere com.amazon.mShop.android
Begrensninger fra tidligere epoker
- Den støtter ikke Android API-nivået mindre enn 17
- Toast-meldinger støttes ikke
- Skriptutførelse på IOS-plattformen er veldig treg
- Bevegelsesstøtte er begrenset
Utfordringer når du arbeider med Appium
#1) For å få navnet på lanseringsaktiviteten, som kreves for å starte applikasjonen, kan mange metoder følges slik at en ekstra apk med navnet “apkInfo” må installeres, visse kodelinjer må skrives osv. Men i dette dokumentet, følgende kommando brukes til å få navnet til lanseringsaktiviteten.
dvs. aapt dump badging .apk navn
#to) Under oppsett i Android SDK-manager må vi fokusere på følgende pakker som må avinstalleres. Ellers starter ikke applikasjonen

# 3) Spesielt på MAC må vi sette opp Java_HomePath og Android HomePath i .bash_profile slik at det ikke kreves å sette opp igjen og igjen.
# 4) Å starte applikasjonen ved hjelp av en emulator tar mer tid i forhold til en ekte enhet. Derfor anbefales bruk av en ekte enhet.
Konklusjon
Med nye trender og større etterspørsel etter mobilapper, migrerer alle større selskaper for å få virksomheten sin til mobilapper. For å frigjøre mobilapper av høy kvalitet, er automatiseringstesting av mobilapper den siste trenden i bransjen.
Appium er på grunn av sin enkelhet og brukervennlighet et av de ledende og mest brukte verktøyene over hele kloden for automatiseringstesting av mobilapper for iOS eller Android.
Om forfatteren: Dette innlegget er skrevet av STH-teammedlem Neeraj. Han er en lidenskapelig programvaretester som for tiden jobber som Senior Software Development Engineer i Test og liker å teste nett- og mobilapplikasjoner.
Sjekk her for å lese mer om Mobil automatisering ved hjelp av Appium Studio Tool.
Anbefalt lesing
- Veiledning for testing av mobil UI (GUI-testing av iOS- og Android-apper)
- TOPP 15 Beste mobile testverktøy i 2021 for Android og iOS
- Mobile App Beta Testing Services (iOS og Android Beta Testing Tools)
- Hvorfor mobil testing er vanskelig?
- Koble ekte iOS- og Android-enheter fra Cloud til Appium Studio
- Beste verktøy for testing av programvare 2021 (QA Test Automation Tools)
- Mobile App Testing Tutorials (En komplett guide med 30+ tutorials)
- Hvordan få en mobil testjobb raskt - Karriereveiledning for mobil testing (del 1)