uiautomatorviewer tutorial
Denne opplæringen forklarer hvordan du laster ned, installerer og konfigurerer UIAutomator og hvordan du bruker UIAutomatorViewer til å inspisere Element i Android-applikasjon:
Google har levert egne Android-testautomatiseringsverktøy, og UIAutomatorviewer er en av dem. Hvis du har en idé om Selen, vil det være lett for deg å forstå UIAutomator.
Denne opplæringen vil gi deg en detaljert forklaring på UIAutomator sammen med installasjon, konfigurasjon, komponenter, kommandoer, prøvetestprogram og noen av de vanlige spørsmålene.
La oss utforske !!
hva er en wifi-sikkerhetsnøkkel
Hva du vil lære:
Hva er UIAutomatorViewer?
UIAutomatorViewer kommer som en del av Android SDK-manager, og det er et UI inspector GUI (grafisk brukergrensesnitt) verktøy som hjelper oss med å inspisere UI-elementer i en Android-applikasjon.
Inspeksjon av et program er viktig ettersom vi trenger lokaliseringer som ressurs-ID, klasse, tekst til en Android-applikasjonskomponent for å automatisere applikasjonen.
UMLutomatorViewer tar et XML-skjermbilde av gjeldende skjermbilde. Ved å klikke på et hvilket som helst element på skjermen, kan vi bli kjent med klassen som brukes til å representere, elementet på skjermen sammen med alle egenskapene som er oppført på høyre side av verktøyet.
Objekthierarkiet er rekkefølgen på objektene de er definert i. For eksempel ,en klasse er et barn av en annen klasse. Den er plassert øverst til høyre i verktøyet.
Ved hjelp av UIAutomator kan du skrive automatiseringstestsaker for Android-applikasjoner. Disse testene vil bli utført på UI-laget i applikasjonen. Du kan simulere hver handling som en tester utfører manuelt, for eksempel , bekrefter pålogging.
Installasjon
Du kan installere dette verktøyet på to måter.
# 1) Android Studio
Hvis du jobber ofte med testing / utvikling av Android-applikasjoner, kan du installere Android Studio.
Den har alle Build-, plattform- og SDK-verktøyene. Så ved å installere Android Studio, vil du få alle verktøyene med den. Det anbefales at du bare bruker Android Studio hvis du har en god bærbar PC / PC. Fordi det krever betydelig RAM på PC-en din og trenger 4-5 GB data for å laste ned og installere alle kravene. Men du vil få alt med bare ett klikk.
# 2) Bare kommandolinjeverktøy
Hvis du bare trenger testrelaterte verktøy, kan du bare laste ned Android SDK-manager.
I denne opplæringen følger vi den andre metoden da den første metoden er ganske rett frem.
Åpne dette URL og bla ned til overskriften Bare kommandolinjeverktøy, Klikk deretter på den passende nedlastingsfilkoblingen basert på maskinens operativsystem. Se skjermbildet nedenfor for referanse.
For å kjøre et program, må vi ha Android SDK-verktøy, Platform-verktøy, Platforms og Build-verktøy.
- Åpen verktøy og klikk på plattform-verktøy lenke og laste ned filene.
- Opprett en mappe med navnet AndroidSDK og trekk ut de nedlastede verktøyene og plattformverktøyene her.
- Inne i verktøy, vil du finne en android.bat i mappen, klikker eller kjører flaggermusfilen, og Android SDK Manager-vinduet vises. Velg ønsket plattformversjon, for eksempel, Android 25 relatert og klikk installer. Du må velge plattformer og bygge verktøy for den nødvendige versjonen av Android API.
- Godta vilkårene. Last ned og installer plattformer og bygg verktøy. Forsikre deg om at alle nødvendige filer er under AndroidSDK-mappen.
Sammen med Android SDK trenger vi noen flere ting for å starte som nevnt nedenfor.
Myrverktøy:
Apache-verktøyet vil bli brukt til å kompilere og bygge en skriftlig kode. Ved hjelp av Ant-verktøyet kan vi generere en JAR-fil som er en Java Archive-fil. Ved hjelp av jar-filen vil automatiseringsserier / testtilfeller kjøres.
=> Installer Apache ant her
Formørkelse IDE og Java:
Vi håper du må ha Eclipse IDE og editor for å bygge koden og Java installert på din PC. Hvis ikke, må du installere den nyeste versjonen av Eclipse fra her
Vi trenger et språk for å skrive våre automatiseringstestsaker, og vi bruker Java for å automatisere testene våre.
= > Installer Java her
Konfigurasjon
Den neste tingen vi trenger å gjøre er å legge til en miljøvariabel for SDK-manager. Du kan bruke dette verktøyet uten å legge til miljøvariabelen også, men problemet er at du ikke kan bruke det overalt i systemet.
Du vil bare kunne få tilgang til den i mappen du installerte den. Så vi legger bedre til miljøvariabler for SDK for å få tilgang til den hvor som helst. Opprett nå miljøvariabler for Ant, Android SDK og for Java. Legg dem alle til stivariabelen.
For å gjøre det, naviger til System -> Avanserte systeminnstillinger -> kategorien Avansert -> Miljøvariabler -> Klikk på Ny i delen Systemvariabler. Denne navigasjonen 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
Legg nå alle disse systemvariablene til banen som vist i eksemplet nedenfor.
% ANDROID_HOME%;% ANT_HOME%;% JAVA_HOME%
Slå den Søke om og deretter på OK knapp.
Nå har vi alt oppsettet klart.
Før vi starter koden vår, må vi først sørge for at Android-enheten er klar til å kjøre tester på den. For det må vi aktivere utvikleralternativene hvis de ikke er aktivert ennå.
Aktivere utvikleralternativene i Android:
- Åpne telefoninnstillinger og naviger til 'System' og deretter til 'Om telefonen' seksjon.
- Der vil du finne “Byggnummer” .
- Trykk på Bygg nummer fem ganger.
- Utvikleralternativet blir aktivert, og du kan se det i 'System' .
- Åpne utvikleralternativer og aktiver “USB feilsøking” og 'Bekreft apper via USB' .
Hvordan inspisere UI-elementer på Android
Åpne ledeteksten hvor som helst og skriv inn kommandoen uiautomatorviewer. Merk at det ikke er mellomrom i kommandoen, og det er bare et enkelt ord. Hvis du har konfigurert SDK riktig, får du et UIAutomator-vindu åpnet. Hvis ikke, sjekk om installasjonen og konfigurasjonen er riktig.
La oss se bruken av hvert sirklet element en etter en.
#1) Klikk på det andre ikonet fra venstre til høyre øverst på båndet, dvs. skjermbildikonet. På det viste bildet er det merket som det som er sirklet med rødt.
#to) Du kan lagre gjeldende skjermbilde samt UI-dumpfil for fremtidige formål. Lagrede filer kan åpnes ved hjelp av mappeikonet øverst.
# 3) Denne delen inneholder all informasjon relatert til UI-hierarki. Du kan søke ved hjelp av søkefeltet. Utvid / skjul hierarkiet. Kryss mellom gjenstandene ved hjelp av opp- og nedpilene.
# 4) “Node details” er stedet der vi får informasjon om et UI-element.
Den viser all nødvendig informasjon om elementet som tilgjengelighet, synlighet og forskjellige lokaliseringer som klassenavn, tekst, ressurs-ID, innholdsbeskrivelse osv. Ved hjelp av det trenger vi tilgang til elementet i automatisering.
Etter det vil skjermen se ut som vist nedenfor.
Klikk på Google-søkeboksen på enheten og ta et skjermbilde igjen ved hjelp av UIAutomatorViewer.
På PC klikker du på de viste UI-komponentene og observerer. Verktøyet oppdager komponenten du velger, og den viser komponentdetaljene. Den valgte UI-komponenten vil bli uthevet med en rødfarget rute på venstre side av skjermen.
Eksempel på testprogram
Opprette et testprosjekt og klasse i formørkelse:
Åpne Eclipse IDE på din PC og klikk på Fil -> Ny -> Java-prosjekt . Et prosjektopprettelsesvindu åpnes, skriv inn prosjektnavnet for eksempel “UiAutomator_Demo”. La alle standardinnstillingene være som de er, og klikk på fullfør-knappen to ganger. Nå er prosjektet ditt opprettet.
Det opprettede prosjektet vises på venstre side av IDE. Høyreklikk på prosjektnavnet der du må velge Ny -> Klasse og på vinduet som åpnes for å angi kursnavnet, for eksempel, DemoTest og trykk på finish-knappen.
Legge til krukker i prosjektet
Vi bør legge til alle bibliotekene vi bruker når vi automatiserer tester.
#1) Høyreklikk på prosjektnavnet i formørkelse, og velg deretter 'Eiendommer' .
#to) Et nytt vindu med egenskaper vises, velg “Java build path”.
# 3) Klikk på Biblioteker-menyen, og klikk deretter på “Legg til eksterne krukker” knapp.
# 4) Filbehandling-vinduet åpnes. Naviger til mappen der du har SDK installert. Å velge android.jar og uiautomator.jar og trykk deretter på bruk-knappen og lukk tilleggsvinduet.
I denne testen vil vi utføre en liten operasjon i Google-søket for å se om resultatene vises i henhold til vårt søk.
Nedenfor er trinnene involvert for å utføre trinnene:
- Klikk på Google-søkefeltet.
- Skriv inn et søk for eksempel, Programvare Testing Hjelp
- Trykk på enter-knappen og sjekk om resultatene inneholder nettadressen til Software Testing Help
Så dette er trinnene vi utfører manuelt.
La oss 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(); } }
La oss utforske kodebiten ovenfor.
Vi har importert alle nødvendige moduler til programmet vårt.
Trinn 1 : Lagring av ressurs-ID for Google-søkefeltet i et UiObject og utføring av klikk Operasjon.
Steg 2 : Skriv inn teksten i søkeboksen og trykk enter
Trinn 3 : Bekrefte om søkeresultatene inneholder nettstedet for hjelp til programvaretesting. Skrive ut “Bestått” melding til konsollen hvis ønsket tekst eksisterer, ellers skriv 'Mislyktes' -melding.
Liste over kommandoer
# 1) Lag et testprosjekt
hvordan finner jeg nettverkssikkerhetsnøkkelen
Android oppretter uitest-prosjekt –t -p
Denne kommandoen oppretter en build.xml-fil som vil bli brukt videre for generering av Jar.
-t parameter tar Android-versjonen som en parameter. Du må spesifisere hvilken versjon av Android du målretter mot å teste. Eksempel: android-25 dvs. vi målretter mot Android 7-versjonen.
-p parameter er der du trenger å nevne banen din for prosjektet. Eksempel: D: Workspace UiAutomator_Demo
-n er navnet på prosjektet Eksempel: UiAutomator_Demo
# 2) Bygg kildekoden din
Som nevnt tidligere, ville vi bruke Apache ant som et byggeverktøy for å kompilere kildekoden vår og for å generere en kjørbar JAR-fil.
Maurbygg
Hvis det ikke er noen feil på kompileringstidspunktet, vises en melding på konsollen “Build er vellykket” .
Deretter kan du finne den kjørbare jar-filen i er mappen til prosjektet ditt med navnet som ble angitt da den første kommandoen ble utført. Hvis det er noen problemer i koden din, vil feilene vises på konsollen, og JAR-filen blir ikke generert.
# 3) Skyve generert JAR-fil til enheten
ADB push / data / local / tmp /
Eksempel: adb push D: Workspace UiAutomator_Demo bin UiAutomator_Demo.jar / data / local / tmp /
Ettersom UiAutomator-testene kjøres basert på JAR-filen som er presset til enheten, må vi først skyve jar-filen vår til enheten. For dette vil vi bruke adb push-kommando.
Denne kommandoen tar to parametere - den ene er filen som skal skyves til Android-enheten, og den andre er destinasjonsstien.
Det andre argumentet for denne kommandoen er destinasjonsstien der filen vår skal skyves. I vårt tilfelle skal det være / data / local / tmp /
# 4) Kjør testen
Nå har vi alt klart. Det eneste som venter er å utføre testen.
Adb shell uiautomator runtest –c
Eksempel: adb shell uiautomator runtest UiAutomator_Demo.jar –c com.android.uiautomation.DemoTest
Hvis du ikke vet hvordan du får klassekvalifisert navn, følg deretter prosessen nedenfor:
I formørkelsen din klikker du på rullegardinmenyen til prosjektet og går ned til klassen der testkoden din er til stede. Her er klassen DemoTest. Høyreklikk på kursnavnet. Et vindu åpnes, klikk på “Kopier kvalifisert navn” .
Så snart du trykker på denne kommandoen i ledeteksten, vil testen begynne å kjøres, og du kan nå se testen som blir utført på enheten.
Vanlige spørsmål
Q # 1) Er stiinnstilling for SDK obligatorisk?
Svar: Nei, men det anbefales å angi banen, fordi hvis du ikke setter banen til SDK i miljøvariabler, kan du bare få tilgang til filer på stedet der den er installert.
Så for å få tilgang til SDK-en din hvor som helst du trenger for å angi banen. Ikke bare for SDK, men det anbefales også å følge det samme for Java og ant.
Q # 2) Hvorfor viser UIAutomatorViewer feil mens du tar et skjermbilde?
Svar:
Det er 3 mulige årsaker til det:
#1) Adb har ikke gjenkjent enheten din, og du må oppdatere programvaren for enhetsdriveren. Du kan søke på nettet etter dem og installere, for eksempel, Hvis du jobber med en LG-enhet, kan du søke etter LG ADB-drivere.
#to) Enheten din er ikke i inaktiv tilstand: For skjermen som ikke er statisk, slik som videoen spilles av eller hvilken som helst animasjon som vises, kan uiautomatorviewer ikke ta et skjermbilde i disse tilfellene. Så sørg for at skjermen på enheten ikke viser noen videoer / animasjoner når du tar et skjermbilde.
# 3) Android-versjon uoverensstemmelse: Forsikre deg om at SDK-API-versjonen din er høyere eller lik enhetens Android-versjon API-nivå. Hvis ikke kan du oppdatere SDK ved å klikke på android.bat-filen eller gjennom SDK-manager.
Q # 3) Er det noen offisiell dokumentasjon for UIAutomatorViewer?
Svar: Ja, Google har gitt dokumentasjon for UIAutomatorViewer. Ikke skjønt fullstendig dekket på alle emner, men kan få en ide om dette verktøyet.
gratis youtube til mp4 video nedlasting
Q # 4) Hvorfor viser ikke kommandoen adb devices noen enheter?
Svar: Sjekk om utvikleralternativene er aktivert på enheten din. For å aktivere Utvikleralternativ på Android-enhet, følg prosessen nedenfor. Gå til enhetsinnstillingene og Om telefonen . Trykk på 5 ganger på byggenummer. En skålmelding 'Du er utvikler nå' vil vises, og alternativet for utviklerinnstillinger vil bli lagt til.
Q # 5) Hvorfor er det? ADB gjenkjenner du fremdeles ikke enheten min?
Svar: Det kan være et driverproblem. Du må oppdatere driveren som hjelper til med å oppdage enheten.
Følg trinnene nedenfor for å oppdatere driveren.
#1) Åpne systemet ditt og åpne enhetsbehandling; du kan få denne innstillingen ved å høyreklikke Start knapp .
#to) Åpne Enhetsbehandling, der kan du finne enhetsnavnet ditt på Android-enheter / bærbare enheter.
# 3) Høyreklikk på enhetsnavnet og velg Oppdater drivere.
# 4) Klikk på Bla gjennom datamaskinen for driverprogramvarealternativ og klikk på la meg velge fra en liste over enhetsdrivere på datamaskinen min.
# 5) Velg en av de aktuelle driverne du vil installere, og trykk på neste knapp. Hvis enhetsdriveren er installert, vises en melding nedenfor.
# 6) Ettersom dette er maskinvareendringer som er brukt på systemet ditt, må du kanskje starte systemet på nytt hvis du blir bedt om å gjøre det.
# 7) Hvis du føler at enheten ikke gjenkjennes, kan du først endre modusforbindelsen. Disse modusene vises på enheten når du kobler enheten til systemet.
Eksempel: Overfør filer, overfør bilder, MIDI1.
Q # 6) Kan jeg se hver UI-komponentdetaljer i en Android-applikasjon?
Svar: Du kan se nesten alle UI-komponentenes detaljer i UIAutomatorViewer. Hvis noe brukergrensesnitt / layout bruker andre enn standardinnstillingene fra android, kan de ikke vises i UIAutomatorViewer-verktøyet.
Du kan be utvikleren din om å sette en hvilken som helst identifikator til UI-elementet for å automatisere funksjonen. For eksempel, sette en ressurs-ID, innholdsbeskrivelse, etc.
Q # 7) Bruker Appium-verktøyet UIAutomator-verktøy i det?
Svar: Ja.
Q # 8) Støtter dette verktøyet andre enheter som Windows / iOS enn Android?
Svar: Nei, dette er utviklet av Google og støtter bare Android-enheter.
Sp # 9) Hva er UIautomator Android?
Svar: UIAutomator er et verktøy / rammeverk som hjelper til med å automatisere Android-applikasjonstesttilfeller.
Q # 10) Hvordan konfigurerer du UIAutomator?
Svar: Se installasjonsdelen av denne veiledningen for en detaljert forklaring.
Q # 11) Hva er UIAutomator in Appium?
Svar: UiAutomator er et testrammeverk / verktøy levert av Android for automatisering av Android-applikasjonstesting, Appium bruker det internt.
Q # 12) Hvordan inspiserer du et element i UIAutomator?
Svar: Når du er ferdig med oppsettet, åpner du en ledetekst og skriver inn kommandoen UIAutomatorViewer. Et vindu vises på PC-en. Koble mobilen til PC og klikk på Enhetsskjermbilde (uiautomator dump) andre ikon øverst.
Etter den enheten vil gjeldende skjerm vises i inspektørvinduet. Klikk på et av elementene for å få informasjon om elementet. For en detaljert forklaring, se Undersøk nødvendig UI-element seksjon.
Konklusjon
Å oppsummere,
- UIAutomatorViewer er et grafisk brukergrensesnittverktøy for å inspisere UI-laget i ethvert program.
- Du må kjenne strukturen til brukergrensesnittet til en applikasjon som testes, slik at det blir lettere å automatisere brukerinteraksjonen i applikasjonsgrensesnittlaget.
- UIAutomator bruker et XML-øyeblikksbilde og skjermbilde. Du kan kjenne layouthierarkiet.
- For å automatisere UI-tester av Android-applikasjoner, må du først identifisere noen lokaliseringer for å utføre en interaksjon med appen Eksempel: Klassenavn, ressurs-ID, tekst.
- Adb er en del av SDK som kalles Android Debug Bridge.
- Du kan åpne UIAutomatorViewer ved å skrive inn kommandoen uiautomatorviewer i kommandolinjen.
- Siden dette verktøyet er gratis, kan det brukes av alle, og det er pålitelig.
Glad lesning !!
Anbefalt lesing
- Slik automatiserer du webapp på Chrome-nettleser på Android-enhet
- Automatiser Native App på Android-enhet ved hjelp av Appium
- 11 beste automatiseringsverktøy for testing av Android-applikasjoner (Android-app-testverktøy)
- 30 beste GUI-testverktøy for GUI-testautomatisering (2021 LIST)
- Katalon Studio Tutorial: Et gratis testautomatiseringsverktøy du har ventet på
- Ranorex Studio Hands-on Review: Alt-i-ett-testautomatiseringsløsning
- SeeTest Automation Tutorial: A Mobile Test Automation Tool Guide
- TestProject Test Automation Tool Praktisk gjennomgangsveiledning