Vodič za robotij: vaš prvi Android Framework

Sadržaj:

Anonim

Š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 nastavku

Korištenje Robotiuma za provođenje testiranja na Android aplikaciji. Da biste zajamčili kvalitetu svoje Android aplikacije, slijedite postupak u nastavku

  1. Specifikacija ispitivanja dizajna
  2. Razviti testni program
  3. Izvršite test slučaj na ciljnom uređaju
  4. 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