uiautomatorviewer tutorial
Questo tutorial spiega come scaricare, installare e configurare UIAutomator e come utilizzare UIAutomatorViewer per ispezionare Element sull'applicazione Android:
Google ha fornito i propri strumenti di automazione dei test Android e UIAutomatorviewer è uno di questi. Se hai un'idea di Selenium, sarà facile per te capire UIAutomator.
Questo tutorial fornirà una spiegazione dettagliata di UIAutomator insieme alla sua installazione, configurazione, componenti, comandi, programma di test di esempio e alcune delle domande frequenti più comuni.
Esploriamo !!
miglior pulitore di registro gratuito per windows 7
Cosa imparerai:
- Cos'è UIAutomatorViewer?
- Come ispezionare gli elementi dell'interfaccia utente su Android
- Conclusione
Cos'è UIAutomatorViewer?
UIAutomatorViewer fa parte del gestore di Android SDK ed è uno strumento GUI (interfaccia utente grafica) dell'ispettore dell'interfaccia utente che ci aiuta a ispezionare gli elementi dell'interfaccia utente di un'applicazione Android.
L'ispezione di un'applicazione è importante poiché abbiamo bisogno di localizzatori come ID risorsa, classe, testo di un componente dell'applicazione Android per automatizzare l'applicazione.
Uno screenshot XML della schermata corrente verrà acquisito da UIAutomatorViewer. Cliccando su qualsiasi elemento dello schermo, possiamo conoscere la classe che viene utilizzata per rappresentare, l'elemento sullo schermo insieme a tutte le proprietà elencate sul lato destro dello strumento.
La gerarchia degli oggetti è l'ordine degli oggetti in cui sono definiti. Per esempio ,una classe è un figlio di un'altra classe. Si trova nella parte in alto a destra dello strumento.
Utilizzando UIAutomator è possibile scrivere casi di test di automazione per applicazioni Android. Questi test verranno eseguiti sul livello dell'interfaccia utente dell'applicazione. Puoi simulare ogni singola azione che un tester esegue manualmente, per esempio , verificando l'accesso.
Installazione
Puoi installare questo strumento in due modi.
# 1) Android Studio
Se lavori spesso con test / sviluppo di applicazioni Android, puoi installare Android Studio.
Ha tutti gli strumenti di build, piattaforma e SDK. Quindi installando Android Studio, otterrai tutti gli strumenti con esso. Si consiglia di utilizzare Android Studio solo se si dispone di un buon laptop / PC. Perché richiede una notevole RAM sul tuo PC e richiede 4-5 GB di dati per scaricare e installare tutti i requisiti. Ma otterrai tutto con un solo clic.
# 2) Solo strumenti da riga di comando
Se hai bisogno solo di strumenti relativi ai test, puoi scaricare solo il gestore di Android SDK.
In questo tutorial, seguiamo il secondo metodo poiché il primo metodo è praticamente semplice.
Apri questo URL e scorri verso il basso fino all'intestazione Solo strumenti da riga di comando, quindi fare clic sul collegamento del file di download appropriato in base al sistema operativo della macchina. Vedi lo screenshot qui sotto per riferimento.
Per eseguire un programma, è necessario disporre di strumenti SDK Android, strumenti della piattaforma, piattaforme e strumenti di compilazione.
- Aperto utensili e fare clic su strumenti della piattaforma collegare e scaricare i file.
- Crea una cartella denominata AndroidSDK ed estrai gli strumenti scaricati e gli strumenti della piattaforma qui.
- All'interno degli strumenti troverai un file android.bat cartella, fare clic o eseguire il file bat e verrà visualizzata la finestra di Android SDK Manager. Seleziona la versione della piattaforma richiesta, per esempio, Relativo ad Android 25 e fai clic su Installa. È necessario selezionare piattaforme e creare strumenti per la versione richiesta dell'API Android.
- Accetta i termini e le condizioni. Scarica e installa piattaforme e crea strumenti. Assicurati che tutti i file richiesti siano nella cartella AndroidSDK.
Insieme ad Android SDK, abbiamo bisogno di alcune altre cose per iniziare come indicato di seguito.
Strumento formica:
Lo strumento Apache verrà utilizzato per compilare e costruire un codice scritto. Utilizzando lo strumento Ant, possiamo generare un file JAR che è un file Java Archive. Utilizzando il file jar, verranno eseguiti la suite di automazione / i casi di test.
=> Installa Apache ant Qui
Eclipse IDE e Java:
Ci auguriamo che tu debba avere Eclipse IDE e editor per creare il nostro codice e Java installati sul tuo PC. In caso contrario, installa l'ultima versione di Eclipse da Qui
Abbiamo bisogno di un linguaggio per scrivere i nostri casi di test di automazione e utilizziamo Java per automatizzare i nostri test.
= > Installa Java Qui
Configurazione
La prossima cosa che dobbiamo fare è aggiungere una variabile di ambiente per il gestore SDK. Puoi usare questo strumento anche senza aggiungere la variabile d'ambiente, ma il problema è che non puoi usarlo ovunque nel sistema.
Potrai accedervi solo dalla cartella in cui lo hai installato. Quindi è meglio aggiungere variabili di ambiente per SDK per accedervi ovunque. Ora crea variabili di ambiente per Ant, Android SDK e per Java. Aggiungili tutti alla variabile path.
Per farlo, vai a Sistema -> Impostazioni di sistema avanzate -> scheda Avanzate -> Variabili d'ambiente -> Fare clic su Nuovo nella sezione Variabili di sistema. Questa navigazione può differire da sistema a sistema.
Esempio di variabile di sistema per i percorsi:
ANDROID_HOME: F: Workspace SDK
ANT_HOME: C: apache-ant-1.10.5
JAVA_HOME: C: Programmi Java jdk1.8.0_111
Ora aggiungi tutte queste variabili di sistema al percorso come mostrato nell'esempio seguente.
% ANDROID_HOME%;% ANT_HOME%;% JAVA_HOME%
Colpire il Applicare e poi il pulsante ok pulsante.
Ora abbiamo tutto il setup pronto.
Prima di iniziare il nostro codice, dobbiamo prima assicurarci che il dispositivo Android sia pronto per eseguire test su di esso. Per questo, dobbiamo abilitare le opzioni sviluppatore se non ancora abilitate.
Abilitazione delle opzioni sviluppatore in Android:
- Apri le impostazioni del telefono e vai a 'Sistema' e poi a 'Info sul telefono' sezione.
- Lì troverai 'Numero build' .
- Tocca il numero di build cinque volte.
- L'opzione sviluppatore sarà abilitata e puoi vederla nel file 'Sistema' .
- Apri Opzioni sviluppatore e abilita 'Debug USB' e 'Verifica app tramite USB' .
Come ispezionare gli elementi dell'interfaccia utente su Android
Apri il prompt dei comandi ovunque e inserisci il comando uiautomatorviewer. Nota che non ci sono spazi nel comando ed è solo una singola parola. Se hai configurato correttamente l'SDK, verrà aperta una finestra di UIAutomator. In caso contrario, controllare se l'installazione e la configurazione sono state eseguite correttamente.
Vediamo uno per uno l'utilizzo di ogni elemento cerchiato.
# 1) Nella barra multifunzione in alto, fare clic sulla seconda icona da sinistra a destra, ovvero l'icona dello screenshot. Nell'immagine mostrata, è contrassegnato come quello cerchiato in rosso.
#Due) È possibile salvare lo screenshot corrente e il file di dump dell'interfaccia utente per scopi futuri. I file salvati possono essere aperti utilizzando l'icona della cartella in alto.
# 3) Questa sezione contiene tutte le informazioni relative alla gerarchia dell'interfaccia utente. Puoi cercare utilizzando la casella di ricerca fornita. Espandi / comprimi la gerarchia. Attraversa gli oggetti usando le frecce su e giù.
# 4) 'Dettagli nodo' è il luogo in cui otteniamo informazioni su un elemento dell'interfaccia utente.
Mostra tutte le informazioni necessarie sull'elemento come la sua accessibilità, visibilità e diversi localizzatori come il nome della classe, il testo, l'ID risorsa, la descrizione del contenuto, ecc.
Dopodiché, lo schermo apparirà come mostrato di seguito.
Fare clic sulla casella di ricerca di Google sul dispositivo e acquisire nuovamente uno screenshot utilizzando UIAutomatorViewer.
Su PC fare clic sui componenti dell'interfaccia utente visualizzati e osservare. Lo strumento rileva il componente selezionato e mostra i dettagli del componente. Il componente dell'interfaccia utente selezionato verrà evidenziato con una casella di colore rosso sul lato sinistro dello schermo.
Programma di test di esempio
Creazione di un progetto e di una classe di test in Eclipse:
Apri Eclipse IDE sul tuo PC e fai clic su File -> Nuovo -> Progetto Java . Si aprirà una finestra di creazione del progetto, inserire il nome del progetto per esempio 'UiAutomator_Demo'. Lascia tutte le impostazioni predefinite così come sono e fai clic due volte sul pulsante Fine. Ora il tuo progetto è stato creato.
Il progetto creato verrà visualizzato sul lato sinistro dell'IDE. Fare clic con il pulsante destro del mouse sul nome del progetto in cui è necessario selezionare Nuovo -> Classe e nella finestra aperta per inserire il nome della classe, per esempio, DemoTest e premi il pulsante Fine.
Aggiunta di vasi al progetto
Dovremmo aggiungere tutte le librerie che usiamo durante l'automazione dei test.
# 1) Fare clic con il pulsante destro del mouse sul nome del progetto in Eclipse e quindi selezionare 'Proprietà' .
#Due) Verrà visualizzata una nuova finestra con le proprietà, selezionare 'Percorso build Java'.
# 3) Fare clic sul menu Librerie e fare clic sul file 'Aggiungi barattoli esterni' pulsante.
miglior software di ripping di dvd per mac
# 4) Si aprirà la finestra del File Manager. Vai alla cartella in cui hai installato l'SDK. Selezionare android.jar e uiautomator.jar quindi premi il pulsante Applica e chiudi la finestra aggiuntiva.
In questo test, eseguiremo una piccola operazione nella ricerca di Google per vedere se i risultati vengono visualizzati secondo la nostra query di ricerca.
Di seguito sono riportati i passaggi necessari per eseguire i passaggi:
- Fare clic sulla casella di ricerca di Google.
- Inserisci una query di ricerca, per esempio, Guida al test del software
- Premere il pulsante Invio e verificare se i risultati contengono il collegamento al sito Web della Guida al test del software
Quindi questi sono i passaggi che eseguiamo manualmente.
Automatizziamo lo stesso.
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(); } }
Esploriamo lo snippet di codice sopra.
Abbiamo importato tutti i moduli richiesti nel nostro programma.
Passo 1 : Memorizzazione dell'ID risorsa della casella di ricerca di Google in un UiObject ed esecuzione dell'operazione di clic.
Passo 2 : Inserendo il testo nella casella di ricerca e premendo invio
Passaggio 3 : Verifica se i risultati della ricerca contengono il sito Web della Guida per il test del software. Stampa 'Passato' messaggio alla console se il testo desiderato esiste, altrimenti stampa il messaggio 'Fallito'.
Elenco dei comandi
# 1) Crea un progetto di prova
Android crea uitest-project –t -p
Questo comando crea un file build.xml che verrà ulteriormente utilizzato per la generazione di Jar.
-t parametro accetta la versione Android come parametro. È necessario specificare quale versione di Android si desidera testare. Esempio: android-25, ovvero stiamo prendendo di mira la versione di Android 7.
-p parametro è dove devi menzionare il tuo percorso per il progetto. Esempio: D: Workspace UiAutomator_Demo
-n è il nome del progetto Esempio: UiAutomator_Demo
# 2) Costruisci il tuo codice sorgente
Come accennato in precedenza, utilizzeremo Apache ant come strumento di compilazione per compilare il nostro codice sorgente e generare un file JAR eseguibile.
Costruzione di formiche
Se non ci sono errori al momento della compilazione, verrà mostrato un messaggio sulla console 'Build is Success' .
Quindi puoi trovare il file jar eseguibile nel file sono cartella del progetto con il nome specificato al momento dell'esecuzione del primo comando. Se ci sono problemi nel codice, gli errori verranno visualizzati sulla console e il file JAR non verrà generato.
# 3) Invio del file JAR generato al dispositivo
Adb push / data / local / tmp /
Esempio: adb push D: Workspace UiAutomator_Demo bin UiAutomator_Demo.jar / data / local / tmp /
Poiché i test UiAutomator vengono eseguiti in base al file JAR inviato al dispositivo, è necessario prima eseguire il push del file jar nel dispositivo. Per questo, useremo il comando push adb.
Questo comando richiede due parametri: uno è il file che deve essere inviato al dispositivo Android e l'altro è il percorso di destinazione.
Il secondo argomento per questo comando è il percorso di destinazione in cui deve essere inviato il nostro file. Nel nostro caso dovrebbe essere / data / local / tmp /
# 4) Esegui il test
Ora abbiamo tutto pronto. L'unica cosa in sospeso è eseguire il nostro test.
Adb shell uiautomator runtest –c
Esempio: adb shell uiautomator runtest UiAutomator_Demo.jar –c com.android.uiautomation.DemoTest
Se non sai come ottenere il nome completo della classe, segui la procedura seguente:
In Eclipse, fai clic sul menu a discesa del tuo progetto e visualizza in dettaglio la classe in cui è presente il codice di test. Qui la classe è DemoTest. Fare clic con il tasto destro sul nome della classe. Si aprirà una finestra, fare clic su 'Copia nome qualificato' .
Non appena si preme questo comando nel prompt dei comandi, il test inizierà l'esecuzione e ora è possibile vedere il test in esecuzione nel dispositivo.
Domande frequenti
D # 1) L'impostazione del percorso per SDK è obbligatoria?
Risposta: No, ma è consigliabile impostare il percorso, perché se non si imposta il percorso dell'SDK nelle variabili d'ambiente, è possibile accedere solo ai file nella posizione in cui è installato.
Quindi, per accedere al tuo SDK ovunque devi impostare il percorso. Non solo per SDK, ma è anche consigliabile seguire lo stesso per Java e ant.
Q # 2) Perché UIAutomatorViewer mostra un errore durante l'acquisizione di uno screenshot?
Risposta:
Ci sono 3 possibili ragioni per questo:
# 1) Adb non ha riconosciuto il tuo dispositivo e devi aggiornare il software del driver del dispositivo. Puoi cercarli online e installarli, per esempio, se stai lavorando con un dispositivo LG, puoi cercare i driver LG adb.
#Due) Il tuo dispositivo non è in stato di inattività: Per lo schermo che non è statico, come il video è in riproduzione o viene visualizzata un'animazione, uiautomatorviewer non può fare uno screenshot in questi casi. Quindi assicurati che lo schermo del tuo dispositivo non mostri alcun video / animazione al momento dello screenshot.
# 3) Mancata corrispondenza della versione Android: Assicurati che la versione dell'API dell'SDK sia superiore o uguale al livello dell'API della versione Android del dispositivo. In caso contrario, puoi aggiornare l'SDK facendo clic sul file android.bat o tramite SDK manager.
Q # 3) Esiste una documentazione ufficiale per UIAutomatorViewer?
Risposta: Sì, Google ha fornito documentazione per UIAutomatorViewer. Sebbene non sia completamente coperto su tutti gli argomenti, ma può avere un'idea di questo strumento.
Q # 4) Perché il comando adb devices non mostra alcun dispositivo?
Risposta: Controlla se le opzioni sviluppatore sono abilitate nel tuo dispositivo. Abilitare Opzione sviluppatori nel dispositivo Android, segui la procedura seguente. Vai alle impostazioni del dispositivo e Riguardo al telefono . Tocca 5 volte il numero di build. Un messaggio di brindisi 'Ora sei uno sviluppatore' verrà mostrato e verrà aggiunta l'opzione Impostazioni sviluppatore.
Q # 5) Perché lo è Adb non ha ancora riconosciuto il mio dispositivo?
Risposta: Potrebbe esserci un problema con il driver. È necessario aggiornare il driver che aiuta a rilevare il dispositivo.
Seguire i passaggi seguenti per aggiornare il driver.
# 1) Apri il tuo sistema e apri Gestione dispositivi; puoi ottenere questa impostazione facendo clic con il pulsante destro del mouse Pulsante Start .
#Due) Apri Gestione dispositivi, lì puoi trovare il nome del tuo dispositivo nei dispositivi Android / dispositivi portatili.
# 3) Fare clic con il tasto destro sul nome del dispositivo e selezionare Aggiorna driver.
# 4) Fare clic sull'opzione Sfoglia il mio computer per il software del driver e fare clic su fammi scegliere da un elenco di driver di dispositivo sul mio computer.
# 5) Seleziona uno dei driver adatti da installare e premi il pulsante successivo. Se il driver del dispositivo è stato installato correttamente, verrà visualizzato un messaggio di seguito.
# 6) Poiché si tratta di modifiche hardware applicate al sistema, potrebbe essere necessario riavviare il sistema se richiesto.
# 7) Se ritieni che il dispositivo non venga riconosciuto, puoi prima modificare la modalità di connessione. Queste modalità vengono visualizzate sul dispositivo quando si collega il dispositivo al sistema.
Esempio: Trasferisci file, trasferisci foto, MIDI1.
Q # 6) Posso vedere i dettagli di ogni componente dell'interfaccia utente di un'applicazione Android?
Risposta: Puoi vedere quasi tutti i dettagli dei componenti dell'interfaccia utente in UIAutomatorViewer. Se qualsiasi interfaccia utente / layout utilizza impostazioni diverse da quelle predefinite fornite da Android, queste non possono essere visualizzate nello strumento UIAutomatorViewer.
Puoi chiedere al tuo sviluppatore di inserire qualsiasi identificatore nell'elemento dell'interfaccia utente per automatizzare la funzionalità. Per esempio, mettendo un ID risorsa, descrizione del contenuto, ecc.
Q # 7) Lo strumento Appium utilizza lo strumento UIAutomator al suo interno?
Risposta: Sì.
Q # 8) Questo strumento supporta altri dispositivi come Windows / iOS oltre ad Android?
Risposta: No, è sviluppato da Google e supporta solo i dispositivi Android.
Q # 9) Cos'è UIautomator Android?
Risposta: UIAutomator è uno strumento / framework che aiuta ad automatizzare i casi di test delle applicazioni Android.
Q # 10) Come si configura UIAutomator?
differenza tra test scatola bianca e scatola nera
Risposta: Fare riferimento alla sezione Installazione di questo tutorial per una spiegazione dettagliata.
Q # 11) Cos'è UIAutomator in Appium?
Risposta: UiAutomator è un framework / strumento di test fornito da Android per automatizzare il test delle applicazioni Android, Appium lo utilizza internamente.
Q # 12) Come si ispeziona un elemento in UIAutomator?
Risposta: Una volta terminata la configurazione, apri un prompt dei comandi e immetti il comando UIAutomatorViewer. Verrà visualizzata una finestra sul tuo PC. Collega il cellulare al PC e fai clic sulla seconda icona in alto sullo screenshot del dispositivo (dump uiautomator).
Dopo quel dispositivo, la schermata corrente verrà visualizzata nella finestra di ispezione. Fare clic su uno qualsiasi degli elementi per ottenere informazioni su quell'elemento. Per una spiegazione dettagliata fare riferimento Ispeziona l'elemento dell'interfaccia utente richiesto sezione.
Conclusione
Riassumere,
- UIAutomatorViewer è uno strumento di interfaccia utente grafica per ispezionare il livello dell'interfaccia utente di qualsiasi applicazione.
- È necessario conoscere la struttura dell'interfaccia utente di un'applicazione in prova in modo che sia più facile automatizzare l'interazione dell'utente nel livello dell'interfaccia utente dell'applicazione
- UIAutomator utilizza un'istantanea e uno screenshot XML. Puoi conoscere la gerarchia del layout.
- Per automatizzare i test dell'interfaccia utente delle applicazioni Android, è necessario prima identificare alcuni localizzatori per eseguire un'interazione con l'app Esempio: Nome classe, ID risorsa, testo.
- Adb è una parte dell'SDK che si chiama Android Debug Bridge.
- È possibile aprire UIAutomatorViewer immettendo il comando uiautomatorviewer nella riga di comando.
- Poiché questo strumento è gratuito, può essere utilizzato da chiunque ed è affidabile.
Buona lettura!!
Lettura consigliata
- Come automatizzare l'app Web sul browser Chrome nel dispositivo Android
- Automatizza l'app nativa sul dispositivo Android utilizzando Appium
- 11 migliori strumenti di automazione per testare applicazioni Android (strumenti di test per app Android)
- 30 migliori strumenti di test GUI per l'automazione dei test GUI (2021 LIST)
- Tutorial di Katalon Studio: uno strumento gratuito di automazione del test che stavi aspettando
- Revisione pratica di Ranorex Studio: soluzione di automazione del test all-in-one
- SeeTest Automation Tutorial: A Mobile Test Automation Tool Guide
- Tutorial pratico di revisione dello strumento di automazione del test TestProject