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 aplicațiile Android. În plus, dezvoltatorul ar putea scrie un scenariu de testare funcțională, de sistem și de acceptare, răspândind multe activități Android.
În acest tutorial, veți învăța-
- Cadrul de testare a robotului
- Cum se utilizează Robotium
- PASUL 1) Specificația testului de proiectare
- PASUL 2) Scrieți programul TEST
- PASUL 3) Rulați testul
- PASUL 4) Obțineți rezultatul testului
Cadrul de testare a robotului
Cadrul standard de testare Android are unele limitări ca mai jos
- Nu pot gestiona mai multe activități
- Performanța de execuție a testului este lentă
- Testele sunt complexe și greu de implementat
Cadrul Robotium este alegerea mai bună pentru a efectua testări pe aplicația Android
Robotium este un cadru open source și este considerat o extensie a cadrului de testare Android. Folosind Robotium, dezvoltatorul poate crea cazuri de testare GUI automate robuste pentru aplicațiile Android. Mai mult, dezvoltatorul poate scrie scenarii de testare funcționale, de sistem și de acceptare, acoperind mai multe activități Android.
Caracteristici avansate ale Robotium
Clase de cazuri de testare a robotului
Robotium folosește un set de clase ( com.jayway.android.robotium.solo ) pentru testare . Această clasă acceptă cazuri de test care se întind pe mai multe activități. Solo este integrat cu ActivityInstrumentationTestCase2.
Integration Robotium și ActivityInstrumentationTestCase2
Testerul poate scrie cazuri de testare fără cunoștințe despre proiectarea aplicației (testarea cutiei negre) utilizând clase de cazuri de testare Robotium. Este o caracteristică remarcabilă în comparație cu clasele de cazuri de testare Android.
Cum se utilizează Robotium
Pentru a utiliza Robotium în proiectul de testare Android, trebuie să urmați pașii de mai josFolosirea Robotium pentru efectuarea testelor pe aplicația Android. Pentru a garanta calitatea aplicației dvs. Android, trebuie să urmați procedura de mai jos
- Specificația testului de proiectare
- Elaborați programul de testare
- Executați Test Case pe dispozitivul țintă
- Adună rezultatul testului
Procedura de testare a aplicației Android
PASUL 1) Specificația testului de proiectare
- Acesta este primul pas pentru a testa aplicația dvs. În acest pas, definiți ținta de testat. În aplicația dvs. Android, trebuie testate multe ținte, cum ar fi interfața de utilizare, activitatea, componentele, serviciile. Definirea clară a țintei în aplicația dvs. va ajuta la realizarea unei acoperiri largi a testelor.
- Planificați tipurile de testare care trebuie efectuate (test de unitate, test funcțional, test de sistem).
- Proiectați cazuri de testare pentru o acoperire maximă, dar reduceți numărul de cazuri de testare. Cu cât este testat mai mult cod, sunt mai multe șanse de detectare timpurie a erorilor.
PASUL 2) Scrieți programul TEST
Această secțiune vă ghidează cum să scrieți un program de testare Android folosind Android Junit Test și Robotium. Să presupunem că ați dezvoltat deja un nume de program Android HelloAndroid. Acest program are câteva funcții descrise mai jos:
- Afișați un text „Bună ziua lume!” pe ecran.
- Afișați un mesaj HelloAndroid când utilizatorul apasă butonul „Start”
Aplicație HelloAndroid
Cerințe de sistem
- Platforma Android vine cu un cadru JUnit 3.0 pre-integrat.
- Pentru a crea Android Test Project de la Eclipse, computerul dvs. trebuie să fi instalat:
- Cea mai recentă versiune Android Platform (în prezent Android 8.1)
Puteți descărca Eclipse IDE cu ADT încorporat (Android Developer Tools). Include componentele esențiale ale SDK-ului Android și o versiune a Eclipse IDE.
Pentru cadrul de testare Robotium, trebuie să descărcați biblioteca Robotium de pe pagina web Robotium.
Creați un proiect de testare Android
- Faceți clic pe Fișier -> Nou -> Altele
- Alegeți: Android -> Proiect de testare Android conform figurii de mai jos -> Alegeți Următorul
Creați un nou proiect de testare Android
Scrieți numele proiectului de testare. Ca convenție de denumire, proiectul dvs. de testare ar trebui să fie denumit „HelloAndroidTest”
Adăugați baza de nume de proiect de test pe convenția de numire
Alegeți aplicația țintă supusă testului. În acest caz, acesta este HelloAndroid faceți clic pe Finalizare
Alegeți aplicația țintă supusă testului
Creați suite de testare
Pe baza specificațiilor de testare, ați început să creați suite de testare pentru programul de testare. Puteți alege diverse cadre de testare. În acest tutorial, aleg cadrul standard de testare Android ActivityInstrumentationTestCase2 . Trebuie să adăugați fișierul bibliotecă Robotium într-un director libs din folderul proiectului dvs. în cazul în care doriți să testați cu cadrul Robotium. (Creați folderul lib în folderul proiectului).
Un caz de testare definește dispozitivul pentru a rula teste multiple. 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 ().
Structura programului de testare
pachet 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 extinde ActivityInstrumentationTestCase2{privat HelloAndroid mActivity;private TextView mView;private String resourceString;solo solo privat;public HelloAndroidTest () {// TODO Stub de constructor generat automatsuper ("com.example.helloandroid", HelloAndroid.class);}@Trece pestenul protejat setUp () aruncă Excepție {// TODO Metoda generată automat// 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);}@Trece pesteprotejat nul tearDown () aruncă excepție {// TODO Metoda generată automat//super.tearDown ();solo.finishOpenedActivities ();}public void testPrecondition () {assertNotNull (mView);}/ * Testarea aplicației țintă conține un afișaj text „Hello World!” * /public void testSearchText () {assertEquals (resourceString, (String) mView.getText ());}/ * testează HelloAndroid Activity pe aplicația țintă există * /public void testCurrentActivity () aruncă excepție {solo.assertCurrentActivity („activitate greșită”, HelloAndroid.class);}/ * testul UI al aplicației conține butonul „Start” * // * butonul de trimitere a evenimentului pentru a viza aplicația * /public void testSearchButton () aruncă excepție {boolean găsit = solo.searchButton ("Start");solo.clickOnButton („Start”);assertTrue (găsit);}}
Adăugarea de cazuri de testare
- În același pachet cu TestSuite, creăm clase TestCase
- Pentru a testa anumite activități, adică HelloAndroid, creați o măsură de testare ActivityInstrumentationTestCase2
- În această clasă, testerul poate obține activitate de testare prin metoda getActivity ().
- Puteți crea în mod liber testul pentru o activitate de testare prin crearea metodei cu numele „test + numele metodei originale”
- În metoda de testare, testerul poate utiliza funcția Android JUnit pentru a compara valoarea reală și valoarea așteptată. Aceste metode sunt prezentate mai jos.
Exemple de metode pentru cadrul de testare Robotium și Android
Aceste suite de testare de mai sus au verificat dacă aplicația GUI 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
- Conectați dispozitivul Android la computer (sau porniți Emulator în cazul în care nu aveți un dispozitiv real).
- În IDE, faceți clic dreapta pe Rulează ca Test de unitate Android
Rularea programului de testare
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 terminalul Linux , puteți utiliza următoarea comandă pentru a rula toate testele din acest pachet:
$ adb shell am instrument -w -e package com.example.helloandroid.test
PASUL 4) Obțineți rezultatul testului
După executarea testului, veți obține rezultatele testului.
În acest program de testare, sunt executate 4 metode de testare. În acest caz, toate cazurile de testare sunt trecute.
Rezultatul rezultatului testului în cazul în care toate cazurile de testare au trecut
În cazul în care cazurile de testare eșuează, rezultatul este afișat și vă arată ce cazuri de testare nu au reușit
Rezultatul rezultatului testului în cazul în care toate cazurile 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 tutorialul mai clar și să recuperați rapid cunoștințele tehnice
- HelloAndroid: Aplicație sub test.
- HelloAndroidTest: program de testare folosind Android Test Framework