Tutorial Robotium: primul tău Android Cadru
Ce este Robotium?
Robotium este un cadru de testare Android pentru automatizarea cazurilor de testare pentru aplicații native și hibride. Folosind Robotium, dezvoltatorul poate crea un caz de testare GUI automat puternic pentru Android aplicatii. În plus, dezvoltatorul ar putea scrie un scenariu de testare funcțional, de sistem și de acceptare, răspândind multe Android activități.
Cadrul de testare Robotium
Standard Android cadrul de testare are unele limitări ca mai jos
- Nu se poate gestiona mai multe activități
- Performanța execuției testului este lentă
- Cazurile de testare sunt complexe și greu de implementat
Robotiumcadru este alegerea mai bună pentru a efectua testarea Android cerere
Robotium este un cadru open source și este considerat o extensie a Android cadrul de testare. Folosind Robotium, dezvoltatorul poate crea cazuri de testare GUI automate robuste pentru Android aplicatii. Mai mult, dezvoltatorul poate scrie scenarii funcționale, de sistem și de testare de acceptare, care se întind pe mai multe Android activități.
Clasele de caz de testare Robotium
Robotium folosește un set de clase (com.jayway.android.robotium.solo) pentru testare. Această clasă acceptă cazuri de testare care se întind pe mai multe activități. Solo este integrat cu ActivityInstrumentationTestCase2.
Testerul poate scrie cazuri de testare fără cunoștințe de proiectare a aplicației (testare cutie neagră) utilizând clasele de cazuri de testare Robotium. Este o caracteristică remarcabilă în comparație cu Android clase de cazuri de testare.
Cum se folosește Robotium
Pentru a utiliza Robotium în dvs Android proiectul de testare, trebuie să urmați pașii de mai jos
Folosind Robotium pentru a efectua teste Android aplicarea. Pentru a garanta calitatea dvs Android aplicație, ar trebui să urmați procedura de mai jos
- Specificația testului de proiectare
- Dezvoltați programul de testare
- Executa Caz de testare pe dispozitivul țintă
- Colectați rezultatul testului
PASUL 1) Specificația testului de proiectare
- Acesta este primul pas pentru a vă testa aplicația. În acest pas, definiți ținta de testat. În dumneavoastră Android aplicație, există multe obiective care trebuie testate, cum ar fi UI, Activitate, componente, servicii. Definirea clară a țintei în aplicația dvs. va ajuta la obținerea unei acoperiri largi de testare.
- Planificați tipurile de teste care trebuie efectuate (test unitar, test funcțional, test de sistem).
- Proiectați cazuri de testare pentru o acoperire maximă, dar minimizați numărul de cazuri de testare. Cu cât codul este testat mai mult, există șansele de detectare timpurie a erorilor.
PASUL 2) Scrieți programul TEST
Această secțiune vă îndrumă cum să scrieți un Android program de testare folosind Android Junit Test și Robotium. Să presupunem că ați dezvoltat deja un Android numele programului SalutAndroid. Acest program are câteva funcții descrise mai jos:
- Afișează un text „Bună lume!” pe ecran.
- Afișează un mesaj Bună ziuaAndroid când utilizatorul apasă butonul „Start”.
Cerințe de sistem
- Android platforma vine cu pre-integrat JUnit cadru 3.0.
- Pentru a crea Android Proiect de testare de la Eclipse, computerul dvs. trebuie să aibă instalat:
- Ultima versiune Android Platformă (în prezent Android 8.1)
Poti Descarca Eclipse IDE cu ADT încorporat (Android Instrumente de dezvoltare). Include esențialul Android Componentele SDK și o versiune a Eclipse IDE.
Pentru cadrul de testare Robotium, trebuie să dezactivați biblioteca Robotium din Pagina web Robotium.
Crea Android Proiect de testare
- Faceți clic pe Fișier -> Nou -> Altul
- Alege: Android -> Android Testați proiectul conform figurii de mai jos -> Alegeți Următorul
Scrieți numele proiectului dvs. de testare. Ca convenție de denumire, proiectul dvs. de testare ar trebui să fie numit „Bună ziuaAndroidTest"
Alegeți aplicația țintă testată. În acest caz, acesta este SalutAndroid faceți clic pe Terminare
Creați suite de testare
Pe baza specificațiilor dvs. de testare, ați început să creați suite de testare pentru programul dvs. de testare. Puteți alege diferite cadre de testare. În acest tutorial, aleg standard Android cadrul de testare ActivityInstrumentationTestCase2. Trebuie să adăugați fișierul de bibliotecă Robotium într-un director libs din folderul proiectului, în cazul în care doriți să testați cu framework-ul Robotium. (Creați folderul lib în folderul proiectului).
Un caz de testare definește dispozitivul pentru a rula mai multe teste. Pentru a defini un caz de testare, trebuie să urmați structura programului de mai jos:
- Implementați o subclasă de
TestCase
. - Definiți variabilele de instanță care stochează starea dispozitivului
- Inițializați starea dispozitivului prin suprascrierea setUp()
- Curățați după un test prin anularea tearDown().
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); } }
Adăugarea cazurilor de testare
- În același pachet cu TestSuite, creăm clase TestCase
- Pentru a testa o anumită activitate, adică BunăAndroid, creați o extindere a cazului de testare ActivityInstrumentationTestCase2Android>
- În această clasă, testerul poate obține activitate de testare prin metoda getActivity() .
- Puteți crea în mod liber un test pentru o activitate de testare prin crearea unei metode cu numele „test + Numele original al metodei”
- În metoda de testare, testerul poate utiliza Android JUnit funcția de comparare a valorii reale și a valorii așteptate. Aceste metode sunt prezentate mai jos.
Aceste suite de testare de mai sus au verificat că GUI-ul aplicației trebuie să afișeze un text „Hello World!” și conține un nume de buton „Start”.
PASUL 3) Rulați testul
După ce ați terminat de scris programul de testare, rulați testul urmând pașii de mai jos
- Connect Android dispozitiv la computer (sau porniți Emulator în cazul în care nu aveți un dispozitiv real).
- În IDE-ul dvs., faceți clic dreapta àRun asàAndroid Test de unitate
Pe lângă rularea testului pe IDE, puteți rula testul pe linia de comandă. În acest program de testare, pachetul de testare este com.example.helloandroid.test . În Linux terminal, puteți utiliza următoarea comandă pentru a rula toate testele din acest pachet:
$ adb shell am instrument -w -e pachet com.example.helloandroid.test
PASUL 4) Obțineți rezultatul testului
După executarea testului, veți obține rezultate ale testului.
În acest program de testare sunt executate 4 metode de testare. În acest caz, toate cazurile de testare sunt trecute.
În cazul în care cazul de testare eșuează, rezultatul este afișat și vă arată care cazuri de testare au eșuat
Exemple de cod sursă
Aceste articole includ câteva exemple de cod sursă care vă ajută să înțelegeți mai clar tutorialul și să vă recuperați rapid cunoștințele tehnice
- HeiAndroid: Aplicaţie în curs de testare .
- HeiAndroidTestare: Testați programul folosind Android Cadrul de testare