Casa Social media Come testare la tua app per Android Usando Espresso - dummies

Come testare la tua app per Android Usando Espresso - dummies

Sommario:

Video: Create UI tests with Espresso Test Recorder 2025

Video: Create UI tests with Espresso Test Recorder 2025
Anonim

Come sviluppatore, conosci già l'importanza di scrivere test per il tuo codice. Questo è altrettanto vero per lo sviluppo di app Android come per qualsiasi altro tipo di sviluppo. Fortunatamente, Android semplifica l'aggiunta di test alla tua app.

Le seguenti informazioni illustrano le basi dell'aggiunta di test all'app Android utilizzando Espresso. Espresso è una libreria fornita con l'SDK di Android per rendere più semplice il test delle interfacce utente Android.

Assicurati che l'app stia utilizzando il Gradle 2. 1. 1 o successivo con gli strumenti di build di Android 21. 1. 2 o successive.

Per aggiungere un test Espresso alla tua app, dovrai:

  1. Modificare lo script di build

  2. Scrivi il test

  3. Esegui il test

Come modificare la build

Apri il costruire. file gradle per la tua app. Se la tua app ha più moduli, ti consigliamo di aprire la build. file gradle nel modulo dell'app, non nel modulo root. Quindi per l'app Attiva / disattiva modalità silenziosa, aprirai SilentModeToggle / build. Gradle.

Aggiungi la seguente dipendenza alla sezione delle dipendenze della tua build. file gradle:

dipendenze {… // Test dipendenze androidTestCompile ' com. Android. supporto. test. espresso: core espresso: 2. 0 ' }

Questo indica ad Android Studio di includere la libreria Espresso nelle dipendenze del test. La libreria Espresso non verrà incorporata nell'apk in cui viene spedito, ma sarà incluso nel tuo apk di test in modo che i tuoi test possano utilizzarlo.

Quindi, aggiungi quanto segue al tuo defaultConfig:

defaultConfig {… // Il test runner a usa quando esegue il < test. testInstrumentationRunner " supporto android.prove runner.AndroidJUnitRunner " } Questo indica ad Android quale strumentazione utilizzare per eseguire i test. Non hai bisogno di sapere molto sulla strumentazione, a parte questo è quello che devi usare ogni volta che vuoi eseguire i test Espresso.

Questo è tutto ciò che devi fare per aggiungere il supporto per Espresso. Successivamente, dovrai scrivere il test effettivo.

Come scrivere il test

Per aggiungere un test ad Android, è necessario assicurarsi di inserirlo nel posto giusto. Apri la tua directory src in Android Studio e crea una nuova directory chiamata androidTest se non esiste già. All'interno di questa directory, crea una directory chiamata java.

All'interno della directory appena creata, creare un nuovo file denominato SilentModeToggleEspressoTest. Giava. Puoi effettivamente nominarlo come vuoi, ma assicurati che termini in "Test".Giava".

Inserisci quanto segue nel tuo file di test:

classe pubblica SilentModeToggleEspressoTest estende ActivityInstrumentationTestCase2 {public SilentModeToggleEspressoTest () {super (MainActivity. Class);}}

Crea una nuova classe denominata SilentModeToggleEspressoTest. Estende ActivityInstrumentationTestCase2, che userai per scrivere la maggior parte dei test della tua app. ActivityInstrumentationTestCase2 è parametrizzato sul tipo di attività che si desidera testare. Per l'app SilentModeToggle, l'attività principale dell'app viene chiamata, in modo abbastanza appropriato, MainActivity.

La tua classe di test deve avere un costruttore predefinito, e in quel costruttore di default chiamerai il costruttore di super classe con la classe dell'attività che stai testando. Quello che hai scritto fino ad ora sarà praticamente incollato per quasi tutti i test Android che tu abbia mai scritto.

Prima di poter scrivere il test vero e proprio, devi configurarlo. Per fare ciò, aggiungi il seguente metodo alla tua classe di test:

@Override setUp () di void pubblico genera Exception {super. impostare(); getActivity ();}

Per testare un'attività utilizzando Espresso, è necessario innanzitutto creare l'attività sottoposta a test. Questo viene fatto chiamando getActivity (), che crea e avvia l'attività per te se non esiste già. Lo fai sopra nel metodo setUp () per la classe, che viene eseguito prima dell'esecuzione di ognuno dei tuoi test.

Ora, finalmente, puoi scrivere il test. Aggiungi il seguente metodo alla tua classe:

public void testPhoneIconIsDisplayed () {// Quando la vista phone_icon è disponibile, // controlla che sia visualizzata. onView (withId (R. id. phone_icon)). check (matches (isDisplayed ()));}

È necessario importare i metodi onView, withId, check, matches e isDisplayed. Android Studio offre assistenza per le importazioni statiche necessarie.

I test dell'Espresso sono progettati per essere molto facili da leggere. Come puoi vedere qui, questo test è in attesa fino alla vista con ID R. id. phone_icon è disponibile e, una volta che è, controlla che la vista sia visualizzata.

Il prossimo passo è eseguire il test.

Come eseguire il test

Innanzitutto, avviare un emulatore o collegare il telefono al computer tramite USB.

Una volta connesso e in esecuzione il dispositivo, fare clic con il pulsante destro del mouse sulla directory java in AndroidTest, quindi selezionare Esegui tutti i test (con l'icona di Android):

Se il test viene eseguito correttamente, si dovrebbe vedere qualcosa del tipo seguente:

Perché i test sono importanti?

Perché passare attraverso tutto questo solo per aggiungere un semplice test? Si potrebbe pensare che non valga la pena testare tali funzionalità di base.

L'app Attiva / disattiva modalità silenziosa è abbastanza semplice che forse un programmatore pigro potrebbe giustificare il salto dei test. Può essere.

Se aggiungi un paio di test per aggiungere, rimuovere e modificare le attività su quell'app, hai la tranquillità di sapere che ogni volta che apporti una modifica, i tuoi test automatici cattureranno eventuali bug significativi che introduci.

Vuoi veramente testare nuovamente tutte le funzionalità della tua app su telefoni, tablet, orologi e TV, e poi ripetere tutto sui vecchi dispositivi per testare la compatibilità con le versioni precedenti?L'aggiunta di test può occuparsi di gran parte di questa difficoltà per te.

Informazioni sui test Espresso

I test Espresso vengono scritti utilizzando il seguente formato:

onView (Matcher). eseguire (ViewAction). check (ViewAssertion)

Il seguente cheat sheet, per gentile concessione del progetto Espresso 2. 0, è uno strumento utile per scrivere i test Espresso. Elenca la sintassi generale per i test Espresso e elenca anche i tipi più comuni di garanti: ViewAction e ViewAssertion.

Un modo rapido per scrivere test Espresso è approfittare della funzionalità di completamento automatico di Android Studio. Se sai che molti matchers sono nella classe ViewMatchers, la maggior parte delle azioni di visualizzazione sono in ViewActions, e la maggior parte delle asserzioni di visualizzazione sono in ViewAssertions, quindi puoi utilizzare il completamento automatico per trovare il giusto matcher:

Aggiungiamo un altro

Quindi con questo in mente, aggiungiamo un altro test. Aggiungi le righe in grassetto alla tua classe di test:

classe pubblica SilentModeToggleEspressoTest estende ActivityInstrumentationTestCase2 {

AudioManager audioManager; … @Override setUp () del vuoto pubblico genera Exception {super. impostare(); attività attività = getActivity (); // Recupero una AudioManager da l'attività AudioManager = (AudioManager) attività. getSystemService (Context. AUDIO_SERVICE); // make che del suoneria modalità è Ripristina a normale AudioManager. setRingerMode (AudioManager. RINGER_MODE_NORMAL); } … pubblici vuoto testCanToggleIcon () { // Quando del phone_icon Vista è > disponibile, fare clic su it onView (withId (R. id. phone_icon)). eseguire (clicca ()); // Poi assert che del telefono è ora in silenziosa Modalità. assertTrue (RingerHelper. IsPhoneSilent (audioManager)); } } Questo test trova il pulsante di attivazione e disattivazione, quindi verifica che la modalità silenziosa dell'app sia stata attivata. Il codice setUp () assicura che la modalità suoneria venga ripristinata alla normalità prima dell'esecuzione del test. Ora, ogni volta che apporti una modifica alla tua app, devi solo eseguire questi test case per avere la certezza di non aver violato nulla di importante.

Se si dispone di un server di integrazione continua, tutto ciò che si deve fare è eseguire la destinazione ConnectedCheck in gradle per eseguire i test case con ogni commit effettuato. Se non hai ancora un server di integrazione continua, forse ora è il momento giusto per esaminarne uno! Dai un'occhiata a travis-ci. org per una buona opzione.

Testare le app su Android è un argomento profondo e coinvolto, ma ora dovresti avere tutto il necessario per iniziare a testare le tue app!

Se ti piacerebbe essere più avanzato, potresti essere interessato ad alcune delle seguenti risorse:

Usa Spoon per testare su più dispositivi.

Prova Fork per eseguire rapidamente test su più dispositivi.

  • Prova travis-ci o Jenkins per un server di integrazione continua.

  • Guarda l'introduzione di Michael Bailey ai test Android su YouTube.

Come testare la tua app per Android Usando Espresso - dummies

Scelta dell'editore

HDR Fotografia: Regola le impostazioni in Photomatix Dettagli Enhancer - dummies

HDR Fotografia: Regola le impostazioni in Photomatix Dettagli Enhancer - dummies

Dettagli Enhancer in Photomatix Pro ti consente di toni mappa le tue immagini ad alta gamma dinamica (HDR). Come puoi vedere da questa figura, ci sono un certo numero di controlli. Per fortuna, sono ben organizzati in aree funzionali. Le tre finestre mobili mostrano le impostazioni, l'anteprima dell'immagine e l'istogramma. Forza: controlla la forza di potenziamento del contrasto, sia locale ...

HDR Fotografia - Miscela materiale da fonti alternative - manichini

HDR Fotografia - Miscela materiale da fonti alternative - manichini

Cerca le aree dove potresti aver bisogno per mescolare il materiale da fonti alternative. Ad esempio, se una parte del cielo è saltata fuori, potresti voler sostituire il cielo scoppiato con una versione che è stata mappata in modo diverso in modo che il cielo appaia meglio (ciò che spesso accade è il resto ...

HDR Fotografia: scegli un formato file - dummies

HDR Fotografia: scegli un formato file - dummies

Quando crei un'immagine ad alta gamma dinamica, spesso viene data la possibilità di salvarlo come file HDR per un uso successivo. Se lo si salva come file HDR dipende in parte dalle preferenze e in parte da ciò che si intende fare. Normalmente, salti a destra nella mappatura dei toni, salva il minimo finale ...

Scelta dell'editore

Farmaci Opzioni per gestire la rabbia - manichini

Farmaci Opzioni per gestire la rabbia - manichini

La maggior parte dei programmi di gestione della rabbia non affronta il problema dei farmaci. In parte, probabilmente perché i farmaci non sono in realtà un modo per gestire la tua rabbia. E gli studi sull'efficacia dei farmaci per la rabbia sono stati alquanto incoerenti. Tuttavia, dovresti sapere che i farmaci possono essere un'opzione per alcune persone, specialmente quando altri disturbi emotivi, come ...

Gestione di amici e parenti con intelligenza emotiva - manichini

Gestione di amici e parenti con intelligenza emotiva - manichini

Ecco alcuni modi in cui si praticano tecniche di intelligenza emotiva con amici intimi e i parenti possono aiutarti a disinnescare situazioni difficili ea mantenere relazioni equilibrate e soddisfacenti con i tuoi cari. A partire dal finale le persone a volte interrompono completamente i contatti con parenti e amici e potresti trovarti in una situazione in cui ...

Mini questionario motivazionale - manichini

Mini questionario motivazionale - manichini

Dai un'occhiata al seguente elenco di compiti e decidi se vuoi ottenerne uno. Seleziona le attività che pensi di voler intraprendere: Acquistare una nuova casa Decorare la tua casa Sviluppare uno stile di vita più salutare Ottenere un nuovo lavoro Ottenere una promozione di lavoro Passare gli esami Lavorare per un ...

Scelta dell'editore

Come identificare i trigger di rabbia - dummies

Come identificare i trigger di rabbia - dummies

Conoscere i trigger di rabbia - gli eventi e le situazioni che ti fanno impazzire - è importante perché risponderai in modo più efficace alla tua rabbia quando ti sentirai preparato. Anticipare la possibilità di rabbia aumenta la capacità di esprimerlo in modo più costruttivo. Ecco alcuni trigger di rabbia comuni. Molte persone si sentono ...

Come misurare il tuo stress - manichini

Come misurare il tuo stress - manichini

Riconoscere i sintomi dello stress e quanto spesso si verificano può aiutarti ad affrontare lo stress. Utilizza le due settimane precedenti come periodo di tempo e registra l'occorrenza dei seguenti segni e sintomi fisici ed emotivi di stress. Dopo aver identificato i sintomi dello stress e quanto spesso si verificano, utilizzare la scala di valutazione dello stress per trovare il ...

Come calmare la mente - dummies

Come calmare la mente - dummies

Trovare modi per ridurre i livelli di stress aumenterà la tua felicità. A volte distrarti non è abbastanza per calmare la tua mente. A volte avete bisogno di misure più forti per eliminare, o almeno rallentare, quelle preoccupazioni e preoccupazioni indesiderate e che producono stress. Forse hai una preoccupazione inquietante che ti intrude continuamente nel tuo pensiero e ti impedisce di goderti ...