uiautomatorviewer tutorial
In deze tutorial wordt uitgelegd hoe u UIAutomator downloadt, installeert en configureert en hoe u UIAutomatorViewer gebruikt om Element op Android-applicatie te inspecteren:
Google heeft zijn eigen Android-testautomatiseringstools geleverd, en UIAutomatorviewer is daar een van. Als u een idee heeft over Selenium, dan zult u UIAutomator gemakkelijk begrijpen.
Deze tutorial geeft je een gedetailleerde uitleg van UIAutomator samen met de installatie, configuratie, componenten, commando's, voorbeeldtestprogramma en enkele van de veelgestelde FAQ's.
Laten we onderzoeken!!
app waar je youtube-video's kunt downloaden
Wat je leert:
Wat is UIAutomatorViewer?
UIAutomatorViewer wordt geleverd als onderdeel van de Android SDK-manager en het is een UI Inspector GUI (grafische gebruikersinterface) tool die ons helpt om UI-elementen van een Android-applicatie te inspecteren.
Het inspecteren van een applicatie is belangrijk omdat we locators nodig hebben, zoals resource-ID's, klasse, tekst van een Android-applicatiecomponent om de applicatie te automatiseren.
Een XML-schermafbeelding van het huidige scherm wordt gemaakt door de UIAutomatorViewer. Door op een element op het scherm te klikken, kunnen we meer te weten komen over de klasse die wordt gebruikt om het weer te geven, het element op het scherm en alle eigenschappen die aan de rechterkant van de tool worden vermeld.
De objecthiërarchie is de volgorde van objecten waarin ze zijn gedefinieerd. Bijvoorbeeld een klas is een kind van een andere klas. Het wordt rechtsboven in het gereedschap geplaatst.
Met UIAutomator kunt u automatiseringstestcases schrijven voor Android-applicaties. Deze tests worden uitgevoerd op de UI-laag van de applicatie. U kunt elke actie die een tester handmatig uitvoert, simuleren, bijvoorbeeld , login verifiëren.
Installatie
U kunt deze tool op twee manieren installeren.
# 1) Android Studio
Als u vaak werkt met het testen / ontwikkelen van Android-applicaties, dan kunt u Android Studio installeren.
Het heeft alle Build-, platform- en SDK-tools. Dus door Android Studio te installeren, krijg je alle tools erbij. Het wordt aangeraden om alleen voor Android Studio te gaan als je een goede laptop / pc hebt. Omdat het veel RAM op uw pc vereist en 4-5 GB aan gegevens nodig heeft om alle vereisten te downloaden en te installeren. Maar u krijgt alles met slechts één klik.
# 2) Alleen opdrachtregelprogramma's
Als u alleen testgerelateerde tools nodig heeft, kunt u alleen de Android SDK-manager downloaden.
In deze tutorial volgen we de tweede methode, aangezien de eerste methode vrijwel ongecompliceerd is.
Open dit URL en scroll naar beneden tot de koptekst Alleen opdrachtregelprogramma's, klik vervolgens op de geschikte downloadbestandslink op basis van het besturingssysteem van uw machine. Zie de onderstaande schermafbeelding ter referentie.
Om een programma uit te voeren, hebben we Android SDK-tools, Platform-tools, Platforms en Build-tools nodig.
- Open gereedschap en klik op het platform-tools link en download de bestanden.
- Maak een map met de naam AndroidSDK en pak de gedownloade tools en platformtools hier uit.
- In tools vindt u een android.bat map, klik of voer het bat-bestand uit en het Android SDK Manager-venster wordt weergegeven. Selecteer de vereiste platformversie, bijvoorbeeld, Android 25 gerelateerd en klik op installeren. U moet platforms selecteren en tools bouwen voor de vereiste versie van de Android API.
- Accepteer de algemene voorwaarden. Download en installeer platforms en bouw tools. Zorg ervoor dat alle vereiste bestanden zich in de map AndroidSDK bevinden.
Samen met Android SDK hebben we nog een paar dingen nodig om te starten, zoals hieronder vermeld.
Ant-hulpmiddel:
De Apache-tool wordt gebruikt om een geschreven code te compileren en te bouwen. Met de Ant-tool kunnen we een JAR-bestand genereren dat een Java Archive-bestand is. Met behulp van het jar-bestand worden automatiseringssuite / testgevallen uitgevoerd.
Installeer Apache ant hier
Eclipse IDE en Java:
We hopen dat u Eclipse IDE en editor nodig heeft om onze code te bouwen en Java op uw pc te installeren. Is dit niet het geval, installeer dan de laatste versie van Eclipse vanaf hier
We hebben een taal nodig om onze automatiseringstestcases te schrijven en we gebruiken Java om onze tests te automatiseren.
> Installeer Java hier
Configuratie
Het volgende dat we moeten doen, is een omgevingsvariabele toevoegen voor de SDK-manager. U kunt deze tool gebruiken zonder de omgevingsvariabele ook toe te voegen, maar het probleem is dat u deze niet overal in het systeem kunt gebruiken.
U hebt er alleen toegang toe in de map waarin u het hebt geïnstalleerd. We kunnen dus beter omgevingsvariabelen toevoegen zodat SDK er overal toegang toe heeft. Maak nu omgevingsvariabelen voor Ant, Android SDK en voor Java. Voeg ze allemaal toe aan de padvariabele.
Om dat te doen, navigeert u naar Systeem -> Geavanceerde Systeeminstellingen -> tabblad Geavanceerd -> Omgevingsvariabelen -> Klik op Nieuw in de sectie Systeemvariabelen. Deze navigatie kan van systeem tot systeem verschillen.
Voorbeeldsysteemvariabele voor paden:
ANDROID_HOME: F: Workspace SDK
ANT_HOME: C: apache-ant-1.10.5
JAVA_HOME: C: Program Files Java jdk1.8.0_111
Voeg nu al deze systeemvariabelen toe aan het pad zoals weergegeven in het onderstaande voorbeeld.
% ANDROID_HOME%;% ANT_HOME%;% JAVA_HOME%
Druk op de Van toepassing zijn knop en vervolgens de OK knop.
Nu hebben we alle instellingen klaar.
Voordat we onze code starten, moeten we er eerst voor zorgen dat het Android-apparaat klaar is om tests uit te voeren. Daarvoor moeten we de ontwikkelaaropties inschakelen als deze nog niet zijn ingeschakeld.
De ontwikkelaarsopties inschakelen in Android:
- Open de telefooninstellingen en ga naar 'Systeem' en dan naar 'Over telefoon' sectie.
- Daar zul je vinden 'Build-nummer'
- Tik vijf keer op Build-nummer.
- De ontwikkelaaroptie wordt ingeschakeld en u kunt deze zien in het 'Systeem'
- Open Developer-opties en schakel in 'USB debugging' en 'Verifieer apps via USB'
Hoe UI-elementen op Android te inspecteren
Open de opdrachtprompt overal en voer de opdracht uiautomatorviewer in. Merk op dat er geen spaties in de opdracht staan en dat het slechts een enkel woord is. Als je de SDK correct hebt geconfigureerd, krijg je een UIAutomator-venster geopend. Controleer anders of de installatie en configuratie correct zijn uitgevoerd.
Laten we eens kijken hoe elk omcirkeld element één voor één wordt gebruikt.
# 1) Klik op het bovenste lint op het tweede pictogram van links naar rechts, d.w.z. het screenshot-pictogram. In de getoonde afbeelding is deze gemarkeerd als de afbeelding die met rood is omcirkeld.
#twee) U kunt het huidige screenshot en het UI-dumpbestand opslaan voor toekomstige doeleinden. Opgeslagen bestanden kunnen worden geopend met het mappictogram bovenaan.
# 3) Deze sectie bevat alle informatie met betrekking tot de UI-hiërarchie. U kunt zoeken met behulp van het daarvoor bestemde zoekvak. Vouw de hiërarchie uit / samen. Beweeg tussen de objecten met de pijlen omhoog en omlaag.
# 4) 'Knooppuntdetails' is de plaats waar we informatie krijgen over een UI-element.
Het toont alle benodigde informatie over het element, zoals de toegankelijkheid, zichtbaarheid en verschillende locators zoals klassenaam, tekst, bron-id, inhoudsbeschrijving, enz. Met behulp waarvan we toegang moeten hebben tot het element in automatisering.
Daarna ziet het scherm eruit zoals hieronder weergegeven.
Klik op het Google-zoekvak op het apparaat en maak opnieuw een screenshot met de UIAutomatorViewer.
vergelijk twee bestanden in linux en zoek de verschillen
Klik op de pc op de weergegeven UI-componenten en observeer. De tool detecteert de component die u selecteert en toont de componentdetails. De geselecteerde UI-component wordt gemarkeerd met een rood gekleurd vak aan de linkerkant van het scherm.
Voorbeeld testprogramma
Een testproject en klasse maken in Eclipse:
Open Eclipse IDE op uw pc en klik op Bestand -> Nieuw -> Java-project Er wordt een venster voor het maken van een project geopend, voer de projectnaam in bijvoorbeeld 'UiAutomator_Demo'. Laat alle standaardinstellingen zoals ze zijn en klik twee keer op de knop Voltooien. Nu is uw project gemaakt.
Het gemaakte project wordt aan de linkerkant van de IDE weergegeven. Klik met de rechtermuisknop op de projectnaam die u moet selecteren Nieuw -> Klasse en op het geopende venster om de klassenaam in te voeren, bijvoorbeeld, DemoTest en druk op de finishknop.
Potten aan het project toevoegen
We moeten alle bibliotheken toevoegen die we gebruiken bij het automatiseren van tests.
# 1) Klik met de rechtermuisknop op de projectnaam in Eclipse en selecteer 'Eigendommen'
#twee) Een nieuw venster met eigenschappen wordt getoond, selecteer 'Java-buildpad'.
# 3) Klik op het menu Bibliotheken en klik op het 'Externe potten toevoegen' knop.
# 4) Het venster Bestandsbeheer wordt geopend. Navigeer naar de map waarin u SDK heeft geïnstalleerd. Selecteer android.jar en uiautomator.jar en klik vervolgens op de knop Toepassen en sluit het extra venster.
In deze test zullen we een kleine bewerking uitvoeren in de Google-zoekopdracht om te zien of de resultaten worden weergegeven volgens onze zoekopdracht.
Hieronder staan de stappen die nodig zijn om de stappen uit te voeren:
- Klik op het zoekvak van Google.
- Voer een zoekopdracht in, bijvoorbeeld, Help bij het testen van software
- Druk op de enter-knop en controleer of de resultaten de link naar de Software Testing Help-website bevatten
Dit zijn dus de stappen die we handmatig uitvoeren.
Laten we hetzelfde automatiseren.
Laten we het bovenstaande codefragment eens bekijken.
We hebben alle benodigde modules in ons programma geïmporteerd.
Stap 1 : Het bron-ID van het Google-zoekvak opslaan in een UiObject en de klikbewerking uitvoeren.
Stap 2 : De tekst in het zoekvak invoeren en op enter drukken
Stap 3 : Controleren of de zoekresultaten de website Software Testing Help bevatten. Afdrukken 'Geslaagd' bericht naar de console als de gewenste tekst bestaat, druk anders het bericht “Mislukt” af.
Lijst met opdrachten
# 1) Maak een testproject
Android maakt uitest-project –t -p
Met deze opdracht wordt een build.xml-bestand gemaakt dat verder zal worden gebruikt voor het genereren van Jar.
-t parameter neemt de Android-versie als parameter. U moet specificeren welke versie van Android u wilt testen. Voorbeeld: android-25, d.w.z. we richten ons op de Android 7-versie.
-p parameter is waar u uw pad voor het project moet vermelden. Voorbeeld: D: Workspace UiAutomator_Demo
-n is de naam van het project Voorbeeld: UiAutomator_Demo
# 2) Bouw je broncode
Zoals eerder vermeld, zouden we Apache ant gebruiken als een build-tool om onze broncode te compileren en om een uitvoerbaar JAR-bestand te genereren.
Ant build
Als er geen fout is tijdens het compileren, wordt er een bericht op de console weergegeven 'Build is succesvol'
Vervolgens vindt u het uitvoerbare jar-bestand in het ben map van uw project met de naam die is opgegeven tijdens het uitvoeren van de eerste opdracht. Als er problemen zijn met uw code, worden de fouten weergegeven op de console en wordt het JAR-bestand niet gegenereerd.
# 3) Gegenereerd JAR-bestand naar het apparaat pushen
Adb push / data / lokaal / tmp /
Voorbeeld: adb push D: Workspace UiAutomator_Demo bin UiAutomator_Demo.jar / data / local / tmp /
Omdat de UiAutomator-tests worden uitgevoerd op basis van het JAR-bestand dat naar het apparaat is gepusht, moeten we eerst ons jar-bestand naar het apparaat pushen. Hiervoor gebruiken we het adb push-commando.
Deze opdracht heeft twee parameters: de ene is het bestand dat naar het Android-apparaat moet worden gepusht en de andere is het bestemmingspad.
Het tweede argument voor deze opdracht is het bestemmingspad waar ons bestand naartoe moet worden gepusht. In ons geval zou het / data / local / tmp / moeten zijn
# 4) Voer de test uit
Nu hebben we alles klaar. Het enige dat nog moet worden uitgevoerd, is het uitvoeren van onze test.
Adb-shell uiautomator runtest –c
Voorbeeld: adb shell uiautomator runtest UiAutomator_Demo.jar –c com.android.uiautomation.DemoTest
Als u niet weet hoe u de gekwalificeerde naam voor de klas kunt krijgen, volgt u het onderstaande proces:
Klik in uw Eclipse op de vervolgkeuzelijst van uw project en ga naar de klas waar uw testcode aanwezig is. Hier is de klasse DemoTest. Klik met de rechtermuisknop op de naam van de klas. Er wordt een venster geopend, klik op het 'Kopieer gekwalificeerde naam'
Zodra u op deze opdracht drukt in de opdrachtprompt, wordt de test uitgevoerd en kunt u nu zien dat de test wordt uitgevoerd op het apparaat.
Veelgestelde vragen
V # 1) Is padinstelling voor SDK verplicht?
Antwoord: Nee, maar het is raadzaam om het pad in te stellen, want als u het pad van SDK niet instelt in omgevingsvariabelen, hebt u alleen toegang tot bestanden op de locatie waar het is geïnstalleerd.
Dus om overal toegang te krijgen tot uw SDK, moet u het pad instellen. Niet alleen voor SDK, maar het is ook aan te raden om hetzelfde te volgen voor Java en ant.
Q # 2) Waarom vertoont UIAutomatorViewer een fout bij het maken van een screenshot?
Antwoord:
Er zijn 3 mogelijke redenen:
# 1) Adb heeft uw apparaat niet herkend en u moet de stuurprogrammasoftware van het apparaat bijwerken. U kunt ze online zoeken en installeren, bijvoorbeeld als u met een LG-apparaat werkt, kunt u zoeken naar LG adb-stuurprogramma's.
#twee) Uw apparaat is niet inactief: Voor het scherm dat niet statisch is, zoals de video die wordt afgespeeld of een animatie wordt weergegeven, kan de uiautomatorviewer in deze gevallen geen screenshot maken. Zorg er dus voor dat het scherm van uw apparaat geen video's / animaties weergeeft op het moment dat u een screenshot maakt.
# 3) Android-versie komt niet overeen: Zorg ervoor dat uw SDK api-versie hoger of gelijk is aan het api-niveau van de Android-versie van het apparaat. Als dit niet het geval is, kunt u de SDK bijwerken door op het bestand android.bat of via SDK-manager te klikken.
Vraag 3 Is er officiële documentatie voor de UIAutomatorViewer?
Antwoord: Ja, Google heeft gezorgd documentatie voor UIAutomatorViewer. Hoewel niet alle onderwerpen volledig worden behandeld, maar ik kan een idee krijgen over deze tool.
Vraag 4 Waarom laat het adb devices-commando geen apparaten zien?
oracle 11g performance tuning interviewvragen
Antwoord: Controleer of de ontwikkelaaropties zijn ingeschakeld op uw apparaat. In staat te stellen Optie voor ontwikkelaars Volg op een Android-apparaat het onderstaande proces. Ga naar de apparaatinstellingen en Over de telefoon Tik 5 keer op buildnummer. Een toastbericht 'Je bent nu een ontwikkelaar' wordt weergegeven en de optie Instellingen voor ontwikkelaars wordt toegevoegd.
V # 5) Waarom is Adb herkent mijn apparaat nog steeds niet?
Antwoord: Er is mogelijk een probleem met de driver. U moet het stuurprogramma bijwerken dat helpt bij het detecteren van het apparaat.
Volg de onderstaande stappen om de driver bij te werken.
# 1) Open uw systeem en open apparaatbeheer; u kunt deze instelling krijgen door met de rechtermuisknop te klikken Startknop
#twee) Open Apparaatbeheer, daar kunt u uw apparaatnaam vinden op Android-apparaten / draagbare apparaten.
# 3) Klik met de rechtermuisknop op de apparaatnaam en selecteer Stuurprogramma's bijwerken.
# 4) Klik op Browse my computer for driver software option en klik op laat me kiezen uit een lijst met apparaatstuurprogramma's op mijn computer.
# 5) Selecteer een van de geschikte stuurprogramma's om te installeren en klik op de knop Volgende. Als het apparaatstuurprogramma met succes is geïnstalleerd, wordt hieronder een bericht weergegeven.
# 6) Aangezien dit hardwarewijzigingen zijn die op uw systeem zijn toegepast, moet u het systeem mogelijk opnieuw opstarten als daarom wordt gevraagd.
# 7) Als u het gevoel heeft dat het apparaat niet wordt herkend, kunt u eerst de modusverbinding wijzigen. Deze modi worden op het apparaat weergegeven wanneer u uw apparaat op het systeem aansluit.
Voorbeeld: Bestanden overzetten, foto's overbrengen, MIDI1.
Q # 6 Kan ik alle UI-componentdetails van een Android-applicatie zien?
Antwoord: U kunt bijna alle details van de UI-componenten zien in de UIAutomatorViewer. Als een gebruikersinterface / lay-out andere dan de standaardinstellingen van Android gebruikt, kunnen deze niet worden bekeken in de UIAutomatorViewer-tool.
U kunt uw ontwikkelaar vragen om een identificatie aan het UI-element toe te voegen om de functie te automatiseren. Bijvoorbeeld, het plaatsen van een resource-ID, inhoudsbeschrijving, etc.
Q # 7 Gebruikt de Appium-tool de UIAutomator-tool erin?
Antwoord: Ja.
Q # 8) Ondersteunt deze tool andere apparaten zoals Windows / iOS dan Android?
Antwoord: Nee, dit is ontwikkeld door Google en ondersteunt alleen Android-apparaten.
Q # 9) Wat is UIautomator Android?
Antwoord: UIAutomator is een tool / framework dat helpt bij het automatiseren van testcases voor Android-applicaties.
Q # 10) Hoe stel je UIAutomator in?
Antwoord: Raadpleeg het gedeelte Installatie van deze tutorial voor een gedetailleerde uitleg.
Q # 11) Wat is UIAutomator in Appium?
Antwoord: UiAutomator is een testraamwerk / -tool van Android voor het automatiseren van het testen van Android-applicaties, Appium gebruikt het intern intern.
Q # 12) Hoe inspecteer je een element in UIAutomator?
Antwoord: Als u klaar bent met de installatie, opent u een opdrachtprompt en voert u de opdracht UIAutomatorViewer in. Er wordt een venster op uw pc weergegeven. Verbind de mobiele telefoon met de pc en klik op het tweede pictogram van het apparaatscherm (uiautomator dump) bovenaan.
Na dat apparaat wordt het huidige scherm weergegeven in het inspectievenster. Klik op een van de elementen om informatie over dat element te krijgen. Zie voor een gedetailleerde uitleg Inspecteer het vereiste UI-element sectie.
Gevolgtrekking
Samenvatten,
- UIAutomatorViewer is een grafische gebruikersinterface-tool om de UI-laag van elke applicatie te inspecteren.
- U moet de structuur van de gebruikersinterface van een te testen applicatie kennen, zodat het gemakkelijker wordt om de gebruikersinteractie in de gebruikersinterface-laag van de applicatie te automatiseren
- UIAutomator maakt gebruik van een XML-snapshot en screenshot. U kunt de lay-outhiërarchie kennen.
- Om de UI-tests van Android-applicaties te automatiseren, moet u eerst enkele locators identificeren om een interactie met de app uit te voeren Voorbeeld: Klassenaam, resource-ID, tekst.
- Adb is een onderdeel van SDK dat Android Debug Bridge wordt genoemd.
- U kunt de UIAutomatorViewer openen door de opdracht in te voeren uiautomatorviewer in de opdrachtregel.
- Aangezien deze tool gratis is, kan hij door iedereen worden gebruikt en is hij betrouwbaar.
Veel leesplezier !!
Aanbevolen literatuur
- Hoe webapp op de Chrome-browser op Android-apparaat te automatiseren
- Automatiseer native app op Android-apparaat met Appium
- 11 beste automatiseringstools voor het testen van Android-applicaties (Android App Testing Tools)
- 30 beste GUI-testtools voor GUI-testautomatisering [2021 LIST]
- Katalon Studio-zelfstudie: een gratis testautomatiseringstool waarop u hebt gewacht
- Ranorex Studio Hands-on Review: alles-in-één testautomatiseringsoplossing
- Zie Testautomatiseringshandleiding: een handleiding voor mobiele testautomatiseringstools
- TestProject Test Automation Tool Hands-on Review Tutorial