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 2024

Video: Create UI tests with Espresso Test Recorder 2024
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

Come creare e modificare i simboli grafici in Adobe Flash CS6 - dummies

Come creare e modificare i simboli grafici in Adobe Flash CS6 - dummies

Sequenze di animazione più comuni in Adobe Flash CS6 è necessario l'uso di simboli, quindi è necessario acquisire familiarità con il tipo di simbolo più basilare: la grafica. È possibile convertire qualsiasi oggetto sullo stage in un simbolo grafico, che consente di sfruttare le funzionalità aggiuntive uniche per i simboli. È anche possibile creare ...

Come creare un documento Flash CS6 - dummies

Come creare un documento Flash CS6 - dummies

Quando si avvia Flash CS6 per la prima volta, il primo cosa che vuoi fare è creare un documento. L'interfaccia è carina, ma non ti farà un po 'di bene senza un documento. È possibile creare diversi tipi di documenti. Qui, crei un documento di base con le dimensioni del documento, il frame predefinito ...

Come creare e posizionare filmati in Adobe Flash CS6 - dummy

Come creare e posizionare filmati in Adobe Flash CS6 - dummy

Clip filmato in Adobe Flash CS6 vengono creati come simboli nuovi e vuoti, nonché da contenuti esistenti sul palco. Se si crea un filmato da zero, è possibile aggiungere animazione e grafica in un secondo momento modificando il simbolo. Segui questi passaggi per creare un clip filmato da elementi grafici esistenti: crea alcuni elementi grafici interessanti ...

Scelta dell'editore

Come costruire un modello di pagina Web da zero - dummies

Come costruire un modello di pagina Web da zero - dummies

Lo strumento standard attraverso il digitale le agenzie e i reparti interni per la creazione di grafica per siti Web sono Adobe Photoshop. Sebbene Fireworks sia ottimizzato e costruito appositamente per produrre file sorgente di grafica web, non è stato preso in considerazione, probabilmente a causa del massiccio sforzo di riqualificazione che avrebbe richiesto la realizzazione di interi reparti. Per impostare un nuovo ...

Come costruire un sito web: la Home Page - dummies

Come costruire un sito web: la Home Page - dummies

Pianifica attentamente la tua home page quando costruisci il tuo sito web. I contenuti della tua home page possono determinare se le persone si tufferanno nelle tue altre pagine o se rimarranno sul tuo sito web, a tutti! Ma cosa dovresti mettere sulla tua home page? Il problema "cosa dire" è più facile da risolvere se ...

Come verificare se si è su una lista nera di e-mail - manichini

Come verificare se si è su una lista nera di e-mail - manichini

Se stai commercializzando i tuoi prodotti o servizi via e-mail, devi sapere quando il tuo IP è in blacklist. Se il tuo messaggio non viene consegnato, i clienti non possono radunarsi per acquistare i tuoi prodotti e la tua linea di fondo soffre. Le e-mail di rimbalzo sono spesso la prima indicazione che le tue e-mail vengono bloccate e se il messaggio dice ...

Scelta dell'editore

Amministrazione di rete: profili utente di Windows Server 2008 - manichini

Amministrazione di rete: profili utente di Windows Server 2008 - manichini

Un profilo utente roaming è semplicemente un utente profilo che è stato copiato in una condivisione di rete in modo che sia possibile accedervi da qualsiasi computer sulla rete. Prima di poter creare profili utente comuni, è necessario creare una cartella condivisa sul server per contenere i profili. È possibile assegnare un nome alla cartella condivisa ...

Amministrazione di rete: Visualizzatore eventi di Windows Server 2008 - dummies

Amministrazione di rete: Visualizzatore eventi di Windows Server 2008 - dummies

Windows Server 2008 ha un evento incorporato- funzionalità di tracciamento che registra automaticamente una serie di eventi di sistema interessanti. Di solito, quando qualcosa va storto con il tuo server, puoi trovare almeno uno e forse dozzine di eventi in uno dei log. Tutto ciò che devi fare è aprire il Visualizzatore eventi e controllare i registri ...

Amministrazione rete: Creazione gruppo utenti Windows Server - manichini

Amministrazione rete: Creazione gruppo utenti Windows Server - manichini

Per impostazione predefinita, Windows Server 2008 include una varietà di gruppi di utenti che semplificano l'amministrazione della rete. Se nessuno dei gruppi predefiniti soddisfa le tue esigenze, puoi creare il tuo gruppo seguendo questi passaggi: Accedi come amministratore. È necessario disporre dei privilegi di amministratore per eseguire questa procedura. Scegli Start → Strumenti di amministrazione → Utenti e computer di Active Directory. ...