Tutorial su Robotium: il tuo primo Android Contesto
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 solido caso di test GUI automatico per Android applicazioni. Inoltre, lo sviluppatore potrebbe scrivere uno scenario di test funzionale, di sistema e di accettazione, diffondendone molti Android attività.
Quadro di test Robotium
Standard Android il framework di test presenta 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
Robotiocontesto è la scelta migliore su cui condurre i test Android applicazione
Robotium è un framework open source ed è considerato un'estensione di Android quadro di prova. Utilizzando Robotium, lo sviluppatore può creare robusti casi di test GUI automatici per Android applicazioni. Inoltre, lo sviluppatore può scrivere scenari di test funzionali, di sistema e di accettazione, che si estendono su più livelli Android attività.
.png)
Classi di casi di test di Robotium
Robotium utilizza un insieme di classi (com.jayway.android.robotium.solo) per testare. Questa classe supporta casi di test che si estendono su più attività. Solo è integrato con ActivityInstrumentationTestCase2.
.png)
Il tester può scrivere casi di test senza conoscere la progettazione dell'applicazione (test black box) utilizzando le classi di casi di test Robotium. È una caratteristica eccezionale rispetto a Android classi di casi di test.
Come utilizzare Robotium
Per utilizzare Robotium nel tuo Android progetto di prova, è necessario seguire i passaggi seguenti
Utilizzo di Robotium per condurre test Android applicazione. Per garantire la qualità del tuo Android applicazione, è necessario seguire la procedura seguente
- Specifiche del test di progettazione
- Sviluppare un programma di test
- Eseguire Test Case sul dispositivo di destinazione
- Raccogliere il risultato del test

PASSO 1) Specifiche del test di progettazione
- Questo è il primo passaggio per testare la tua applicazione. In questo passaggio definisci l'obiettivo da testare. Nel tuo Android applicazione, ci sono molti obiettivi da testare come interfaccia utente, attività, componenti, servizi. Definire chiaramente l'obiettivo nella tua applicazione aiuterà a ottenere un'ampia copertura dei test.
- Pianificare i tipi di test da condurre (test unitario, test funzionale, test di sistema).
- Progetta casi di test per la massima copertura ma minimizza il numero di casi di test. Più il codice viene testato, maggiori sono le possibilità di rilevamento precoce dei bug.
PASSO 2) Scrivere il programma TEST
Questa sezione ti guida su come scrivere un Android programma di prova utilizzando Android giunzione Test e Robotium. Supponiamo che tu abbia già sviluppato un file Android nome del programma CiaoAndroid. Questo programma ha alcune funzioni descritte di seguito:
- Visualizza un testo "Ciao mondo!" sullo schermo.
- Visualizza un messaggio CiaoAndroid quando l'utente preme il pulsante "Start".

Requisiti di sistema
- Android la piattaforma viene fornita con preintegrato JUnit quadro 3.0.
- Per creare Android Progetto di prova da Eclipse, sul tuo computer deve essere installato:
- L'ultima versione Android Piattaforma (attualmente Android 8.1)
Puoi osservare le scarica Eclipse IDE con ADT integrato (Android Strumenti di sviluppo). Comprende l'essenziale Android Componenti SDK e una versione di Eclipse IDE.
Per il framework di test Robotium, è necessario scaricare la libreria Robotium da Pagina web di Robotium.
Creare Android Progetto di test
- Fare clic su File -> Nuovo -> Altro
- Scegli: Android -> Android Prova il progetto come nella figura seguente -> Scegli Avanti

Scrivi il nome del tuo progetto di prova. Come convenzione di denominazione, il nome del tuo progetto di test dovrebbe essere "CiaoAndroidTest"
.png)
Scegli l'applicazione di destinazione da testare. In questo caso, questo è CiaoAndroid fare clic su Fine

Crea suite di test
In base alle specifiche del test, hai iniziato a creare suite di test per il tuo programma di test. Puoi scegliere vari framework di test. In questo tutorial, scelgo standard Android struttura di test AttivitàStrumentazioneTestCase2. Devi aggiungere il file della libreria Robotium a una directory libs nella cartella del tuo progetto nel caso in cui desideri testare con il framework Robotium. (Crea la cartella lib nella cartella del tuo progetto).
Un test case definisce l'apparecchiatura per eseguire più test. Per definire un caso di test, è necessario seguire la struttura del programma seguente:
- Implementa una sottoclasse di
TestCase
. - Definire variabili di istanza che memorizzano lo stato dell'apparecchiatura
- Inizializza lo stato dell'apparecchiatura sovrascrivendo setUp()
- Ripulitura dopo un test sovrascrivendo TearDown().
.png)
package com.example.helloandroid.test; import com.example.helloandroid.HelloAndroid; import com.jayway.android.robotium.solo.Solo; import android.test.ActivityInstrumentationTestCase2; import android.widget.TextView; public class HelloAndroidTest extends ActivityInstrumentationTestCase2 <HelloAndroid> { private HelloAndroid mActivity; private TextView mView; private String resourceString; private Solo solo; public HelloAndroidTest () { // TODO Auto-generated constructor stub super("com.example.helloandroid",HelloAndroid.class); } @Override protected void setUp() throws Exception { // TODO Auto-generated method stub // 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); } @Override protected void tearDown() throws Exception { // TODO Auto-generated method stub //super.tearDown(); solo.finishOpenedActivities(); } public void testPrecondition() { assertNotNull(mView); } /* test Target application contains a text display "Hello World!"*/ public void testSearchText() { assertEquals(resourceString,(String) mView.getText()); } /* test HelloAndroid Activity on target application is exist*/ public void testCurrentActivity() throws Exception { solo.assertCurrentActivity("wrong activity", HelloAndroid.class); } /* test Application UI contains "Start" button */ /* send event click button to target application */ public void testSearchButton() throws Exception { boolean found = solo.searchButton("Start"); solo.clickOnButton("Start"); assertTrue(found); } }
Aggiunta di casi di test
- Nello stesso pacchetto con TestSuite, creiamo le classi TestCase
- Per testare determinate attività, ad esempio HelloAndroid, creare un'estensione del test case ActivityInstrumentationTestCase2Android>
- In questa classe, il tester può ottenere 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 prova, il tester può utilizzare Android JUnit funzione per confrontare il valore effettivo e il valore atteso. Questi metodi sono mostrati di seguito.
.png)
Queste suite di test sopra hanno verificato che la GUI dell'applicazione deve visualizzare un testo "Hello World!" e contiene un pulsante chiamato "Start".
PASSO 3) Eseguire il test
Dopo aver finito di scrivere il programma di test, esegui il test seguendo i passaggi seguenti
- Connettere Android dispositivo sul 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 Test unitario

Oltre a eseguire il test sull'IDE, puoi eseguire il test sulla riga di comando. In questo programma di test, il pacchetto di test è com.example.helloandroid.test . In Linux terminale, puoi usare il seguente comando per eseguire tutti i test in questo pacchetto:
$ adb shell am instrument -w -e pacchetto com.example.helloandroid.test
PASSO 4) Ottieni il risultato del test
Dopo l'esecuzione del test, vengono visualizzati 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.
.png)
Nel caso in cui il test case fallisca, viene visualizzato l'output che mostra quali test case hanno fallito
.png)
Esempi di codice sorgente
Questi articoli includono alcuni esempi di codice sorgente che ti aiutano a comprendere il tutorial in modo più chiaro e ad acquisire rapidamente le conoscenze tecniche
- CiaoAndroid: Applicazione in prova .
- CiaoAndroidTest: Testare il programma utilizzando Android Quadro di prova