Robotium Tutorial: Android Framework di test con esempio
โก Riepilogo intelligente
Robotium รจ un open source Android framework di automazione dei test che gestisce app native e ibride attraverso la loro interfaccia utente, consentendo a un tester di creare script per scenari funzionali, di sistema e di accettazione che coprono diversi Android attivitร .
Cosa รจ Robotium?
Robotium is an Android Framework di test che automatizza i casi di test per applicazioni native e ibride. Robotium, uno sviluppatore puรฒ creare robusti casi di test GUI automatizzati per Android applicazioni. Uno sviluppatore puรฒ anche scrivere scenari di test funzionali, di sistema e di accettazione che si estendono su diverse Android attivitร .
Robotium Quadro di prova
Lo standard Android Il framework di test presenta le limitazioni elencate di seguito.
- Impossibile gestire piรน attivitร
- Le prestazioni di esecuzione del test sono lente
- I casi di test sono complessi e difficili da implementare
Migliori Robotium il framework รจ la scelta migliore per condurre test su un Android applicazione.
Robotium รจ un framework open-source ed รจ considerato un'estensione del Android framework di test. Utilizzo Robotium, uno sviluppatore puรฒ creare robusti casi di test GUI automatizzati per Android applicazioni. Inoltre, uno sviluppatore puรฒ scrivere scenari di test funzionali, di sistema e di accettazione che si estendono su piรน Android attivitร .
La tabella seguente riassume le caratteristiche avanzate che separano Robotium dal quadro di riferimento della strumentazione semplice.
Funzionalitร avanzate di Robotium
Robotium Classi dei casi di test
Robotium spedisce un piccolo set di classi per i test e l'esempio dell'articolo importa il legacy com.jayway.android.robotium.solo pacchetto. Queste classi supportano casi di test che si estendono su piรน attivitร e Solo รจ integrato con ActivityInstrumentationTestCase2.
Nota: corrente Robotium le release espongono la stessa classe sotto il formato piรน breve com.robotium.solo pacchetto, mentre la coordinata Maven รจ rimasta com.jayway.android.robotium:robotium-soloRegola l'importazione in modo che corrisponda alla versione del file JAR che aggiungi effettivamente al progetto.
Il diagramma seguente mostra come la classe Solo si posiziona sopra il caso di test della strumentazione.
Integrazione di Robotium e ActivityInstrumentationTestCase2
Un tester puรฒ scrivere casi di test senza conoscere la progettazione dell'applicazione, il che rende l'approccio una forma di test della scatola neraQuesto รจ un vantaggio eccezionale rispetto al semplice Android classi di casi di test.
Istruzioni per lโuso: Robotium
Per utilizzare Robotium nella vostra Android Per testare il progetto, รจ necessario seguire i passaggi seguenti.
Come si usa Robotium
Per garantire la qualitร del tuo Android Per la candidatura, seguire la procedura in quattro fasi descritta di seguito.
- Progettare le specifiche del test
- Sviluppare il programma di test
- Eseguire il caso di test sul dispositivo di destinazione.
- Raccogli il risultato del test
Il diagramma di flusso sottostante illustra in ordine le quattro fasi.
Android procedura di test dell'applicazione
FASE 1) Progettazione delle specifiche di prova
Questo รจ il primo passo per testare la tua applicazione. In questo passaggio definisci l'obiettivo da testare. Android Un'applicazione ha molti elementi da testare, come l'interfaccia utente, le attivitร , i componenti e i servizi. Definire chiaramente gli elementi da testare aiuta a ottenere un'ampia copertura dei test.
- Pianifica le tipologie di test da eseguire (test unitario, test funzionale, test di sistema).
- Progetta ciascuno caso di prova per la massima copertura mantenendoping Il numero di casi di test รจ ridotto. Maggiore รจ la quantitร di codice testato, maggiore รจ la probabilitร di individuare tempestivamente i bug.
FASE 2) Scrivere il programma di test
Questa sezione ti guida attraverso la scrittura di un Android programma di prova utilizzando Android JUnit test e Robotium. Supponiamo che tu abbia giร sviluppato un Android programma chiamato HelloAndroidQuesto programma possiede le funzioni descritte di seguito.
- Visualizza sullo schermo il testo "Ciao mondo!".
- Mostra un CiaoAndroid messaggio visualizzato quando l'utente preme il pulsante "Avvia".
Lo screenshot qui sotto mostra l'applicazione in fase di test in esecuzione su un dispositivo.
CiaoAndroid applicazione
Requisiti di sistema
- Migliori Android la piattaforma viene fornita con un sistema pre-integrato JUnit 3 struttura, che รจ ciรฒ che
ActivityInstrumentationTestCase2si basa su. - Per creare un Android progetto di prova da Eclipse, la tua macchina ha bisogno di un funzionamento Android Installazione dell'SDK.
- Installare l'attuale Android SDK della piattaforma anzichรฉ una versione precedente bloccata.
Gli screenshot in questa guida utilizzano Eclipse con il plugin ADT, che era la toolchain standard quando l'esempio รจ stato scritto. Eclipse ADT non รจ piรน supportato, quindi su una macchina moderna dovresti scarica Android Studio invece e riutilizzare lo stesso codice di test all'interno di un Gradle modulo.
Per la Robotium framework di test, scarica il Robotium biblioteca dalla Robotium pagina del progetto.
Creare un Android Progetto di test
- Fare clic su File -> Nuovo -> Altro
- Scegli Android -> Android Prova il progetto come mostrato nella figura sottostante, quindi scegli Avanti
Crea un nuovo Android progetto di prova
Scrivi il nome del tuo progetto di test. Secondo la convenzione di denominazione, il progetto di test dovrebbe chiamarsi "HelloAndroidTest".
Aggiungi il nome del progetto di test in base alla convenzione di denominazione
Scegli l'applicazione di destinazione da testare. In questo caso รจ HelloAndroidquindi fare clic su Fine.
Selezionare l'applicazione di destinazione da testare
Crea suite di test
In base alle specifiche del test, ora crei le suite di test per il tuo programma di test. Puoi scegliere tra diverse opzioni. test del software framework. Questo tutorial utilizza lo standard Android struttura di test ActivityInstrumentationTestCase2. Per testare con Robotium, Aggiungi il Robotium file di libreria a libs directory all'interno della cartella del tuo progetto.
Un caso di test definisce il fixture utilizzato per eseguire piรน test. Per definire un caso di test, seguire la struttura del programma riportata di seguito.
- Implementare una sottoclasse di TestCase.
- Definisci variabili di istanza che memorizzano lo stato del dispositivo.
- Inizializza lo stato del dispositivo sovrascrivendo il metodo setUp().
- Eseguire la pulizia dopo un test sovrascrivendo tearDown().
Il diagramma sottostante mappa tale struttura sul programma di test che stai per scrivere.
Struttura del programma di test
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 della suite di test, creare le classi TestCase.
- Per testare una determinata attivitร , ad esempio CiaoAndroid, creare un caso di test che estende ActivityInstrumentationTestCase2Android>.
- All'interno di quella classe, il tester ottiene l'attivitร da testare tramite il metodo getActivity().
- Crea liberamente un test per l'attivitร aggiungendo un metodo denominato "test + nome del metodo originale".
- All'interno del metodo di test, il tester puรฒ utilizzare Android JUnit Funzioni per confrontare il valore effettivo con il valore atteso. Questi metodi sono illustrati di seguito.
La tabella seguente elenca i metodi di asserzione e interazione piรน frequentemente utilizzati nei due framework.
Esempi di metodi di Robotium e Android struttura di test
La suite di test sopra riportata verifica che l'interfaccia grafica dell'applicazione visualizzi il testo "Hello World!" e contenga un pulsante denominato "Start".
PASSO 3) Eseguire il test
Dopo aver terminato di scrivere il programma di test, eseguilo seguendo i passaggi descritti di seguito.
- Connetti un Android Collega il dispositivo al tuo PC oppure avvia un emulatore se non hai a disposizione un dispositivo reale.
- Nel tuo IDE, fai clic con il pulsante destro del mouse sul progetto di test e scegli Esegui come โ Android Test unitario.
Lo screenshot qui sotto mostra l'avvio dell'esecuzione del test dall'IDE.
Esecuzione del programma di test
Oltre a eseguire il test dall'IDE, รจ possibile eseguirlo dalla riga di comando. In questo programma di test il pacchetto di test รจ com.example.helloandroid.testIn un terminale Linux, utilizzare il seguente comando per eseguire tutti i test presenti in quel pacchetto.
$ adb shell am instrument -w -e package com.example.helloandroid.test
FASE 4) Ottenere il risultato del test
Al termine dell'esecuzione del test, si raccolgono i risultati.
In questo programma di test vengono eseguiti quattro metodi di test. Nell'esecuzione riportata di seguito, tutti i casi di test sono stati superati.
Output dei risultati del test quando tutti i casi di test superano il test
Se un caso di test fallisce, viene visualizzato l'output che mostra quali casi di test non sono andati a buon fine.
Output dei risultati del test quando un caso di test fallisce
Fonte Code Esempi
Questo articolo include esempi di codice sorgente che ti aiuteranno a seguire il tutorial in modo piรน chiaro e ad apprendere rapidamente i dettagli tecnici.
- CiaoAndroid: l'applicazione in fase di test.
- CiaoAndroidTest: il programma di test che utilizza il Android framework di test.
Se vuoi confrontare Robotium con le altre opzioni in questo spazio, vedere il test di applicazioni mobili guida, la Appium lezione e la raccolta di strumenti di test delle app mobili.

.png)
.png)
.png)



.png)

.png)
.png)

.png)
.png)