uiautomatorviewer tutorial
Denne vejledning forklarer, hvordan man downloader, installerer og konfigurerer UIAutomator, og hvordan man bruger UIAutomatorViewer til at inspicere Element i Android-applikation:
Google har leveret sine egne Android-testautomationsværktøjer, og UIAutomatorviewer er en af dem. Hvis du har en idé om selen, vil det være let for dig at forstå UIAutomator.
Denne vejledning giver dig en detaljeret forklaring af UIAutomator sammen med dens installation, konfiguration, komponenter, kommandoer, prøvetestprogram og nogle af de ofte stillede ofte stillede spørgsmål.
Lad os udforske !!
html interview spørgsmål og svar pdf
Hvad du lærer:
Hvad er UIAutomatorViewer?
UIAutomatorViewer kommer som en del af Android SDK-manager, og det er et UI inspector GUI (grafisk brugergrænseflade) værktøj, der hjælper os med at inspicere UI-elementer i en Android-applikation.
Inspektion af en applikation er vigtig, da vi har brug for lokaliseringer som ressource-id'er, klasse, tekst til en Android-applikationskomponent for at automatisere applikationen.
Et XML-skærmbillede af den aktuelle skærm bliver taget af UIAutomatorViewer. Ved at klikke på et hvilket som helst element på skærmen kan vi lære om den klasse, der bruges til at repræsentere, elementet på skærmen sammen med alle de egenskaber, der er anført på højre side af værktøjet.
Objekthierarkiet er rækkefølgen af objekter, som de er defineret i. For eksempel ,en klasse er et barn af en anden klasse. Det er placeret øverst til højre på værktøjet.
Ved hjælp af UIAutomator kan du skrive automatiseringstestsager til Android-applikationer. Disse tests udføres på UI-laget i applikationen. Du kan simulere hver eneste handling, som en tester udfører manuelt, for eksempel , bekræfter login.
Installation
Du kan installere dette værktøj på to måder.
# 1) Android Studio
Hvis du arbejder ofte med test / udvikling af Android-applikationer, kan du installere Android Studio.
Det har alle Build-, platform- og SDK-værktøjerne. Så ved at installere Android Studio får du alle værktøjerne med det. Det anbefales, at du kun går til Android Studio, hvis du har en god bærbar computer / pc. Fordi det kræver betydelig RAM på din pc og har brug for 4-5 GB data for at downloade og installere alle kravene. Men du får alt med kun et klik.
# 2) Kun kommandolinjeværktøjer
Hvis du kun har brug for testrelaterede værktøjer, kan du kun downloade Android SDK-manager.
I denne vejledning følger vi den anden metode, da den første metode er ret ligetil.
Åbn dette URL og rul ned til overskriften Kun kommandolinjeværktøjer, klik derefter på det passende link til downloadfil baseret på dit maskins OS. Se nedenstående skærmbillede til reference.
For at køre et program skal vi have Android SDK-værktøjer, Platform-værktøjer, Platforme og Build-værktøjer.
- Åben værktøjer og klik på platform-værktøjer link & download filerne.
- Opret en mappe med navnet AndroidSDK og udpak de downloadede værktøjer og platformværktøjer her.
- Inde i værktøjer finder du en android.bat mappe, skal du klikke eller køre bat-filen, og vinduet Android SDK Manager vises. Vælg den ønskede platformversion, for eksempel, Android 25-relateret og klik på installer. Du skal vælge platforme og oprette værktøjer til den krævede version af Android API.
- Accepter vilkårene og betingelserne. Download og installer platforme & byggeværktøjer. Sørg for, at alle de nødvendige filer er under mappen AndroidSDK.
Sammen med Android SDK har vi brug for et par flere ting for at starte som nævnt nedenfor.
Ant værktøj:
Apache-værktøjet bruges til at kompilere og opbygge en skriftlig kode. Ved hjælp af Ant-værktøjet kan vi generere en JAR-fil, der er en Java Archive-fil. Ved hjælp af jar-filen udføres automatiseringsserier / testsager.
=> Installer Apache ant her
Formørkelse IDE og Java:
Vi håber, at du skal have Eclipse IDE og editor for at opbygge vores kode og Java installeret på din pc. Hvis ikke, skal du installere den nyeste version af Eclipse fra her
Vi har brug for et sprog til at skrive vores automatiseringstestsager, og vi bruger Java til at automatisere vores tests.
= > Installer Java her
Konfiguration
Den næste ting, vi skal gøre, er at tilføje en miljøvariabel til SDK-manager. Du kan også bruge dette værktøj uden at tilføje miljøvariablen, men problemet er, at du ikke kan bruge det overalt i systemet.
Du kan kun få adgang til den i den mappe, du installerede den. Så vi tilføjer bedre miljøvariabler til SDK for at få adgang til det overalt. Opret nu miljøvariabler til Ant, Android SDK og til Java. Føj dem alle til stivariablen.
For at gøre det skal du navigere til System -> Avancerede systemindstillinger -> fanen Avanceret -> Miljøvariabler -> Klik på Ny i sektionen Systemvariabler. Denne navigation kan variere fra system til system.
Eksempel på systemvariabler for stier:
ANDROID_HOME: F: Workspace SDK
ANT_HOME: C: apache-ant-1.10.5
JAVA_HOME: C: Program Files Java jdk1.8.0_111
Tilføj nu alle disse systemvariabler til stien som vist i nedenstående eksempel.
% ANDROID_HOME%;% ANT_HOME%;% JAVA_HOME%
Hit på ansøge og derefter på Okay knap.
Nu har vi hele opsætningen klar.
Før vi starter vores kode, skal vi først sikre os, at Android-enheden er klar til at køre tests på den. Til det er vi nødt til at aktivere udviklerindstillingerne, hvis de ikke er aktiveret endnu.
Aktivering af udviklerindstillingerne i Android:
- Åbn telefonindstillinger, og naviger til 'System' og derefter til “Om telefonen” afsnit.
- Der finder du 'Bygge nummer' .
- Tryk på Byg nummer fem gange.
- Udviklerindstillingen aktiveres, og du kan se den i 'System' .
- Åbn udviklerindstillinger og aktiver 'USB debugging' og 'Bekræft apps via USB' .
Sådan inspiceres UI-elementer på Android
Åbn kommandoprompt overalt, og indtast kommandoen uiautomatorviewer. Bemærk, at der ikke er mellemrum i kommandoen, og at det kun er et enkelt ord. Hvis du har konfigureret SDK korrekt, får du et UIAutomator-vindue åbnet. Ellers skal du kontrollere, om installationen og konfigurationen er udført korrekt.
Lad os se brugen af hvert cirkuleret element en efter en.
# 1) Klik på det andet ikon fra venstre mod højre øverst på båndet, dvs. skærmbilledikonet. På det viste billede er det markeret som det, der er cirkuleret med rødt.
#to) Du kan gemme det aktuelle skærmbillede samt UI-dumpfil til fremtidige formål. Gemte filer kan åbnes ved hjælp af mappeikonet øverst.
# 3) Dette afsnit indeholder alle de oplysninger, der er relateret til UI-hierarkiet. Du kan søge ved hjælp af det angivne søgefelt. Udvid / skjul hierarkiet. Kryds mellem objekterne ved hjælp af op- og nedpilene.
# 4) 'Nodeoplysninger' er det sted, hvor vi får oplysninger om et brugergrænsefladeselement.
Det viser alle de nødvendige oplysninger om elementet som dets tilgængelighed, synlighed og forskellige lokaliseringer som klassenavn, tekst, ressource-id, indholdsbeskrivelse osv. Ved hjælp af hvilke vi har brug for at få adgang til elementet i automatisering.
Derefter ser skærmen ud som vist nedenfor.
Klik på Google-søgefeltet på enheden, og tag igen et skærmbillede ved hjælp af UIAutomatorViewer.
På pc skal du klikke på de viste UI-komponenter og observere. Værktøjet registrerer den komponent, du vælger, og det viser komponentoplysningerne. Den valgte UI-komponent fremhæves med et rødt felt i venstre side af skærmen.
Eksempel på testprogram
Oprettelse af et testprojekt og klasse i Eclipse:
Åbn Eclipse IDE på din pc, og klik på File -> New -> Java Project . Et vindue til oprettelse af projekt åbnes, indtast projektnavnet for eksempel “UiAutomator_Demo”. Efterlad alle standardindstillingerne, som de er, og klik to gange på afslutningsknappen. Nu er dit projekt oprettet.
Det oprettede projekt vises på venstre side af IDE. Højreklik på projektnavnet, hvor du skal vælge Ny -> Klasse og på vinduet åbnet for at indtaste klassens navn, for eksempel, DemoTest og tryk på finish-knappen.
Tilføjelse af krukker til projektet
Vi skal tilføje alle de biblioteker, vi bruger, mens vi automatiserer test.
# 1) Højreklik på projektnavnet i formørkelse, og vælg derefter 'Ejendomme' .
#to) Et nyt vindue med egenskaber vises, vælg “Java build sti”.
# 3) Klik på menuen Biblioteker og klik på “Tilføj eksterne krukker” knap.
# 4) Filhåndteringsvinduet åbnes. Naviger til den mappe, hvor du har SDK installeret. Vælg android.jar og uiautomator.jar og tryk derefter på knappen Anvend og luk det ekstra vindue.
I denne test udfører vi en lille operation i Google-søgningen for at se, om resultaterne vises i henhold til vores søgeforespørgsel.
Nedenfor er de involverede trin til at udføre trinnene:
- Klik på Google-søgefeltet.
- Indtast en søgeforespørgsel, for eksempel, Hjælp til test af software
- Tryk på enter-knappen, og kontroller, om resultaterne indeholder Hjemmeside-linket til software-test
Så dette er de trin, vi udfører manuelt.
Lad os automatisere det samme.
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(); } }
Lad os udforske ovenstående kodestykke.
Vi har importeret alle de krævede moduler til vores program.
Trin 1 : Lagring af ressource-id i Google-søgefelt i et UiObject og udførelse af klikoperationen.
Trin 2 : Indtastning af teksten i søgefeltet og tryk på enter
Trin 3 : Bekræftelse af, om søgeresultaterne indeholder Hjemmesiden til software-testning. Print “Bestået” besked til konsol, hvis den ønskede tekst findes, ellers udskriv 'Mislykket' besked.
Liste over kommandoer
# 1) Opret et testprojekt
Android opretter uitest-projekt –t -p
Denne kommando opretter en build.xml-fil, der vil blive brugt yderligere til Jar-generering.
-t parameter tager Android-versionen som en parameter. Du skal angive, hvilken version af Android du målretter mod at teste. Eksempel: android-25 dvs. vi målretter mod Android 7-versionen.
-p parameter er hvor du skal nævne din sti til projektet. Eksempel: D: Workspace UiAutomator_Demo
-n er projektets navn Eksempel: UiAutomator_Demo
# 2) Byg din kildekode
Som nævnt tidligere vil vi bruge Apache ant som et byggeværktøj til at kompilere vores kildekode og til at generere en eksekverbar JAR-fil.
Myrebyggelse
Hvis der ikke er nogen fejl på kompileringstidspunktet, vises en meddelelse på konsollen “Build er vellykket” .
Derefter kan du finde den eksekverbare jar-fil i er mappe i dit projekt med det navn, der blev angivet på tidspunktet for udførelse af den første kommando. Hvis der er problemer i din kode, vises fejlene på konsollen, og JAR-filen genereres ikke.
det understøtter spørgsmål og svar på teknikersamtale
# 3) Skubber genereret JAR-fil til enheden
ADB push / data / local / tmp /
Eksempel: adb push D: Workspace UiAutomator_Demo bin UiAutomator_Demo.jar / data / local / tmp /
Da UiAutomator-testene kører baseret på JAR-filen skubbet til enheden, skal vi først skubbe vores jar-fil til enheden. Til dette bruger vi adb push-kommando.
Denne kommando tager to parametre - den ene er den fil, der skal skubbes til Android-enheden, og den anden er destinationsstien.
Det andet argument for denne kommando er destinationsstien, hvor vores fil skal skubbes. I vores tilfælde skal det være / data / local / tmp /
# 4) Kør testen
Nu har vi alt klar. Det eneste, der mangler, er at udføre vores test.
Adb shell uiautomator runtest –c
Eksempel: adb shell uiautomator runtest UiAutomator_Demo.jar –c com.android.uiautomation.DemoTest
Hvis du ikke ved, hvordan du får klassens kvalificerede navn, skal du følge nedenstående proces:
I din formørkelse skal du klikke på rullemenuen til dit projekt og bore ned til den klasse, hvor din testkode er til stede. Her er klassen DemoTest. Højreklik på klassens navn. Et vindue åbnes, klik på “Kopier kvalificeret navn” .
Så snart du rammer denne kommando i kommandoprompten, begynder testen at blive udført, og du kan nu se testen udføres på enheden.
Ofte stillede spørgsmål
Q # 1) Er stiindstilling for SDK obligatorisk?
Svar: Nej, men det anbefales at indstille stien, for hvis du ikke indstiller stien til SDK i miljøvariabler, kan du kun få adgang til filer på det sted, hvor den er installeret.
Så for at få adgang til din SDK hvor som helst du har brug for at indstille stien. Ikke kun til SDK, men det anbefales også at følge det samme for Java og ant.
Q # 2) Hvorfor viser UIAutomatorViewer fejl, mens du tager et skærmbillede?
Svar:
Der er 3 mulige grunde til det:
# 1) Adb har ikke genkendt din enhed, og du skal opdatere enhedsdriversoftwaren. Du kan søge online efter dem og installere, for eksempel, hvis du arbejder med en LG-enhed, kan du søge efter LG ADB-drivere.
#to) Din enhed er ikke i inaktiv tilstand: For den skærm, der ikke er statisk, som om videoen afspilles eller en animation vises, kan uiautomatorviewer ikke tage et skærmbillede i disse tilfælde. Så sørg for, at din enhedsskærm ikke viser nogen videoer / animationer på det tidspunkt, hvor du tager et skærmbillede.
# 3) Android-version uoverensstemmelse: Sørg for, at din SDK api-version er højere eller lig med enhedens Android-version api-niveau. Hvis ikke, kan du opdatere SDK ved at klikke på android.bat-filen eller gennem SDK-manager.
Q # 3) Er der nogen officiel dokumentation for UIAutomatorViewer?
Svar: Ja, Google har leveret dokumentation til UIAutomatorViewer. Ikke dog fuldt dækket om alle emner, men kan få en idé om dette værktøj.
Q # 4) Hvorfor viser kommandoen ADB-enheder ikke nogen enheder?
Svar: Kontroller, om udviklerindstillingerne er aktiveret på din enhed. At muliggøre Udvikler mulighed på Android-enheden skal du følge nedenstående proces. Gå til enhedens indstillinger og Om telefonen . Tryk på 5 gange på build-nummer. En skålmeddelelse 'Du er udvikler nu' vises, og valgmuligheden Developer-indstillinger tilføjes.
Q # 5) Hvorfor er det? ADB genkendte stadig ikke min enhed?
Svar: Der kan være et driverproblem. Du skal opdatere den driver, der hjælper med at registrere enheden.
Følg nedenstående trin for at opdatere driveren.
# 1) Åbn dit system og åbn enhedsadministrator; du kan få denne indstilling ved at højreklikke Start-knap .
#to) Åbn Enhedshåndtering, der kan du finde dit enhedsnavn i Android-enheder / bærbare enheder.
# 3) Højreklik på enhedens navn, og vælg Opdater drivere.
# 4) Klik på Gennemse min computer for chaufførsoftware og klik på lad mig vælge fra en liste over enhedsdrivere på min computer.
# 5) Vælg en af de egnede drivere, der skal installeres, og tryk på den næste knap. Hvis enhedsdriveren er installeret, vises en meddelelse nedenfor.
# 6) Da dette er hardwareændringer, der anvendes på dit system, skal du muligvis genstarte systemet, hvis du bliver bedt om det.
# 7) Hvis du føler, at enheden ikke genkendes, kan du først ændre tilstandsforbindelsen. Disse tilstande vises på enheden, når du slutter din enhed til systemet.
Eksempel: Overfør filer, overfør fotos, MIDI1.
Q # 6) Kan jeg se alle UI-komponentoplysninger i en Android-applikation?
Svar: Du kan se næsten alle UI-komponenternes detaljer i UIAutomatorViewer. Hvis ethvert brugergrænseflade / layout bruger andet end standardindstillingerne fra android, kan disse ikke ses i UIAutomatorViewer-værktøjet.
Du kan bede din udvikler om at lægge en hvilken som helst identifikator til UI-elementet for at automatisere funktionen. For eksempel, sætte en ressource-id, indholdsbeskrivelse osv.
Q # 7) Bruger Appium-værktøjet UIAutomator-værktøj i det?
Svar: Ja.
youtube video converter til mp4 format
Q # 8) Understøtter dette værktøj andre enheder som Windows / iOS end Android?
Svar: Nej, dette er udviklet af Google og understøtter kun Android-enheder.
Q # 9) Hvad er UIautomator Android?
Svar: UIAutomator er et værktøj / ramme, der hjælper med at automatisere Android-applikationstestsager.
Q # 10) Hvordan konfigurerer du UIAutomator?
Svar: Se installationsafsnittet i denne vejledning for en detaljeret forklaring.
Q # 11) Hvad er UIAutomator i Appium?
Svar: UiAutomator er et testrammer / værktøj, der leveres af Android til automatisering af Android-applikationstest, Appium bruger det internt internt.
Q # 12) Hvordan inspicerer du et element i UIAutomator?
Svar: Når du er færdig med opsætningen, skal du åbne en kommandoprompt og indtaste kommandoen UIAutomatorViewer. Der vises et vindue på din pc. Tilslut mobilen til pc, og klik på skærmbillede for enhed (uiautomator dump) andet ikon øverst.
Efter denne enhed vises den aktuelle skærm i inspektørvinduet. Klik på et af elementerne for at få information om det element. For en detaljeret forklaring henvises til Undersøg det krævede UI-element afsnit.
Konklusion
At opsummere,
- UIAutomatorViewer er et grafisk brugergrænsefladesværktøj til at inspicere UI-laget i enhver applikation.
- Du skal kende strukturen i brugergrænsefladen til en applikation, der testes, så det bliver lettere at automatisere brugerinteraktionen i applikationsgrænsefladen.
- UIAutomator bruger et XML-øjebliksbillede og skærmbillede. Du kan kende layouthierarkiet.
- For at automatisere UI-testene af Android-applikationer skal du først identificere nogle lokaliseringer for at udføre en interaktion med appen Eksempel: Klassenavn, ressource-id, tekst.
- Adb er en del af SDK, der kaldes Android Debug Bridge.
- Du kan åbne UIAutomatorViewer ved at indtaste kommandoen uiautomatorviewer i kommandolinjen.
- Da dette værktøj er gratis, kan det bruges af alle, og det er pålideligt.
God læselyst!!
Anbefalet læsning
- Sådan automatiseres webapp på Chrome-browser på Android-enhed
- Automatiser Native App på Android-enhed ved hjælp af Appium
- 11 bedste automatiseringsværktøjer til test af Android-applikationer (Android App-testværktøjer)
- 30 bedste GUI-testværktøjer til GUI-testautomatisering [2021 LIST]
- Katalon Studio-vejledning: Et gratis testautomatiseringsværktøj, du har ventet på
- Ranorex Studio Hands-on Review: Alt-i-en-testautomatiseringsløsning
- SeTest-automatiseringsvejledning: En guide til mobil testautomatiseringsværktøj
- TestProject Test Automation Tool Praktisk gennemgangsvejledning