Cos'è il Robotium?
Robotium è un framework di test Android per automatizzare i casi di test per applicazioni native e ibride. Utilizzando Robotium, lo sviluppatore può creare un forte test case GUI automatico per applicazioni Android. Inoltre, lo sviluppatore potrebbe scrivere uno scenario di test funzionale, di sistema e di accettazione, diffondendo molte attività Android.
In questo tutorial imparerai-
- Framework di test Robotium
- Come utilizzare Robotium
- FASE 1) Specifiche del test di progettazione
- FASE 2) Scrivere il programma TEST
- PASSAGGIO 3) Eseguire il test
- FASE 4) Ottieni il risultato del test
Framework di test Robotium
Il framework di test Android standard ha alcune limitazioni come di seguito
- Impossibile gestire più attività
- Le prestazioni di esecuzione del test sono lente
- I casi di test sono complessi e difficili da implementare
Il framework Robotium è la scelta migliore per condurre test sull'applicazione Android
Robotium è un framework open source ed è considerato un'estensione del framework di test Android. Utilizzando Robotium, lo sviluppatore può creare robusti casi di test GUI automatici per applicazioni Android. Inoltre, lo sviluppatore può scrivere scenari funzionali, di sistema e di test di accettazione, che abbracciano più attività Android.
Funzionalità avanzate di Robotium
Classi di casi di test Robotium
Robotium utilizza un set di classi ( com.jayway.android.robotium.solo ) per i test . Questa classe supporta casi di test che si estendono su più attività. Solo è integrato con ActivityInstrumentationTestCase2.
Integration Robotium e ActivityInstrumentationTestCase2
Il tester può scrivere casi di test senza conoscere la progettazione dell'applicazione (test della scatola nera) utilizzando le classi di casi di test Robotium. È una caratteristica eccezionale rispetto alle classi di casi di test Android.
Come utilizzare Robotium
Per utilizzare Robotium nel tuo progetto di test Android, devi seguire i passaggi seguentiUtilizzo di Robotium per condurre test sull'applicazione Android. Per garantire la qualità della tua applicazione Android, segui la procedura seguente
- Specifiche del test di progettazione
- Sviluppa un programma di test
- Esegui test case sul dispositivo di destinazione
- Raccogli il risultato del test
Procedura di test dell'applicazione Android
FASE 1) Specifiche del test di progettazione
- Questo è il primo passo per testare la tua applicazione.In questo passaggio definisci il target da testare. Nella tua applicazione Android, ci sono molti obiettivi da testare come interfaccia utente, attività, componenti, servizi. Definire chiaramente l'obiettivo nella propria applicazione aiuterà a ottenere un'ampia copertura del test.
- Pianificare i tipi di test da eseguire (test unitario, test funzionale, test di sistema).
- Progettare casi di test per la massima copertura ma ridurre al minimo il numero di casi di test. Più codice viene testato, maggiori sono le possibilità di rilevamento precoce dei bug.
FASE 2) Scrivere il programma TEST
Questa sezione ti guida a scrivere un programma di test Android utilizzando Android Junit Test e Robotium. Supponi di aver già sviluppato un programma Android con nome HelloAndroid. Questo programma ha alcune funzioni descritte di seguito:
- Visualizza un testo "Hello world!" sullo schermo.
- Visualizza un messaggio HelloAndroid quando l'utente preme il pulsante "Start"
Applicazione HelloAndroid
Requisiti di sistema
- La piattaforma Android viene fornita con framework JUnit 3.0 preintegrato.
- Per creare Android Test Project da Eclipse, sul tuo computer deve essere installato:
- Ultima versione Android Platform (attualmente Android 8.1)
Puoi scaricare Eclipse IDE con ADT integrato (Strumenti per sviluppatori Android). Include i componenti essenziali di Android SDK e una versione dell'IDE Eclipse.
Per il framework di test Robotium, è necessario disattivare la libreria Robotium dalla pagina Web Robotium.
Crea progetto di test Android
- Fare clic su File -> Nuovo -> Altro
- Scegli: Android -> Progetto di test Android come da figura sotto -> Scegli Avanti
Crea un nuovo progetto di test Android
Scrivi il nome del tuo progetto di prova. Come convenzione di denominazione, il tuo progetto di test dovrebbe essere denominato "HelloAndroidTest"
Aggiungi il nome del progetto di test in base alla convenzione di denominazione
Scegli l'applicazione di destinazione sotto test. In questo caso, questo è HelloAndroid, fai clic su Fine
Scegli l'applicazione di destinazione sotto test
Crea suite di test
Sulla base delle tue specifiche di test, hai iniziato a creare suite di test per il tuo programma di test. Puoi scegliere vari framework di test. In questo tutorial, scelgo il framework di test Android standard ActivityInstrumentationTestCase2 . È necessario aggiungere il file della libreria Robotium a una directory libs nella cartella del progetto nel caso in cui si desideri eseguire il test con il framework Robotium. (Crei la cartella lib nella cartella del tuo progetto).
Un caso di test definisce l'apparecchiatura per eseguire più test. Per definire uno scenario di test, è necessario seguire la struttura del programma di seguito:
- Implementa una sottoclasse di
TestCase
. - Definire le variabili di istanza che memorizzano lo stato del dispositivo
- Inizializza lo stato dell'apparecchiatura sovrascrivendo setUp ()
- Pulisci dopo un test sovrascrivendo tearDown ().
Struttura del programma di test
pacchetto com.example.helloandroid.test;import com.example.helloandroid.HelloAndroid;import com.jayway.android.robotium.solo.Solo;import android.test.ActivityInstrumentationTestCase2;import android.widget.TextView;la classe pubblica HelloAndroidTest estende ActivityInstrumentationTestCase2{mActivity HelloAndroid privato;TextView mView privato;private String resourceString;solista privato;public HelloAndroidTest () {// TODO Stub del costruttore generato automaticamentesuper ("com.example.helloandroid", HelloAndroid.class);}@Oltrepassareprotected void setUp () genera un'eccezione {// TODO Stub del metodo generato automaticamente// super.setUp ();mActivity = this.getActivity ();solo = new Solo (getInstrumentation (), getActivity ());mView = (TextView) mActivity.findViewById (com.example.helloandroid.R.id.textview2);resourceString = mActivity.getString (com.example.helloandroid.R.string.hello_world);}@Oltrepassareprotected void tearDown () genera un'eccezione {// TODO Stub del metodo generato automaticamente//super.tearDown ();solo.finishOpenedActivities ();}public void testPrecondition () {assertNotNull (mView);}/ * l'applicazione di destinazione di test contiene un testo visualizzato "Hello World!" * /public void testSearchText () {assertEquals (resourceString, (String) mView.getText ());}/ * test HelloAndroid Activity on target application is exist * /public void testCurrentActivity () genera un'eccezione {solo.assertCurrentActivity ("attività sbagliata", HelloAndroid.class);}/ * L'interfaccia utente dell'applicazione di test contiene il pulsante "Start" * // * invia il pulsante clic dell'evento all'applicazione di destinazione * /public void testSearchButton () genera un'eccezione {booleano trovato = solo.searchButton ("Start");solo.clickOnButton ("Start");assertTrue (trovato);}}
Aggiunta di casi di test
- Nello stesso pacchetto con TestSuite, creiamo classi TestCase
- Per testare determinate attività, ad esempio HelloAndroid, crea un'estensione del test case ActivityInstrumentationTestCase2
- In questa classe, tester può ottenere l'attività di test tramite il metodo getActivity ().
- Puoi creare liberamente un test per un'attività di test creando un metodo con il nome "test + nome metodo originale"
- Nel metodo di test, il tester può utilizzare la funzione Android JUnit per confrontare il valore effettivo e il valore previsto. Questi metodi sono mostrati di seguito.
Metodi di esempio di Robotium e framework di test Android
Queste suite di test sopra hanno verificato che la GUI dell'applicazione deve visualizzare un testo "Hello World!" E contiene un nome di pulsante "Start".
PASSAGGIO 3) Eseguire il test
Dopo aver terminato di scrivere il programma di test, eseguire il test utilizzando i passaggi seguenti
- Collega il dispositivo Android al tuo PC (o avvia l'emulatore nel caso in cui non disponi di un dispositivo reale).
- Nel tuo IDE, fai clic con il pulsante destro del mouse su Esegui come Android Unit Test
Programma di test in esecuzione
Oltre a eseguire test su IDE, puoi eseguire test sulla riga di comando. In questo programma di test, il pacchetto di test è com.example.helloandroid.test. Nel terminale Linux , puoi utilizzare il seguente comando per eseguire tutti i test in questo pacchetto:
$ adb shell am strumento -w -e pacchetto com.example.helloandroid.test
FASE 4) Ottieni il risultato del test
Dopo l'esecuzione del test, si ottengono i risultati del test.
In questo programma di test vengono eseguiti 4 metodi di test. In questo caso, tutti i casi di test vengono superati.
Output dei risultati del test nel caso in cui tutti i casi di test siano stati superati
In caso di test case fallisce, l'output viene visualizzato e mostra quali casi di test non sono riusciti
Output dei risultati del test nel caso in cui tutti i casi di test fallissero
Esempi di codice sorgente
Questi articoli includono alcuni esempi di codice sorgente che aiutano a comprendere il tutorial in modo più chiaro e a recuperare rapidamente le conoscenze tecniche
- HelloAndroid: applicazione in fase di test.
- HelloAndroidTest: programma di test utilizzando il framework di test Android