uiautomatorviewer tutorial
Tento výukový program vysvětluje, jak stáhnout, nainstalovat a konfigurovat UIAutomator a jak používat UIAutomatorViewer ke kontrole prvku v aplikaci pro Android:
Google poskytl své vlastní nástroje pro automatizaci testování systému Android a UIAutomatorviewer je jedním z nich. Pokud máte představu o selenu, pak bude pro vás snadné pochopit UIAutomator.
Tento výukový program vám poskytne podrobné vysvětlení UIAutomator spolu s jeho instalací, konfigurací, komponentami, příkazy, ukázkovým testovacím programem a některými často kladenými dotazy.
Pojďme prozkoumat !!
jak vytvořit bránu firewall od nuly
Co se naučíte:
Co je UIAutomatorViewer?
UIAutomatorViewer přichází jako součást správce Android SDK a je to nástroj grafického uživatelského rozhraní (UI inspector GUI), který nám pomáhá kontrolovat prvky uživatelského rozhraní aplikace pro Android.
Prohlídka aplikace je důležitá, protože k automatizaci aplikace potřebujeme lokátory, jako jsou ID prostředků, třída, text komponenty aplikace Android.
UIAutomatorViewer pořídí snímek obrazovky XML aktuální obrazovky. Kliknutím na libovolný prvek na obrazovce můžeme získat informace o třídě, která se používá k reprezentaci, prvku na obrazovce spolu se všemi vlastnostmi uvedenými na pravé straně nástroje.
Hierarchie objektů je pořadí objektů, ve kterém jsou definovány. Například ,třída je dítětem jiné třídy. Je umístěn v pravé horní části nástroje.
Pomocí UIAutomator můžete psát automatizační testovací případy pro aplikace pro Android. Tyto testy budou provedeny na vrstvě uživatelského rozhraní aplikace. Můžete simulovat každou akci, kterou tester provede ručně, například , ověřování přihlášení.
Instalace
Tento nástroj můžete nainstalovat dvěma způsoby.
# 1) Android Studio
Pokud často pracujete s testováním / vývojem aplikací pro Android, můžete si nainstalovat Android Studio.
Má všechny nástroje Build, platformu a SDK. Instalací aplikace Android Studio tedy získáte všechny nástroje. Doporučujeme, abyste pro Android Studio šli pouze v případě, že máte dobrý notebook / PC. Protože na vašem PC vyžaduje značnou paměť RAM a ke stažení a instalaci všech požadavků potřebuje data 4 až 5 GB. Vše ale získáte jediným kliknutím.
# 2) Pouze nástroje příkazového řádku
Pokud potřebujete pouze nástroje související s testováním, můžete si stáhnout pouze správce Android SDK.
V tomto tutoriálu sledujeme druhou metodu, protože první metoda je docela přímočará.
Otevřete to URL a přejděte dolů do záhlaví Pouze nástroje příkazového řádku, poté klikněte na odkaz na vhodný soubor ke stažení podle operačního systému vašeho zařízení. Viz referenční snímek obrazovky níže.
Chcete-li spustit program, musíme mít nástroje Android SDK, nástroje platformy, platformy a nástroje pro sestavení.
- Otevřeno nástroje a klikněte na nástroje platformy propojit a stáhnout soubory.
- Vytvořte složku s názvem AndroidSDK a zde extrahujte stažené nástroje a nástroje platformy.
- Uvnitř nástrojů najdete android.bat složku, klikněte nebo spusťte bat soubor a zobrazí se okno Android SDK Manager. Vyberte požadovanou verzi platformy, například, Android 25 a klikněte na nainstalovat. Musíte vybrat platformy a vytvořit nástroje pro požadovanou verzi rozhraní Android API.
- Přijměte podmínky. Stáhněte a nainstalujte platformy a nástroje pro vytváření. Zkontrolujte, zda jsou všechny požadované soubory ve složce AndroidSDK.
Spolu s Android SDK potřebujeme ještě několik věcí, jak začít, jak je uvedeno níže.
Ant Tool:
Nástroj Apache se použije ke kompilaci a sestavení psaného kódu. Pomocí nástroje Ant můžeme vygenerovat soubor JAR, který je souborem Java Archive. Pomocí souboru jar budou provedeny automatizační sady / testovací případy.
=> Nainstalujte Apache ant tady
Eclipse IDE a Java:
Doufáme, že musíte mít Eclipse IDE a editor pro sestavení našeho kódu a Java nainstalované ve vašem PC. Pokud ne, nainstalujte si nejnovější verzi Eclipse z tady
Pro psaní našich automatizačních testovacích případů potřebujeme jazyk a k automatizaci našich testů používáme Javu.
= > Nainstalujte Javu tady
Konfigurace
Další věc, kterou musíme udělat, je přidat proměnnou prostředí pro správce SDK. Tento nástroj můžete použít bez přidání proměnné prostředí, ale problém je, že jej nemůžete použít všude v systému.
Budete k němu mít přístup pouze ve složce, do které jste jej nainstalovali. Raději tedy přidáme proměnné prostředí pro SDK, abychom k nim měli přístup kdekoli. Nyní vytvořte proměnné prostředí pro Ant, Android SDK a pro Javu. Přidejte je všechny do proměnné cesty.
Chcete-li to provést, přejděte na Systém -> Upřesnit nastavení systému -> karta Upřesnit -> Proměnné prostředí -> Klikněte na Nový v části Systémové proměnné. Tato navigace se může u jednotlivých systémů lišit.
Příklad systémové proměnné pro cesty:
ANDROID_HOME: F: Workspace SDK
ANT_HOME: C: apache-ant-1.10.5
JAVA_HOME: C: Program Files Java jdk1.8.0_111
Nyní přidejte všechny tyto systémové proměnné do cesty, jak je znázorněno v následujícím příkladu.
% ANDROID_HOME%;% ANT_HOME%;% JAVA_HOME%
Udeř Aplikovat tlačítko a poté tlačítko OK knoflík.
Nyní máme vše připraveno.
Před spuštěním našeho kódu se nejprve musíme ujistit, že je zařízení Android připraveno na něm provádět testy. K tomu musíme povolit možnosti vývojáře, pokud ještě nejsou povoleny.
Povolení možností pro vývojáře v systému Android:
- Otevřete nastavení telefonu a přejděte na 'Systém' a pak do 'O telefonu' sekce.
- Tam najdete 'Číslo sestavení' .
- Klepněte pětkrát na číslo sestavení.
- Možnost pro vývojáře bude povolena a uvidíte ji v 'Systém' .
- Otevřete možnosti vývojáře a povolte 'Ladění USB' a „Ověření aplikací přes USB“ .
Jak kontrolovat prvky uživatelského rozhraní v systému Android
Otevřete příkazový řádek kdekoli a zadejte příkaz uiautomatorviewer. Všimněte si, že v příkazu nejsou mezery a je to jen jedno slovo. Pokud jste správně nakonfigurovali SDK, zobrazí se vám okno UIAutomator. Jinak zkontrolujte, zda je instalace a konfigurace provedena správně.
Podívejme se na využití každého prvku v kroužku jeden po druhém.
# 1) Nahoře na pásu karet klikněte na druhou ikonu zleva doprava, tj. Ikonu obrazovky. Na obrázku je označen jako ten, který je zakroužkovaný červeně.
#dva) Můžete uložit aktuální snímek obrazovky i soubor s výpisem uživatelského rozhraní pro budoucí účely. Uložené soubory lze otevřít pomocí ikony složky v horní části.
# 3) Tato část obsahuje všechny informace týkající se hierarchie uživatelského rozhraní. Můžete vyhledávat pomocí poskytnutého vyhledávacího pole. Rozbalte / sbalte hierarchii. Procházejte mezi objekty pomocí šipek nahoru a dolů.
# 4) „Podrobnosti uzlu“ je místo, kde získáváme informace o prvku uživatelského rozhraní.
Zobrazuje všechny potřebné informace o prvku, jako je jeho přístupnost, viditelnost a různé vyhledávače, jako je název třídy, text, ID zdroje, popis obsahu atd. Pomocí kterých potřebujeme přístup k prvku v automatizaci.
Poté bude obrazovka vypadat, jak je znázorněno níže.
Klikněte na vyhledávací pole Google na zařízení a znovu pořiďte snímek obrazovky pomocí UIAutomatorViewer.
Na PC klikněte na zobrazené komponenty uživatelského rozhraní a sledujte. Nástroj detekuje vybranou komponentu a zobrazí podrobnosti komponenty. Vybraná součást uživatelského rozhraní bude zvýrazněna červeně zbarveným rámečkem na levé straně obrazovky.
Ukázkový testovací program
Vytvoření testovacího projektu a třídy v Eclipse:
Otevřete Eclipse IDE na vašem PC a klikněte na Soubor -> Nový -> Projekt Java . Otevře se okno pro vytvoření projektu, zadejte název projektu například „UiAutomator_Demo“. Ponechte všechna výchozí nastavení tak, jak jsou, a dvakrát klikněte na tlačítko Dokončit. Nyní byl váš projekt vytvořen.
Vytvořený projekt se zobrazí na levé straně IDE. Klikněte pravým tlačítkem na název projektu, kde je třeba jej vybrat Nové -> Třída a v otevřeném okně zadejte název třídy, například, DemoTest a stiskněte tlačítko Dokončit.
Přidání sklenic do projektu
Měli bychom přidat všechny knihovny, které používáme při automatizaci testů.
# 1) Klikněte pravým tlačítkem na název projektu v Eclipse a poté vyberte „Vlastnosti“ .
#dva) Zobrazí se nové okno s vlastnostmi, vyberte „Cesta sestavení Java“.
# 3) Klikněte na nabídku Knihovny a poté na ikonu „Přidat externí nádoby“ knoflík.
# 4) Otevře se okno Správce souborů. Přejděte do složky, kde máte nainstalovanou sadu SDK. Vybrat android.jar a uiautomator.jar a poté stiskněte tlačítko použít a zavřete další okno.
V tomto testu provedeme malou operaci ve vyhledávání Google, abychom zjistili, zda jsou výsledky zobrazeny podle našeho vyhledávacího dotazu.
Níže jsou uvedeny kroky, které je třeba provést:
- Klikněte na vyhledávací pole Google.
- Zadejte vyhledávací dotaz, například, Nápověda k testování softwaru
- Stiskněte tlačítko Enter a zkontrolujte, zda výsledky obsahují odkaz na web nápovědy Testování softwaru
Toto jsou kroky, které provádíme ručně.
Pojďme automatizovat totéž.
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(); } }
Prozkoumejme výše uvedený fragment kódu.
Importovali jsme všechny požadované moduly do našeho programu.
Krok 1 : Uložení ID zdroje vyhledávacího pole Google v UiObject a provedení operace kliknutí.
Krok 2 : Zadání textu do vyhledávacího pole a stisknutí klávesy Enter
Krok 3 : Ověření, zda výsledky vyhledávání obsahují web nápovědy Testování softwaru. Tisk „Prošel“ zpráva na konzoli, pokud požadovaný text existuje, jinak vytiskněte zprávu „Selhalo“.
Seznam příkazů
# 1) Vytvořte testovací projekt
Android vytvoří uitest-project –t -p
Tento příkaz vytvoří soubor build.xml, který bude dále použit pro generování Jar.
-t parametr bere verzi Androidu jako parametr. Musíte určit, na kterou verzi Androidu chcete cílit. Příklad: android-25 tj. zaměřujeme se na verzi Android 7.
Parametr -p je místo, kde musíte uvést cestu k projektu. Příklad: D: Workspace UiAutomator_Demo
-n je název projektu Příklad: UiAutomator_Demo
# 2) Vytvořte si zdrojový kód
Jak již bylo zmíněno dříve, použili bychom Apache ant jako nástroj pro sestavení ke kompilaci našeho zdrojového kódu a ke generování spustitelného souboru JAR.
Mravenec stavět
Pokud v době kompilace nedojde k žádné chybě, na konzole se zobrazí zpráva „Sestavení je úspěšné“ .
Potom najdete spustitelný soubor jar v souboru dopoledne složka projektu s názvem uvedeným v době provádění prvního příkazu. Pokud se ve vašem kódu vyskytnou nějaké problémy, chyby se zobrazí na konzole a soubor JAR se nevygeneruje.
# 3) Odeslání generovaného souboru JAR do zařízení
Adb push / data / local / tmp /
otestovat můj web v různých prohlížečích
Příklad: adb push D: Workspace UiAutomator_Demo bin UiAutomator_Demo.jar / data / local / tmp /
Vzhledem k tomu, že testy UiAutomator běží na základě souboru JAR odeslaného do zařízení, musíme nejprve odeslat soubor jar do zařízení. K tomu použijeme příkaz adb push.
Tento příkaz má dva parametry - jeden je soubor, který má být odeslán do zařízení Android, a druhý je cílová cesta.
Druhým argumentem pro tento příkaz je cílová cesta, kam by měl být náš soubor vložen. V našem případě by to mělo být / data / local / tmp /
# 4) Spusťte test
Nyní máme vše připraveno. Jedinou věcí čekající na provedení je provedení našeho testu.
Nejpropustnější uiautomator shellu Adb –c
Příklad: adb shell uiautomator runtest UiAutomator_Demo.jar –c com.android.uiautomation.DemoTest
Pokud nevíte, jak získat kvalifikovaný název třídy, postupujte podle níže uvedeného postupu:
Ve svém Eclipse klikněte na rozbalovací nabídku projektu a přejděte do třídy, kde je váš testovací kód. Tady je třída DemoTest. Klikněte pravým tlačítkem na název třídy. Otevře se okno, klikněte na „Kopírovat kvalifikované jméno“ .
Jakmile na příkazový řádek stisknete tento příkaz, test se začne provádět a nyní uvidíte, jak se test provádí v zařízení.
Časté dotazy
Otázka č. 1) Je nastavení cesty pro SDK povinné?
Odpovědět: Ne, ale je vhodné nastavit cestu, protože pokud nenastavíte cestu SDK v proměnných prostředí, můžete přistupovat pouze k souborům v umístění, kde je nainstalována.
Takže pro přístup k vaší SDK kdekoli potřebujete nastavit cestu. Nejen pro SDK, ale je také vhodné postupovat stejně pro Java a Ant.
Otázka č. 2) Proč UIAutomatorViewer zobrazuje chybu při pořizování snímku obrazovky?
kruhový propojený seznam c ++
Odpovědět:
Existují 3 možné důvody:
# 1) Adb nerozpoznal vaše zařízení a musíte aktualizovat software ovladače zařízení. Můžete je vyhledat online a nainstalovat, například, pokud pracujete se zařízením LG, můžete vyhledat ovladače adb LG.
#dva) Vaše zařízení není v klidovém stavu: Uiautomatorviewer, který není statický, například přehrává video nebo se zobrazuje nějaká animace, nemůže v těchto případech pořídit snímek obrazovky. Zajistěte tedy, aby obrazovka vašeho zařízení v době pořizování snímku obrazovky nezobrazovala žádná videa / animace.
# 3) Neshoda verzí Androidu: Ujistěte se, že vaše verze API API je vyšší nebo stejná jako úroveň API verze Androidu zařízení. Pokud ne, můžete aktualizovat SDK kliknutím na soubor android.bat nebo prostřednictvím správce SDK.
Otázka č. 3) Existuje nějaká oficiální dokumentace pro UIAutomatorViewer?
Odpovědět: Ano, Google poskytl dokumentace pro UIAutomatorViewer. Není sice plně pokrytý všemi tématy, ale může získat představu o tomto nástroji.
Otázka č. 4) Proč příkaz adb devices nezobrazuje žádná zařízení?
Odpovědět: Zkontrolujte, zda jsou ve vašem zařízení povoleny možnosti pro vývojáře. Umožnit Možnost pro vývojáře v zařízení Android postupujte podle níže uvedeného postupu. Přejděte do nastavení zařízení a O telefonu . Klepněte pětkrát na číslo sestavení. Toastová zpráva „Nyní jste vývojář“ se zobrazí a bude přidána možnost Nastavení vývojáře.
Otázka č. 5) Proč je Adb stále nerozpoznal moje zařízení?
Odpovědět: Může se jednat o problém s ovladačem. Musíte aktualizovat ovladač, který pomáhá detekovat zařízení.
Podle pokynů níže aktualizujte ovladač.
# 1) Otevřete svůj systém a otevřete správce zařízení; toto nastavení získáte kliknutím pravým tlačítkem Tlačítko Start .
#dva) Otevřete Správce zařízení, kde najdete název svého zařízení v zařízeních Android / přenosných zařízeních.
# 3) Klikněte pravým tlačítkem na název zařízení a vyberte Aktualizovat ovladače.
# 4) Klikněte na možnost Procházet můj počítač a vyhledejte software ovladače a klikněte na dovolte mi vybrat ze seznamu ovladačů zařízení v mém počítači.
# 5) Vyberte kterýkoli z vhodných ovladačů k instalaci a stiskněte další tlačítko. Pokud je ovladač zařízení úspěšně nainstalován, zobrazí se zpráva níže.
# 6) Jelikož se jedná o hardwarové změny aplikované na váš systém, možná budete muset restartovat systém, pokud k tomu budete vyzváni.
# 7) Pokud máte pocit, že zařízení není rozpoznáno, můžete nejprve změnit připojení režimu. Tyto režimy se zobrazí na zařízení, když připojíte zařízení k systému.
Příklad: Přenos souborů, přenos fotografií, MIDI1.
Otázka č. 6) Mohu zobrazit podrobnosti jednotlivých komponent uživatelského rozhraní aplikace pro Android?
Odpovědět: V UIAutomatorViewer můžete vidět téměř všechny podrobnosti komponent uživatelského rozhraní. Pokud jakékoli uživatelské rozhraní / rozložení používá jiné než výchozí hodnoty poskytované systémem Android, nelze je zobrazit v nástroji UIAutomatorViewer.
Můžete požádat svého vývojáře, aby vložil jakýkoli identifikátor prvku uživatelského rozhraní, aby tuto funkci automatizoval. Například, uvedení ID zdroje, popisu obsahu atd.
Otázka č. 7) Používá nástroj Appium v něm nástroj UIAutomator?
Odpovědět: Ano.
Otázka č. 8) Podporuje tento nástroj jiná zařízení, jako je Windows / iOS než Android?
Odpovědět: Ne, toto je vyvíjeno společností Google a podporuje pouze zařízení Android.
Otázka č. 9) Co je UIautomator Android?
Odpovědět: UIAutomator je nástroj / framework, který pomáhá automatizovat testovací případy aplikací pro Android.
Otázka č. 10) Jak nastavíte UIAutomator?
Odpovědět: Podrobné vysvětlení najdete v části instalace tohoto tutoriálu.
Otázka č. 11) Co je UIAutomator v Appiu?
Odpovědět: UiAutomator je testovací framework / nástroj poskytovaný Androidem pro automatizaci testování aplikací pro Android, Appium to interně používá interně.
Otázka č. 12) Jak zkontrolujete prvek v UIAutomator?
Odpovědět: Po dokončení instalace otevřete příkazový řádek a zadejte příkaz UIAutomatorViewer. Na vašem PC se zobrazí okno. Připojte mobilní telefon k počítači a klikněte na druhou ikonu obrazovky zařízení (výpis uiautomator) v horní části.
Po tomto zařízení se v okně inspektora zobrazí aktuální obrazovka. Kliknutím na některý z prvků získáte informace o tomto prvku. Podrobné vysvětlení viz Zkontrolujte požadovaný prvek uživatelského rozhraní sekce.
Závěr
Shrnout,
- UIAutomatorViewer je grafický nástroj uživatelského rozhraní ke kontrole vrstvy uživatelského rozhraní jakékoli aplikace.
- Musíte znát strukturu uživatelského rozhraní testované aplikace, aby bylo snazší automatizovat interakci uživatele ve vrstvě uživatelského rozhraní aplikace
- UIAutomator používá snímek XML a snímek obrazovky. Můžete znát hierarchii rozložení.
- Pro automatizaci testů uživatelského rozhraní aplikací pro Android musíte nejprve identifikovat některé lokátory, abyste mohli provést interakci s aplikací Příklad: Název třídy, ID zdroje, text.
- Adb je součástí SDK, která se nazývá Android Debug Bridge.
- UIAutomatorViewer můžete otevřít zadáním příkazu uiautomatorviewer v příkazovém řádku.
- Protože je tento nástroj bezplatný, může ho používat kdokoli a je spolehlivý.
Šťastné čtení!!
Doporučené čtení
- Jak automatizovat webovou aplikaci v prohlížeči Chrome v zařízení Android
- Automatizujte nativní aplikaci na zařízení Android pomocí aplikace Appium
- 11 nejlepších automatizačních nástrojů pro testování aplikací pro Android (nástroje pro testování aplikací pro Android)
- 30 nejlepších nástrojů pro testování grafického uživatelského rozhraní pro automatizaci testu grafického uživatelského rozhraní (SEZNAM 2021)
- Výukový program Katalon Studio: Bezplatný nástroj pro automatizaci testů, na který jste čekali
- Praktická recenze Ranorex Studio: Řešení automatizace testů vše v jednom
- Výukový program pro automatizaci SeeTest: Průvodce nástrojem pro automatizaci mobilních testů
- Výukový program pro praktickou kontrolu nástroje Test Automation Test