Tutoriel Robotium : votre premier Android FrameworkTA

Qu'est-ce que le Robotium ?

Robotium est un framework de test Android permettant d'automatiser les cas de test pour les applications natives et hybrides. Grâce à Robotium, le développeur peut créer des cas de test d'interface utilisateur graphique automatiques et puissants pour Android applications. De plus, le développeur pourrait rédiger un scénario de tests fonctionnels, système et d'acceptation, diffusant de nombreux Android activités.

Cadre de test Robotium

Standard Android le cadre de test a certaines limites comme ci-dessous

  • Incapable de gérer plusieurs activités
  • Les performances d’exécution des tests sont lentes
  • Les cas de test sont complexes et difficiles à mettre en œuvre

Robotiquecadre est le meilleur choix pour effectuer des tests sur Android application

Robotium est un framework open source et est considéré comme une extension de Android cadre de tests. Grâce à Robotium, les développeurs peuvent créer des cas de tests GUI automatiques robustes pour Android applications. De plus, le développeur peut rédiger des scénarios de tests fonctionnels, système et d'acceptation, couvrant plusieurs Android activités.

Fonctionnalités avancées de Robotium
Fonctionnalités avancées de Robotium

Classes de cas de test Robotium

Robotium utilise un ensemble de classes (com.jayway.android.robotium.solo) pour tester. Cette classe prend en charge les cas de test qui s'étendent sur plusieurs activités. Solo est intégré à ActivityInstrumentationTestCase2.

Classes de cas de test Robotium
Intégration Robotium et ActivityInstrumentationTestCase2

Tester peut écrire des cas de test sans connaissance de la conception d'application (tests en boîte noire) en utilisant les classes de cas de test Robotium. C'est une fonctionnalité exceptionnelle par rapport à Android classes de cas de test.

Comment utiliser Robotium

Pour utiliser Robotium dans votre Android projet de test, vous devez suivre les étapes ci-dessous

Utiliser Robotium

Utiliser Robotium pour effectuer des tests sur Android application. Pour garantir la qualité de votre Android candidature, vous devez suivre la procédure ci-dessous

  1. Spécification des tests de conception
  2. Développer un programme de tests
  3. Exécution Cas de test sur l'appareil cible
  4. Recueillir le résultat du test
Android application
Android Procédure de test des applications Tests procédure

ÉTAPE 1) Spécification des tests de conception

  • Il s'agit de la première étape pour tester votre application. Dans cette étape, vous définissez la cible à tester. Dans ton Android application, de nombreuses cibles doivent être testées, telles que l'interface utilisateur, l'activité, les composants et les services. Définir clairement la cible dans votre application contribuera à obtenir une large couverture de tests.
  • Planifiez les types de tests à effectuer (test unitaire, test fonctionnel, test système).
  • Concevez des cas de test pour une couverture maximale mais minimisez le nombre de cas de test. Plus le code est testé, plus il y a de chances de détection précoce de bogues.

ÉTAPE 2) Écrire le programme TEST

Cette section vous explique comment rédiger un Android programme de test utilisant Android Junite Test et Robotium. Supposons que vous avez déjà développé un Android nom du programme BonjourAndroid. Ce programme a certaines fonctions décrites ci-dessous :

  • Afficher un texte « Bonjour tout le monde ! » À l'écran.
  • Afficher un message BonjourAndroid lorsque l'utilisateur appuie sur le bouton « Démarrer »
BonjourAndroid Application
BonjourAndroid Application

Configuration requise

  • Android la plate-forme est livrée avec pré-intégré JUnit Cadre 3.0.
  • Pour créer Android Projet de test de Eclipse, votre ordinateur doit avoir installé :
  • Dernière version Android Plateforme (actuellement Android (8.1)

Vous pouvez download Eclipse IDE avec ADT intégré (Android Outils de développement). Il comprend l'essentiel Android Composants du SDK et une version du Eclipse IDE.

Pour le framework de test Robotium, vous devez télécharger la bibliothèque Robotium depuis Page web de Robotium.

Créer Android Projet de test

  • Cliquez sur Fichier -> Nouveau -> Autre
  • Choisissez: Android -> Android Projet de test selon la figure ci-dessous -> Choisissez Suivant
Créer un nouveau Android projet de test
CRÉER UN NOUVEAU DOSSIER Android Projet de test

Écrivez le nom de votre projet de test. Par convention de dénomination, votre projet de test doit s'appeler « BonjourAndroidTest"

Ajouter la base du nom du projet de test sur la convention de dénomination
Ajouter le nom du projet de test en fonction de la convention de dénomination

Choisissez l'application cible à tester. Dans ce cas, c'est BonjourAndroid cliquez sur Terminer

Choisir Target Application en cours de test
Choisir l'application cible testée

Créer des suites de tests

Sur la base de votre spécification de test, vous avez commencé à créer des suites de tests pour votre programme de test. Vous pouvez choisir différents frameworks de tests. Dans ce tutoriel, je choisis standard Android cadre de test ActivitéInstrumentationTestCase2. Vous devez ajouter le fichier de bibliothèque Robotium à un répertoire libs dans votre dossier de projet au cas où vous souhaiteriez tester avec le framework Robotium. (Vous créez un dossier lib dans votre dossier de projet).

Un scénario de test définit l'appareil pour exécuter plusieurs tests. Pour définir un scénario de test, vous devez suivre la structure du programme ci-dessous :

  • Implémenter une sous-classe de TestCase.
  • Définir des variables d'instance qui stockent l'état du luminaire
  • Initialisez l'état de l'appareil en remplaçant setUp()
  • Nettoyage après un test en remplaçant TearDown().
Structure du programme de test
Structure du programme de 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);
    }

	

}

Ajout de cas de test

  • Dans le même package avec TestSuite, nous créons des classes TestCase
  • Pour tester certaines activités, par exemple BonjourAndroid, créez une étendue de scénario de test ActivityInstrumentationTestCase2Android>
  • Dans cette classe, le testeur peut obtenir une activité de test via la méthode getActivity() .
  • Vous pouvez librement créer un test pour une activité de test en créant une méthode portant le nom « test + nom de la méthode d'origine »
  • Dans la méthode de test, le testeur peut utiliser Android JUnit fonction pour comparer la valeur réelle et la valeur attendue. Ces méthodes sont présentées ci-dessous.
Exemples de méthodes de Robotium et Android Cadre de test
Exemples de méthodes de Robotium et Android Cadre de test

Ces suites de tests ci-dessus ont vérifié que l'interface graphique de l'application doit afficher un texte « Hello World ! » et contient un nom de bouton « Démarrer ».

ÉTAPE 3) Exécuter le test

Une fois que vous avez fini d'écrire votre programme de test, exécutez le test en suivant les étapes ci-dessous

  • connecter Android appareil sur votre PC (ou démarrez Emulator si vous n’avez pas de véritable appareil).
  • Dans votre IDE, faites un clic droit àExécuter commeàAndroid Test unitaire
Exécution du programme de test
Exécution du programme de test

En plus d'exécuter des tests sur l'IDE, vous pouvez exécuter des tests en ligne de commande. Dans ce programme de test, le package de test est com.example.helloandroid.test . Dans Linux terminal, vous pouvez utiliser la commande suivante pour exécuter tous les tests de ce package :

$ adb shell am instrument -w -e package com.exemple.helloandroid.test

ÉTAPE 4) Obtenez le résultat du test

Une fois le test exécuté, vous obtenez les résultats du test.

Dans ce programme de test, 4 méthodes de test sont exécutées. Dans ce cas, tous les cas de test sont réussis.

Sortie du résultat du test si tous les cas de test sont réussis
Sortie du résultat du test si tous les cas de test sont réussis

En cas d'échec du scénario de test, la sortie s'affiche et vous montre quels scénarios de test ont échoué

Sortie du résultat du test en cas d'échec de tous les cas de test
Sortie du résultat du test en cas d'échec de tous les scénarios de test

Exemples de codes sources

Cet article comprend quelques exemples de code source qui vous aident à comprendre le didacticiel plus clairement et à acquérir rapidement les connaissances techniques.

Résumez cet article avec :