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à.

Funzionalità avanzate di Robotium
Funzionalità avanzate di Robotium

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.

Classi di casi di test di Robotium
Integrazione Robotium e AttivitàStrumentazioneTestCase2

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

Usa Robotium

Utilizzo di Robotium per condurre test Android applicazione. Per garantire la qualità del tuo Android applicazione, è necessario seguire la procedura seguente

  1. Specifiche del test di progettazione
  2. Sviluppare un programma di test
  3. Eseguire Test Case sul dispositivo di destinazione
  4. Raccogliere il risultato del test
Android applicazione
Android Procedura di test dell'applicazione Testing procedura

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".
CiaoAndroid Applicazioni
CiaoAndroid Applicazioni

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
Creare nuovo Android progetto di prova
Crea nuovo Android Progetto di test

Scrivi il nome del tuo progetto di prova. Come convenzione di denominazione, il nome del tuo progetto di test dovrebbe essere "CiaoAndroidTest"

Aggiungi il nome del progetto di test in base alla convenzione di denominazione
Aggiungi il nome del progetto di test in base alla convenzione di denominazione

Scegli l'applicazione di destinazione da testare. In questo caso, questo è CiaoAndroid fare clic su Fine

Scegli Target Applicazione in prova
Scegli l'applicazione di destinazione da testare

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().
Struttura del programma di test
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 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.
Metodi di esempio di Robotium e Android Quadro di prova
Metodi di esempio di Robotium e Android Quadro di prova

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
Esecuzione del programma di test
Esecuzione del programma di test

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.

Output dei risultati del test nel caso Tutti i casi di test sono stati superati
Output del risultato del test nel caso in cui tutti i casi di test siano stati superati

Nel caso in cui il test case fallisca, viene visualizzato l'output che mostra quali test case hanno fallito

Output del risultato del test nel caso in cui tutti i casi di test siano falliti
Output del risultato del test nel caso in cui tutti i casi di test falliscano

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