appium tutorial testing android
Så här installerar och installerar du Appium på Windows med det första programmet för att få en kickstart på Appium:
Appium är en öppen källkod testautomatiseringsverktyg används för testa mobilapplikationer . Det gör det möjligt för användare att testa olika typer av mobilapplikationer (som Native, Hybrid och Mobile Web) med hjälp av standard WebDriver-bibliotek.
Det finns tre typer av mobilappar:
- Inföding: Inbyggda appar byggda med iOS, Android eller Windows SDK. De är plattformsspecifika. De är byggda för att fungera på en plattform och / eller enhet.
- Hybrid: Hybridappar är webbapplikationer som utvecklats med HTML, CSS och omslag för en inbyggd applikation ovanpå UIWebView för iOS och “webbvisning” för Android-appar.
- Mobila webbappar: Mobila webbappar är de appar som nås via mobilwebbläsare.
Lista över handledning i denna Appium-serie
Handledning nr 1: Appium-handledning för nybörjare (den här handledningen)
Handledning nr 2: Introduktion till Appium: Vad är Appium och dess arkitektur
Självstudie 3: Ladda ner, installera och installera appium för Windows
Självstudie 4: Konfigurera mobil enhet med system i appium
Handledning nr 5: Automatisera Native App på Android-enhet med Appium
Självstudie nr 6: Hur man automatiserar webbapp på Chrome-webbläsare i Android-enhet
Vad du kommer att lära dig:
- Varför är Appium ett populärt verktyg för att automatisera mobilappar?
- Ställa in Appium-verktyget i Windows
- Installera appium med Eclipse IDE
- Begränsningar av tidigare epoker
- Utmaningar inför Appium
- Slutsats
Varför är Appium ett populärt verktyg för att automatisera mobilappar?
Appium är ett 'plattformsverktyg', dvs det låter dig skriva tester på flera plattformar (iOS, Android, Windows) med samma API: er. Använder sig av appium , du kör också automatiserade tester på faktiska enheter som surfplattor, mobiltelefoner etc.
Det är mest allmänt använt verktyg för regressionstestning av mobilappar på mobiltelefoner och surfplattor. Appium gör testning av mobilappsregression lätt; speciellt för stora mobilappar som uppdateras ofta med nya funktioner och funktioner.
Ställa in Appium-verktyget i Windows
Förutsättningar: Detta är en kortlista med programvara och hårdvara som krävs för att automatisera en mobilapptestning med Appium:
- Din dator ska ha JDK, Appium Server, Eclipse, Android SDK installerad
- Apk: Mobilapplikationen ska automatiseras i vårt Case ContactManager.apk
- Testanordning: I detta fall Moto G
- Burkar: Java-klientburkar och Selenburkar.
- USB-drivrutin för testanordning: I detta fall Moto G
Steg 1: Installera Java Development Kit ( JDK )
Steg 2: Ställ in Java Miljövariabel väg
Steg 3: Ladda ner och installera Android SDK här och uppdatera API: erna
För att uppdatera API, Öppna Eclipse -> Klicka på Window i Eclipse Menu och -> Välj Android SDK manager
Uppdatera API: erna enligt bilden nedan:
Steg 4: Nu måste vi installera Appium för Windows. Gå här och ladda ner Appium för Windows.
Steg 5: Jag nstall Node JS härifrån: Nod JS nedladdning
Steg 6: Ställ in ANDROID_HOME väg såväl som JAVA_HOME väg
Ange sökvägen för verktyg och plattformsverktyg som finns i Android SDK-sökvägen.
Dessa mappar skulle finnas i adt-bunt-windows-x86_64-20140702 sdk
Nu måste vi uppdatera miljövariabeln (se nedan skärmdump)
(Notera:Klicka på valfri bild för förstorad vy)
Uppdatera sökväg med verktyg och plattformsverktyg (mapp finns i Android SDK).
Inmatningen i Path kommer att se ut som nedan:
C: Program Files nodejs ;% ANDROID_HOME% tools;% ANDROID_HOME% platform-tools
Steg 7: Åtkomst till adb
Tryck på Win + R-tangentkombinationen
Typ CMD . Nu i CMD-typ “ adb ”. adb kommer att vara tillgängligt
Förbereder mobil enhet för automatisering med Appium
Anslut din mobila testenhet via USB till PC. Aktivera utvecklarläge på mobiltelefon innan du automatiserar appen.
Steg för att aktivera utvecklarläge / alternativ på Android-telefon eller surfplatta:
1) Öppna Inställningar, tryck på alternativet 'Om', tryck på 'Programvaruinformation', tryck på 'Mer'.
två) Tryck på 'Byggnummer' 7 gånger för att aktivera utvecklaralternativ.
3) Gå tillbaka till Inställningar och se till att inställningen ”Alternativ för utvecklare” finns där.
4) Tryck på utvecklaralternativ och aktivera alternativet USB-felsökning från menyn på nästa skärm.
För mer hjälp följ detta länk .
5) Ladda ner och installera USB-drivrutiner för Mobile Testing-enheten på PC.
6) I ADB-terminal typ 'ADB-enheter'
C: Users NEERAJ> adb-enheter
Lista över anslutna enheter
TA93305G0L-enhet
Detta visar listan över enheter som är anslutna till systemet. Vi kommer att använda App Contact Manager.apk som en exempelapp för att automatisera. ladda ner och installera Kontakta Manager.apk på enheten.
Börjar automatisera Android-appen med Appium
Kör nu appium.exe på PC.
Appium måste köras och skicka följande parametrar och enhetsnamn i Android-inställningarna.
Notera: Ändra inte portnummer eller något i den allmänna inställningsikonen. När Appium Server startas kommer serveradressen och portadressen att ställas in som standard. Portadressen är som standard 4723
I Android Setting måste användaren ställa in APK-sökvägen där APK-filen finns, Kontrollera app-sökväg, paket och starta aktivitet.
- Anslut din Android-telefon till datorn och aktivera USB-felsökningsläge.
- Öppna kommandotolken.
- Skriv kommando adb logcat .
- Öppna appen på din Android-telefon. Tryck omedelbart CTRL + C i kommandotolken
com.exempel.android.contactmanager är paketnamn och com.exempel.android.contactmanager.ContactManager är aktivitetsnamnet på appen Contact Manager.
I ovanstående skärmdump har vi fyllt i all nödvändig information i Appium dvs paket, startaktivitet, mobil enhetsnamn.
Hur hittar jag element med UIAutomatorViewer?
1) För att automatisera appen måste vi först hitta de element i appen som vi behöver interagera
för det kommer vi att använda UIAutomatorViewer
två) Anslut enheten där appen är installerad till PC
3) Gå till Terminal.
Typ ”Adb-enheter”
C: Users NEERAJ> adb-enheter
Lista över anslutna enheter
TA93305G0L-enhet
Detta visar listan över enheter som är anslutna till din dator.
4) Öppna appen som du vill automatisera i mobil enhet.
5) Öppen UIAutomatorViewer och gå till följande väg
adt-bunt-windows-x86_64-20140702 sdk verktyg
6) Så se till att din app startas och UIAutomaterViewer startas klicka på enhetens skärmdump.
7) Detta alternativ tar skärmdumpen av appen med all detaljerad information om alla element som syns i appen.
Klicka på knappen Lägg till kontakt för vårt testscenario
bästa gratis popup-blockeraren för krom
Från ovanstående skärmdump kan vi använda locator By.name (“Lägg till kontakt”)
Från ovanstående skärmdump kan vi ta By.className (“android.widget.EditText”)) som vår lokaliserare för kontaktnamn
By.name (“Spara”) kan användas som vår lokaliserare för Save Button
Första programmet för automatisering av en app i appium
Kör nedanstående skript, Contact Manager-applikationen startas på den riktiga enheten och alla loggar visas i Appium-konsolen som visar alla åtgärder som anropas av ovanstående skript.
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 } }
Installera appium med Eclipse IDE
Programvara krävs för Appium :
- JDK, Appium Server, Eclipse, Android SDK
- Burkar: Java-klientburkar och Selenburkar.
- Apk: Ansökan ska automatiseras
- Verklig enhet: I detta fall SAMSUNG Note3
- USB-drivrutin för riktig enhet: I det här fallet SAMSUNG Kies
Steg 1: Installera Java Development Kit (JDK)
Steg 2: Uppstart Java-miljövariabel väg
Gå till terminalen och skriv:
Öppna .bash_profile
Ställ in ANDROID_HOME-sökvägen såväl som JAVA_HOME-sökvägen
Steg 3: Installera Android SDK / ADB på MAC
Vi måste installera verktyg, tillbehör och motsvarande API-nivåpaket (i detta fall Android 4.4.2 API 19).
(Notera:Klicka på valfri bild för förstorad vy)
Steg 4: Ladda ner och epoker installera server
Anteckning 1: Du behöver inte ställa in något i den allmänna inställningsikonen. När Appium Server är installerat, kommer serveradressen och portadressen att ställas in som standard. Portadressen blir 4723. Användaren kan ändra serveradressen om det behövs.
Anteckning 2: I Android Setting måste användaren ställa in APK-sökvägen där APK-filen finns, Kontrollera app-sökväg, paket och starta aktivitet.
Så här hittar du. Apk-filpaketnamn och Launcher-aktivitetsnamn:
Det finns så många sätt att ta reda på paketnamn och Launcher Activity Name för ett program. Här används terminalen för att få paket- och startaktivitetsnamn.
Gå till terminalen och skriv:
aapt dumpa märkning
Tryck på 'Enter' för nedanstående skärm:
Om en användare anger paketnamn i Appium Server väntar du på Aktivitetsnamn i Launcher tills Aktivitetsnamn visas automatiskt.
I det här fallet är Launcher Activity Name:
' com.amazon.mShop.android.home.HomeActivity. ”
Steg för att aktivera utvecklarläge / alternativ på Android-telefon eller surfplatta
Steg 1:Aktivera utvecklaralternativ
1) Klicka på Huvudmeny ikon.
två) Gå till inställningar .
3) Bläddra ner till ” Om telefon Och tryck på den.
4) Rulla ner till botten, tryck på “ Bygga nummer' Sju (7) gånger . ( Ditt byggnummer kan variera ). Efter tredje tryckningen kan användaren se en lekfull dialogruta ” Du är en utvecklare ”. Fortsätt knacka tills dialogrutan visas.
5) Du kan märka utvecklaralternativen på din skärm nu.
Steg 2:Slå på USB-felsökning
1) Gå till Utvecklaralternativ .
två ) Välj USB felsökning .
3) Den kan visa Dyka upp meddelande och om det gör det, helt enkelt klick OK .
Steg 3:Ladda ner och installera USB-drivrutin för motsvarande verklig enhet. I det här fallet SAMSUNG Kies.
Hur hittar jag element med UIAutomatorViewer?
1) Det första steget innan du hittar något element på enheten är att ansluta enheten till datorn.
Följ stegen nedan för att kontrollera enhetens anslutning:
- Gå till Terminal .
- Skriv ' ADB-enheter ''
Detta visar listan över enheter som är anslutna till systemet.
två) Öppna appen som måste automatiseras på den riktiga enheten (här är Amazon-appen automatiserad)
3) Gå till följande katalog för att öppna UIAutomatorViewer :
Användare -> Bibliotek -> Android -> sdk -> verktyg -> uiautomatorviewer.bat
FÖRE DETTA: användare / bikram.badatya / Library / Android / sdk / tool /
4) Klicka på i UIAutomatorViewer Enhets skärmdump .
5) På att klicka Enhets skärmdump, Enhetsbilden tillsammans med den detaljerade informationen visas till vänster i UIAutomator-fönstret.
6) När du klickar på något element på sidan visas relevant information om det elementet på höger sida.
7) Klicka på Huvudmeny för att visa alla egenskaper.
Appium Test för att starta Amazon App
1) Starta Appium Server.
2) Android-inställningar.
3) Allmänna inställningar för serveradress och portadress:
4) Klicka på startknappen .
Kodavsnitt för att starta Amazon-applikationen:
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 ovanstående skript körs kommer Amazon-applikationen att startas på den riktiga enheten och en lista med meddelanden kommer att visas i Appium-konsolen.
Viktiga kommandon
1) För att döda adb-servern:
adb kill-server
två) Så här startar du adb-servern:
adb startserver
3) För att ställa in JAVA_Home-sökväg också ANDROID_Home-sökväg
öppna .bash_profile
4) För att få paketnamn och Android Launcher-namn i apk (på annat sätt)
aapt dump badging .apk namn
Före detta- aapt dumpa märkning
/users/bikram.badatya/Library/Android/sdk/platform-tools/Amazon.apk
5) För att installera apk i riktig enhet
adb installera .apk namn
6) För att avinstallera apk i riktig enhet
adb avinstallera
Före detta - adb avinstallera com.amazon.mShop.android
Begränsningar av tidigare epoker
- Det stöder inte Android API-nivå mindre än 17
- Toast-meddelanden stöds inte
- Skriptkörning på IOS-plattformen är mycket långsam
- Gester stöd är begränsat
Utmaningar inför Appium
# 1) För att få namnet på startprogrammet, vilket krävs för att starta applikationen, kan många metoder följas som att en extra apk med namnet “apkInfo” måste installeras, vissa kodrader måste skrivas etc. Men i detta dokument, följande kommando används för att få namnet på startprogrammet.
dvs. aapt dump badging .apk namn
#två) Under installationen i Android SDK-hanteraren måste vi fokusera på följande paket som måste avinstalleras. Annars startar inte programmet
# 3) Speciellt på MAC måste vi ställa in Java_HomePath och Android HomePath i .bash_profile så att det inte krävs att ställa in om och om igen.
# 4) Att starta applikationen med en emulator tar längre tid jämfört med en riktig enhet. Därför rekommenderas användning av en riktig enhet.
Slutsats
Med framväxande trender och mer efterfrågan på mobilappar migrerar alla större företag för att få sin verksamhet på mobilappar. För att släppa mobilappar av hög kvalitet är automatiseringstestning av mobilappar den senaste trenden i branschen.
Appium är på grund av sin enkelhet och användarvänlighet ett av de ledande och mest använda verktygen över hela världen för automatiseringstestning av mobilappar för iOS eller Android.
Om författaren: Detta inlägg är skrivet av STH-teammedlem Neeraj. Han är en passionerad programvarutestare som för närvarande arbetar som Senior Software Development Engineer i Test och tycker om att testa webb- och mobilapplikationer.
Kolla här för att läsa mer om Mobil automatisering med Appium Studio Tool.
Rekommenderad läsning
- Handledning för mobil UI-testning (GUI-testning av iOS- och Android-appar)
- TOPP 15 Bästa mobiltestverktyg 2021 för Android och iOS
- Mobiltapp Beta Testing Services (iOS och Android Beta Testing Tools)
- Varför mobiltestning är tufft?
- Ansluter riktiga iOS- och Android-enheter från moln till Appium Studio
- Bästa verktyg för testning av programvara 2021 (QA Test Automation Tools)
- Mobile App Testing Tutorials (En komplett guide med 30+ Tutorials)
- Hur får jag ett mobiltestjobb snabbt - Karriärguide för mobil testning (del 1)