Što je Robotium?
Robotium je android testni okvir za automatizaciju test slučajeva za izvorne i hibridne aplikacije. Koristeći Robotium, programer može stvoriti snažan slučaj automatskog testiranja grafičkog sučelja za Android aplikacije. Uz to, programer je mogao napisati funkcionalni, sustav i test scenarija prihvaćanja, šireći mnoge Android aktivnosti.
U ovom vodiču naučit ćete-
- Okvir za ispitivanje robocija
- Kako koristiti Robotium
- KORAK 1) Specifikacija ispitivanja dizajna
- KORAK 2) Napišite TEST program
- KORAK 3) Pokrenite test
- KORAK 4) Dobijte rezultat testa
Okvir za ispitivanje robocija
Standardni okvir za testiranje Androida ima određena ograničenja kao u nastavku
- Nije moguće obraditi više aktivnosti
- Izvedba testa je spora
- Test slučajevi su složeni i teški za provedbu
Robotium framework je bolji izbor za provođenje testiranja na Android aplikaciji
Robotium je okvir otvorenog koda i smatra se proširenjem Android test okvira. Koristeći Robotium, programer može stvoriti robusne automatske GUI test slučajeve za Android aplikacije. Štoviše, programer može pisati funkcionalne scenarije, scenarije i testove prihvaćanja, koji obuhvaćaju više Android aktivnosti.
Napredne značajke Robotiuma
Predavanja na testima za robotij
Robotium koristi skup klasa ( com.jayway.android.robotium.solo ) za testiranje . Ova klasa podržava test slučajeve koji obuhvaćaju više aktivnosti. Solo je integriran s ActivityInstrumentationTestCase2.
Integracijski robotij i ActivityInstrumentationTestCase2
Tester može pisati test slučajeve bez znanja o dizajnu aplikacije (testiranje crnih kutija) pomoću klasa Robotium test slučajeva. To je izvanredna značajka u usporedbi s klasama Android testova.
Kako koristiti Robotium
Da biste koristili Robotium u svom testnom projektu Androida, trebate slijediti korake u nastavkuKorištenje Robotiuma za provođenje testiranja na Android aplikaciji. Da biste zajamčili kvalitetu svoje Android aplikacije, slijedite postupak u nastavku
- Specifikacija ispitivanja dizajna
- Razviti testni program
- Izvršite test slučaj na ciljnom uređaju
- Prikupiti rezultat testa
Android aplikacija Postupak testiranja
KORAK 1) Specifikacija ispitivanja dizajna
- Ovo je prvi korak za testiranje vaše aplikacije. U ovom koraku definirate cilj koji će se testirati. U vašoj Android aplikaciji treba testirati mnoge ciljeve, poput korisničkog sučelja, aktivnosti, komponenti, usluga. Jasno definiranje cilja u vašoj aplikaciji pomoći će postići široku pokrivenost testom.
- Planirajte da se provode vrste ispitivanja (jedinični test, funkcionalni test, sistemski test).
- Dizajnirajte test slučajeve za maksimalno pokriće, ali smanjite broj test slučajeva. Što se više koda testira, veće su šanse za rano otkrivanje grešaka.
KORAK 2) Napišite TEST program
Ovaj odjeljak vodi vas kako napisati testni program za Android pomoću Android Junit Test i Robotium. Pretpostavimo da ste već razvili naziv Android programa HelloAndroid. Ovaj program ima neke funkcije opisane u nastavku:
- Prikažite tekst "Pozdrav svijetu!" na zaslonu.
- Prikažite poruku HelloAndroid kada korisnik pritisne gumb "Start"
HelloAndroid aplikacija
Zahtjevi sustava
- Android platforma dolazi s unaprijed integriranim JUnit 3.0 okvirom.
- Da biste iz Eclipse kreirali Android Test Project, vaše je računalo mora imati instalirano:
- Najnovija verzija Android platforme (trenutno Android 8.1)
Eclipse IDE možete preuzeti s ugrađenim ADT-om (Android Developer Tools). Sadrži osnovne Android SDK komponente i verziju Eclipse IDE-a.
Za okvir testiranja Robotiuma trebate ukloniti biblioteku Robotium s web stranice Robotium.
Izradite Android Test Project
- Kliknite Datoteka -> Novo -> Ostalo
- Odaberite: Android -> Android Test Project prema donjoj slici -> Odaberite Next
Izradite novi testni projekt za Android
Napiši naziv svog testnog projekta. Kao konvencija imenovanja, vaš testni projekt trebao bi imati naziv "HelloAndroidTest"
Dodajte osnovu naziva testnog projekta na konvenciju imenovanja
Odaberite ciljanu aplikaciju na testiranju. U ovom je slučaju riječ o HelloAndroidu i kliknite Finish
Odaberite ciljanu aplikaciju na testiranju
Stvorite ispitne pakete
Temeljem vaše specifikacije testa započeli ste s izradom testnih kompleta za svoj testni program. Možete odabrati razne okvire za testiranje. U ovom uputstvu odabirem standardni okvir za testiranje Androida ActivityInstrumentationTestCase2 . Morate dodati datoteku biblioteke Robotium u direktorij libs u mapi vašeg projekta u slučaju da želite testirati s Robotium framework-om. (Kreirate mapu lib u mapi svog projekta).
Test slučaj definira uređaj za izvođenje više testova. Da biste definirali test slučaj, morate slijediti strukturu programa u nastavku:
- Primijeniti podrazred od
TestCase
. - Definirajte varijable instance koje pohranjuju stanje čvora
- Inicijalizirajte stanje učvršćenja nadjačavanjem setUp ()
- Čišćenje nakon testa nadjačavanjem tearDown ().
Struktura ispitnog programa
paket com.example.helloandroid.test;uvoz com.example.helloandroid.HelloAndroid;uvoz com.jayway.android.robotium.solo.Solo;uvoz android.test.ActivityInstrumentationTestCase2;uvoz android.widget.TextView;javna klasa HelloAndroidTest proširuje ActivityInstrumentationTestCase2{privatna HelloAndroid mActivity;privatni TextView mView;private String resourceString;privatni Solo solo;javni HelloAndroidTest () {// TODO Automatski generirani klizač konstruktorasuper ("com.example.helloandroid", HelloAndroid.class);}@Preuzmiprotected void setUp () baca iznimku {// TODO Automatski generirani kvar metode// super.setUp ();mActivity = this.getActivity ();solo = novo Solo (getInstrumentation (), getActivity ());mView = (TextView) mActivity.findViewById (com.example.helloandroid.R.id.textview2);resourceString = mActivity.getString (com.example.helloandroid.R.string.hello_world);}@Preuzmiprotected void tearDown () baca iznimku {// TODO Automatski generirani kvar metode//super.tearDown ();solo.finishOpenedActivities ();}test javne prazninePrecondition () {assertNotNull (mView);}/ * test Ciljna aplikacija sadrži tekstualni prikaz "Hello World!" * /public void testSearchText () {assertEquals (resourceString, (String) mView.getText ());}/ * test HelloAndroid Aktivnost na ciljanoj aplikaciji postoji * /public void testCurrentActivity () baca iznimku {solo.assertCurrentActivity ("pogrešna aktivnost", HelloAndroid.class);}/ * test korisničko sučelje aplikacije sadrži gumb "Start" * // * pošalji gumb za klik događaja za ciljanje aplikacije * /public void testSearchButton () baca izuzetak {logička vrijednost = solo.searchButton ("Start");solo.clickOnButton ("Start");assertTrue (pronađeno);}}
Dodavanje test slučajeva
- U istom paketu s TestSuiteom kreiramo klase TestCase
- Da biste testirali određenu aktivnost, tj. HelloAndroid, stvorite opseg test ActivityInstrumentationTestCase2
- U ovoj klasi ispitivač može dobiti ispitnu aktivnost metodom getActivity ().
- Možete slobodno stvoriti test za aktivnost testiranja stvaranjem metode s nazivom "test + izvorno ime metode"
- U testnoj metodi ispitivač može upotrijebiti Android JUnit funkciju za usporedbu stvarne vrijednosti i očekivane vrijednosti. Ove su metode prikazane u nastavku.
Primjeri metoda Robotium i Android Testing framework
Ovi gornji testovi potvrdili su da GUI aplikacije mora prikazivati tekst "Hello World!" I sadrži naziv gumba "Start".
KORAK 3) Pokrenite test
Nakon što završite s pisanjem testnog programa, pokrenite test slijedeći korake u nastavku
- Povežite Android uređaj s računalom (ili pokrenite emulator u slučaju da nemate pravi uređaj).
- U svom IDE-u kliknite desnom tipkom miša à Pokreni kao Androidov test jedinice
Pokretanje testnog programa
Osim pokretanja testa na IDE-u, test možete pokrenuti i na naredbenom retku. U ovom testnom programu testni paket je com.example.helloandroid.test. U Linux terminalu možete koristiti sljedeću naredbu za pokretanje svih testova u ovom paketu:
$ adb shell am instrument -w -e paket com.example.helloandroid.test
KORAK 4) Dobijte rezultat testa
Nakon izvršavanja testa dobivate rezultate testa.
U ovom testnom programu izvršavaju se 4 metode ispitivanja. U ovom su slučaju položeni svi testovi.
Rezultat testa u slučaju da su položeni svi test slučajevi
U slučaju da test slučaj ne uspije, izlaz će se prikazati i pokazati vam koji test slučajevi nisu uspjeli
Rezultat testa u slučaju da svi test slučajevi nisu uspjeli
Primjeri izvornog koda
Ovi članci uključuju nekoliko primjera izvornog koda koji vam pomažu da jasnije razumijete vodič i brzo nadoknadite tehničko znanje
- HelloAndroid: Aplikacija na testiranju.
- HelloAndroidTest: Testni program koji koristi Android Test framework