uiautomatorviewer tutorial
Denna handledning förklarar hur man laddar ner, installerar och konfigurerar UIAutomator och hur man använder UIAutomatorViewer för att inspektera Element i Android-applikationen:
Google har tillhandahållit sina egna Android-testautomationsverktyg, och UIAutomatorviewer är en av dem. Om du har en idé om Selen, blir det lätt för dig att förstå UIAutomator.
Denna handledning ger dig en detaljerad förklaring av UIAutomator tillsammans med dess installation, konfiguration, komponenter, kommandon, provtestprogram och några av de vanliga frågorna.
Låt oss utforska !!
nätintervjufrågor och svar för erfarna
Vad du kommer att lära dig:
Vad är UIAutomatorViewer?
UIAutomatorViewer kommer som en del av Android SDK-hanteraren och det är ett UI-inspektör GUI-verktyg (grafiskt användargränssnitt) som hjälper oss att inspektera UI-element i en Android-applikation.
Inspektion av en applikation är viktig eftersom vi behöver lokaliserare som resurs-ID, klass, text för en Android-applikationskomponent för att automatisera applikationen.
En XML-skärmdump av den aktuella skärmen tas av UIAutomatorViewer. Genom att klicka på något element på skärmen kan vi lära känna den klass som används för att representera, elementet på skärmen tillsammans med alla egenskaper som listas på verktygets högra sida.
Objekthierarkin är ordningen på objekten i vilka de definieras. Till exempel ,en klass är ett barn av en annan klass. Den placeras längst upp till höger på verktyget.
Med UIAutomator kan du skriva automatiseringstestfall för Android-applikationer. Dessa tester kommer att utföras på applikationens UI-lager. Du kan simulera varje åtgärd som en testare gör manuellt, till exempel , verifierar inloggning.
Installation
Du kan installera det här verktyget på två sätt.
# 1) Android Studio
Om du arbetar ofta med testning / utveckling av Android-applikationer kan du installera Android Studio.
Den har alla verktyg för att bygga, plattform och SDK. Så genom att installera Android Studio får du alla verktyg med den. Det föreslås att du bara använder Android Studio om du har en bra bärbar dator / PC. Eftersom det krävs mycket RAM på din dator och behöver 4-5 GB data för att ladda ner och installera alla krav. Men du får allt med bara ett klick.
# 2) Endast kommandoradsverktyg
Om du bara behöver testrelaterade verktyg kan du bara ladda ner Android SDK-hanteraren.
I denna handledning följer vi den andra metoden eftersom den första metoden är ganska mycket rakt framåt.
Öppna det här URL och rulla ner till rubriken Endast kommandoradsverktyg, klicka sedan på lämplig nedladdningsfillänk baserat på maskinens operativsystem. Se skärmdumpen nedan för referens.
För att köra ett program måste vi ha Android SDK-verktyg, plattformsverktyg, plattformar och byggverktyg.
- Öppen verktyg och klicka på plattformsverktyg länk & ladda ner filerna.
- Skapa en mapp med namnet AndroidSDK och extrahera de nedladdade verktygen och plattformsverktygen här.
- Inuti verktyg hittar du en android.bat mapp, klicka eller kör bat-filen och Android SDK Manager-fönstret visas. Välj önskad plattformsversion, till exempel, Android 25 relaterad och klicka på installera. Du måste välja plattformar och bygga verktyg för den version som krävs av Android API.
- Acceptera villkoren. Ladda ner och installera plattformar och byggverktyg. Se till att alla nödvändiga filer finns under AndroidSDK-mappen.
Tillsammans med Android SDK behöver vi några fler saker för att börja som nämnts nedan.
Ant Tool:
Apache-verktyget kommer att användas för att sammanställa och bygga en skriftlig kod. Med hjälp av Ant-verktyget kan vi skapa en JAR-fil som är en Java-arkivfil. Med hjälp av jar-filen körs automatiseringsserie / testfall.
=> Installera Apache ant här
Eclipse IDE och Java:
Vi hoppas att du måste ha Eclipse IDE och editor för att bygga vår kod och Java installerat på din dator. Om inte, installera den senaste versionen av Eclipse från här
Vi behöver ett språk för att skriva våra automatiska testfall och vi använder Java för att automatisera våra test.
= > Installera Java här
Konfiguration
Nästa sak vi behöver göra är att lägga till en miljövariabel för SDK-hanteraren. Du kan använda det här verktyget utan att lägga till miljövariabeln också, men problemet är att du inte kan använda det överallt i systemet.
Du kommer bara att kunna komma åt den i den mapp du installerade den. Så vi lägger bättre till miljövariabler för SDK för att komma åt den var som helst. Skapa nu miljövariabler för Ant, Android SDK och för Java. Lägg till dem alla i sökvägen.
För att göra det, navigera till System -> Avancerade systeminställningar -> fliken Avancerat -> Miljövariabler -> Klicka på Ny i avsnittet Systemvariabler. Denna navigering kan skilja sig från system till system.
Exempel på systemvariabler för sökvägar:
ANDROID_HOME: F: Workspace SDK
ANT_HOME: C: apache-ant-1.10.5
JAVA_HOME: C: Program Files Java jdk1.8.0_111
Lägg nu till alla dessa systemvariabler till sökvägen som visas i exemplet nedan.
% ANDROID_HOME%;% ANT_HOME%;% JAVA_HOME%
Slå Tillämpa och sedan på OK knapp.
Nu har vi alla inställningar redo.
Innan vi börjar vår kod måste vi först se till att Android-enheten är redo att köra tester på den. För det måste vi aktivera utvecklaralternativen om de inte är aktiverade ännu.
Aktivera utvecklaralternativen i Android:
- Öppna telefoninställningarna och navigera till 'Systemet' och sedan till 'Om telefon' sektion.
- Där hittar du 'Bygga nummer' .
- Tryck på Byggnummer fem gånger.
- Utvecklaralternativet aktiveras och du kan se det i 'Systemet' .
- Öppna alternativ för utvecklare och aktivera 'USB felsökning' och “Verifiera appar via USB” .
Hur man inspekterar UI-element på Android
Öppna kommandotolken var som helst och ange kommandot uiautomatorviewer. Observera att det inte finns några mellanslag i kommandot och det är bara ett enda ord. Om du har konfigurerat SDK korrekt får du ett UIAutomator-fönster öppnat. Kontrollera annars om installationen och konfigurationen är korrekt utförda.
Låt oss se användningen av varje inringat element en efter en.
# 1) Klicka på den andra ikonen från vänster till höger, det vill säga skärmdumpsikonen. På bilden som visas är den markerad som den som är omgiven med rött.
#två) Du kan spara den aktuella skärmdumpen samt UI-dumpfil för framtida ändamål. Sparade filer kan öppnas med mappikonen högst upp.
# 3) Detta avsnitt innehåller all information relaterad till UI-hierarkin. Du kan söka med den angivna sökrutan. Expandera / komprimera hierarkin. Korsa mellan objekten med upp- och nedpilarna.
# 4) 'Noddetaljer' är den plats där vi får information om ett UI-element.
Den visar all nödvändig information om elementet som dess tillgänglighet, synlighet och olika lokaliserare som klassnamn, text, resurs-ID, innehållsbeskrivning etc. Med vilken vi behöver komma åt elementet i automatisering.
Därefter ser skärmen ut som visas nedan.
Klicka på Googles sökruta på enheten och ta en skärmdump igen med UIAutomatorViewer.
Klicka på de visade UI-komponenterna på PC och observera. Verktyget upptäcker den komponent du väljer och det visar detaljerna i komponenten. Den valda användargränssnittskomponenten markeras med en rödfärgad ruta till vänster på skärmen.
Exempel på testprogram
Skapa ett testprojekt och klass i Eclipse:
Öppna Eclipse IDE på din dator och klicka på Arkiv -> Nytt -> Java-projekt . Ett fönster för skapande av projekt öppnas, ange projektnamnet till exempel “UiAutomator_Demo”. Lämna alla standardinställningar som de är och klicka två gånger på Slutför-knappen. Nu har ditt projekt skapats.
Det skapade projektet kommer att visas till vänster om IDE. Högerklicka på projektnamnet där du behöver välja Ny -> Klass och i fönstret öppnas för att ange klassnamnet, till exempel, DemoTest och tryck på finish-knappen.
Lägga till burkar i projektet
Vi bör lägga till alla bibliotek som vi använder när vi automatiserar tester.
# 1) Högerklicka på projektnamnet i Eclipse och välj sedan 'Egenskaper' .
#två) Ett nytt fönster med egenskaper visas, välj “Java build path”.
# 3) Klicka på menyn Bibliotek och klicka på “Lägg till externa burkar” knapp.
# 4) Fönstret Filhanterare öppnas. Navigera till mappen där SDK är installerad. Välj android.jar och uiautomator.jar och tryck sedan på tillämpningsknappen och stäng det extra fönstret.
I det här testet utför vi en liten operation i Google-sökningen för att se om resultaten visas enligt vår sökfråga.
Nedan följer stegen för att utföra stegen:
- Klicka på Googles sökruta.
- Ange en sökfråga, till exempel, Hjälp för testning av programvara
- Tryck på enter-knappen och kontrollera om resultaten innehåller webbplatslänken Software Testing Help
Så det här är stegen som vi utför manuellt.
Låt oss automatisera detsamma.
package com.android.uiautomation; import com.android.uiautomator.core.UiDevice; import com.android.uiautomator.core.UiObject; import com.android.uiautomator.core.UiSelector; import com.android.uiautomator.core.UiObjectNotFoundException; import com.android.uiautomator.testrunner.UiAutomatorTestCase; public class DemoTest extends UiAutomatorTestCase{ public void testApps() throws UiObjectNotFoundException, InterruptedException { getUiDevice().pressHome(); //Step1 UiObject searchBox = new UiObject(new UiSelector().resourceId ('com.google.android.googlequicksearchbox:id/search_edit_frame')); searchBox.clickAndWaitForNewWindow(); //step2 UiObject searchBar = new UiObject(new UiSelector().resourceId ('com.google.android.googlequicksearchbox:id/search_box')); searchBar.setText('SoftwareTestingHelp'); //step3 UiDevice device = getUiDevice(); device.pressEnter(); Thread.sleep(3000); //step4 UiObject results = new UiObject(new UiSelector().textContains('Software Testing Help')); //step5 if(results.exists()){ System.out.println('Passed: Result has been shown for software testing help'); } else{ System.out.println('Failed: Result were not shown for software testing help'); } getUiDevice().pressHome(); } }
Låt oss utforska ovanstående kodavsnitt.
Vi har importerat alla nödvändiga moduler till vårt program.
Steg 1 : Lagra resurs-ID för Googles sökruta i ett UiObject och utföra klickoperationen.
Steg 2 : Mata in texten i sökrutan och tryck Enter
Steg 3 : Verifierar om sökresultaten innehåller webbplatsen Software Testing Help. Skriva ut 'Passerade' meddelande till konsolen om önskad text finns, annars skriv ut “Misslyckades”.
Lista över kommandon
# 1) Skapa ett testprojekt
Android skapa uitest-projekt –t -p
Detta kommando skapar en build.xml-fil som kommer att användas vidare för Jar-generering.
-t-parametern tar Android-versionen som en parameter. Du måste ange vilken version av Android du riktar in dig för att testa. Exempel: android-25 dvs vi riktar oss mot Android 7-versionen.
företag som är involverade i sakernas internet
-p-parameter är där du behöver nämna din väg för projektet. Exempel: D: Workspace UiAutomator_Demo
-n är projektets namn Exempel: UiAutomator_Demo
# 2) Bygg din källkod
Som tidigare nämnts skulle vi använda Apache ant som ett byggverktyg för att kompilera vår källkod och generera en körbar JAR-fil.
Myrbyggnad
Om det inte finns något fel vid kompileringen visas ett meddelande på konsolen 'Bygg är framgångsrikt' .
Sedan kan du hitta den körbara jar-filen i är projektmapp med namnet som anges vid tidpunkten för det första kommandot. Om det finns några problem i din kod visas felen på konsolen och JAR-filen genereras inte.
# 3) Push genererad JAR-fil till enheten
ADB push / data / local / tmp /
Exempel: adb push D: Workspace UiAutomator_Demo bin UiAutomator_Demo.jar / data / local / tmp /
Eftersom UiAutomator-testerna körs baserat på JAR-filen som skjuts till enheten måste vi först trycka vår jar-fil till enheten. För detta kommer vi att använda adb push-kommando.
Detta kommando tar två parametrar - en är filen som ska tryckas till Android-enheten och den andra är destinationsvägen.
Det andra argumentet för detta kommando är destinationsvägen där vår fil ska tryckas. I vårt fall ska det vara / data / local / tmp /
# 4) Kör testet
Nu har vi allt klart. Det enda som väntar är att utföra vårt test.
Adb shell uiautomator runtest –c
Exempel: adb-skal uiautomator runtest UiAutomator_Demo.jar –c com.android.uiautomation.DemoTest
Om du inte vet hur du får klasskvalificerat namn, följ sedan nedanstående process:
I din förmörkelse klickar du på rullgardinsmenyn för ditt projekt och går ner till klassen där din testkod finns. Här är klassen DemoTest. Högerklicka på klassnamnet. Ett fönster öppnas, klicka på “Kopiera kvalificerat namn” .
Så snart du trycker på det här kommandot i kommandotolken kommer testet att köras och du kan nu se testet utföras i enheten.
Vanliga frågor
F # 1) Är sökinställning för SDK obligatorisk?
Svar: Nej, men det är tillrådligt att ställa in sökvägen, för om du inte ställer in sökvägen till SDK i miljövariabler kan du bara komma åt filer på den plats där den är installerad.
Så för att komma åt din SDK var du än behöver ställa in sökvägen. Inte bara för SDK, men det är också tillrådligt att följa detsamma för Java och ant.
F # 2) Varför visar UIAutomatorViewer fel när du tar en skärmdump?
Svar:
Det finns tre möjliga orsaker till det:
# 1) Adb har inte känt igen din enhet och du måste uppdatera drivrutinsprogramvaran. Du kan söka online efter dem och installera, till exempel, om du arbetar med en LG-enhet kan du söka efter LG ADB-drivrutiner.
#två) Enheten är inte i viloläge: För skärmen som inte är statisk, som om videon spelas eller någon animering visas, kan uiautomatorviewer inte ta en skärmdump i dessa fall. Så se till att din enhetsskärm inte visar några videor / animationer när du tar en skärmdump.
# 3) Android-versionen matchar inte: Se till att din SDK-API-version är högre eller lika med enhetens Android-version API-nivå. Om inte kan du uppdatera SDK genom att klicka på android.bat-filen eller genom SDK-hanteraren.
F # 3) Finns det någon officiell dokumentation för UIAutomatorViewer?
Svar: Ja, Google har tillhandahållit dokumentation för UIAutomatorViewer. Inte dock helt täckt i alla ämnen, men kan få en uppfattning om detta verktyg.
F # 4) Varför visar kommandot ADB-enheter inga enheter?
Svar: Kontrollera om utvecklaralternativen är aktiverade på din enhet. Att möjliggöra Alternativ för utvecklare på Android-enhet, följ nedanstående process. Gå till enhetsinställningarna och Om telefonen . Tryck på 5 gånger på byggnummer. Ett skålmeddelande 'Du är utvecklare nu' visas och alternativet för utvecklarinställningar läggs till.
F # 5) Varför är det? ADB känner fortfarande inte igen min enhet?
Svar: Det kan finnas ett drivrutinsproblem. Du måste uppdatera drivrutinen som hjälper till att upptäcka enheten.
Följ stegen nedan för att uppdatera drivrutinen.
# 1) Öppna ditt system och öppna enhetshanteraren; du kan få den här inställningen genom att högerklicka Startknapp .
ai-programvara lär sig att göra ai-programvara
#två) Öppna Enhetshanteraren, där kan du hitta ditt enhetsnamn i Android-enheter / bärbara enheter.
# 3) Högerklicka på enhetsnamnet och välj Uppdatera drivrutiner.
# 4) Klicka på Bläddra på min dator för alternativ för drivrutinsprogramvara och klicka på låt mig välja från en lista med drivrutiner på min dator.
# 5) Välj någon av de lämpliga drivrutinerna att installera och tryck på nästa knapp. Om drivrutinen har installerats kommer ett meddelande att visas nedan.
# 6) Eftersom det här är maskinvaruändringar som tillämpas på ditt system kan du behöva starta om systemet om du uppmanas att göra det.
# 7) Om du känner att enheten inte känns igen kan du först ändra lägesanslutningen. Dessa lägen visas på enheten när du ansluter enheten till systemet.
Exempel: Överföra filer, överföra foton, MIDI1.
F # 6) Kan jag se varje UI-komponentinformation i en Android-applikation?
Svar: Du kan se nästan alla UI-komponenternas detaljer i UIAutomatorViewer. Om något användargränssnitt / layout använder andra än standardinställningarna från android kan de inte visas i UIAutomatorViewer-verktyget.
Du kan be din utvecklare att lägga in någon identifierare till UI-elementet för att automatisera funktionen. Till exempel, sätta ett resurs-ID, innehållsbeskrivning etc.
F # 7) Använder Appium-verktyget UIAutomator-verktyg i det?
Svar: Ja.
F # 8) Stöder det här verktyget andra enheter som Windows / iOS än Android?
Svar: Nej, det här är utvecklat av Google och stöder endast Android-enheter.
F # 9) Vad är UIautomator Android?
Svar: UIAutomator är ett verktyg / ramverk som hjälper till att automatisera Android-applikationstestfall.
F # 10) Hur ställer du in UIAutomator?
Svar: Se installationsavsnittet i denna handledning för en detaljerad förklaring.
F # 11) Vad är UIAutomator i Appium?
Svar: UiAutomator är ett testramverk / verktyg som tillhandahålls av Android för att automatisera Android-applikationstestning, Appium använder det internt.
F # 12) Hur inspekterar du ett element i UIAutomator?
Svar: När du är klar med installationen öppnar du en kommandotolk och anger kommandot UIAutomatorViewer. Ett fönster visas på din dator. Anslut mobilen till datorn och klicka på enhetens skärmdump (uiautomator dump) andra ikon högst upp.
Efter den enheten kommer den aktuella skärmen att visas i inspektörsfönstret. Klicka på något av elementen för att få information om det elementet. För en detaljerad förklaring se Inspektera nödvändigt UI-element sektion.
Slutsats
För att sammanfatta,
- UIAutomatorViewer är ett grafiskt användargränssnittsverktyg för att inspektera UI-lagret i alla applikationer.
- Du måste känna till strukturen för användargränssnittet för en applikation som testas så att det blir lättare att automatisera användarinteraktionen i applikationsgränssnittet.
- UIAutomator använder en XML-ögonblicksbild och skärmdump. Du kan känna till layouthierarkin.
- För att automatisera UI-testerna av Android-applikationer måste du först identifiera några lokaliserare för att utföra en interaktion med appen Exempel: Klassnamn, resurs-id, text.
- Adb är en del av SDK som kallas Android Debug Bridge.
- Du kan öppna UIAutomatorViewer genom att ange kommandot uiautomatorviewer i kommandoraden.
- Eftersom detta verktyg är kostnadsfritt kan det användas av vem som helst och det är tillförlitligt.
Glad läsning!!
Rekommenderad läsning
- Hur man automatiserar webbapp på Chrome-webbläsare i Android-enhet
- Automatisera Native App på Android-enhet med Appium
- 11 bästa automatiseringsverktyg för testning av Android-applikationer (Android-apptestverktyg)
- 30 bästa GUI-testverktyg för GUI-testautomation (2021 LIST)
- Katalon Studio-handledning: Ett gratis testautomationsverktyg du har väntat på
- Ranorex Studio Hands-on Review: Allt-i-ett-testautomatiseringslösning
- SeeTest Automation Tutorial: A Mobile Test Automation Tool Guide
- TestProject Test Automation Tool Hands-on Review Tutorial