Vodič za Robotium: Vaš prvi Android Okvir

Što je Robotium?

Robotium je android okvir za testiranje za automatizaciju testnih slučajeva za izvorne i hibridne aplikacije. Koristeći Robotium, razvojni programer može stvoriti snažan slučaj za automatsko testiranje GUI-ja Android aplikacije. Osim toga, programer bi mogao napisati funkcionalni, sustavni i prihvatljivi scenarij testa, šireći mnoge Android aktivnosti.

Robotium okvir za testiranje

Servo Android okvir za testiranje ima neka ograničenja kao u nastavku

  • Ne može se nositi s više aktivnosti
  • Izvedba testa je spora
  • Testni slučajevi su složeni i teško ih je implementirati

Robotiumokvir je bolji izbor za provođenje testiranja Android primjena

Robotium je okvir otvorenog koda i smatra se njegovim proširenjem Android ispitni okvir. Koristeći Robotium, razvojni programer može stvoriti robusne automatske GUI testne slučajeve za Android aplikacije. Štoviše, razvojni programer može napisati funkcionalne scenarije, scenarije sustava i testa prihvaćanja koji obuhvaćaju višestruke scenarije Android aktivnosti.

Napredne značajke Robotiuma
Napredne značajke Robotiuma

Robotium ispitne klase

Robotium koristi skup klasa (com.jayway.android.robotium.solo) za testiranje. Ova klasa podržava testne slučajeve koji obuhvaćaju višestruke aktivnosti. Solo je integriran s ActivityInstrumentationTestCase2.

Robotium ispitne klase
Integracija Robotium i ActivityInstrumentationTestCase2

Ispitivač može pisati test slučajeve bez znanja o dizajnu aplikacije (testiranje crne kutije) koristeći Robotium klase test slučaja. To je izvanredna značajka u usporedbi s Android klase testnih slučajeva.

Kako koristiti Robotium

Da biste koristili Robotium u svom Android testni projekt, trebate slijediti korake u nastavku

Koristite Robotium

Korištenje Robotiuma za provođenje testiranja Android primjena. Kako bismo zajamčili kvalitetu vašeg Android prijave, trebali biste slijediti postupak u nastavku

  1. Specifikacija ispitivanja dizajna
  2. Razviti program testiranja
  3. Izvršiti Testni slučaj na ciljanom uređaju
  4. Prikupite rezultate testa
Android primjena
Android Postupak testiranja aplikacije Ispitivanje Postupci

KORAK 1) Specifikacija ispitivanja dizajna

  • Ovo je prvi korak za testiranje vaše aplikacije. U ovom koraku definirate cilj za testiranje. U vašem Android aplikacije, postoje mnogi ciljevi koje treba testirati kao što su korisničko sučelje, aktivnost, komponente, usluge. Jasno definiranje cilja u vašoj aplikaciji pomoći će u postizanju široke pokrivenosti testom.
  • Planirajte vrste testova koje treba provesti (test jedinice, funkcionalni test, test sustava).
  • Dizajnirajte testne slučajeve za maksimalnu pokrivenost, ali smanjite broj testnih slučajeva. Što se više koda testira, veće su šanse za rano otkrivanje bugova.

KORAK 2) Napišite TEST program

Ovaj odjeljak vas vodi kako napisati Android korištenje testnog programa Android Junit Test i Robotium. Pretpostavimo da ste već razvili Android naziv programa PozdravAndroid. Ovaj program ima neke funkcije opisane u nastavku:

  • Prikaži tekst "Hello world!" na zaslonu.
  • Prikaz poruke PozdravAndroid kada korisnik pritisne gumb "Start".
BokAndroid primjena
BokAndroid primjena

Zahtjevi sustava

  • Android platforma dolazi s unaprijed integriranim JUnit 3.0 okvir.
  • Da bi se stvorilo Android Testni projekt od Eclipse, vaše računalo mora imati instalirano:
  • Najnovija verzija Android Platforma (trenutno Android 8.1)

You Can preuzimanje Eclipse IDE s ugrađenim ADT-om (Android Razvojni alati). Uključuje bitno Android SDK komponente i verzija Eclipse IDE .

Za okvir za testiranje Robotium, trebate spustiti biblioteku Robotium Robotium web stranica.

stvoriti Android Testni projekt

  • Pritisnite File -> New -> Other
  • Odaberite: Android -> Android Testirajte projekt prema donjoj slici -> Odaberite Dalje
Stvori novu Android ispitni projekt
Stvori novo Android Testni projekt

Napišite naziv svog testnog projekta. Prema konvenciji imenovanja, vaš bi se testni projekt trebao zvati “HelloAndroidTest"

Dodavanje naziva testnog projekta prema konvenciji o imenovanju
Dodajte naziv testnog projekta temeljen na konvenciji imenovanja

Odaberite ciljnu aplikaciju koja se testira. U ovom slučaju, ovo je HelloAndroid kliknite Završi

Odaberite Target Aplikacija pod testom
Odaberite ciljnu aplikaciju koja se testira

Stvorite testne pakete

Na temelju svoje specifikacije testa, počeli ste stvarati pakete testova za svoj testni program. Možete odabrati različite okvire za testiranje. U ovom vodiču biram standardno Android okvir za testiranje ActivityInstrumentationTestCase2. Morate dodati datoteku biblioteke Robotium u direktorij libs u mapi vašeg projekta u slučaju da želite testirati s okvirom Robotium. (Mapu lib stvarate u mapi svog projekta).

Testni slučaj definira učvršćenje za izvođenje više testova. Da biste definirali testni slučaj, morate slijediti donju strukturu programa:

  • Implementirajte podklasu od TestCase.
  • Definirajte varijable instance koje pohranjuju stanje uređaja
  • Inicijalizirajte stanje fixture nadjačavanjem setUp()
  • Čišćenje nakon testa nadjačavanjem tearDown().
Struktura testnog programa
Struktura test programa
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);
    }

	

}

Dodavanje testnih slučajeva

  • U istom paketu s TestSuiteom stvaramo TestCase klase
  • Za testiranje određene aktivnosti tj. PozdravAndroid, kreirajte opseg testnog slučaja ActivityInstrumentationTestCase2Android>
  • U ovoj klasi, ispitivač može dobiti aktivnost testiranja putem getActivity() metode.
  • Možete slobodno izraditi test za aktivnost testiranja kreiranjem metode s nazivom "test + originalni naziv metode"
  • U metodi ispitivanja, ispitivač može koristiti Android JUnit funkcija za usporedbu stvarne i očekivane vrijednosti. Ove metode su prikazane u nastavku.
Primjeri metoda Robotium i Android Okvir za testiranje
Primjeri metoda Robotium i Android Okvir za testiranje

Ovi testni paketi iznad potvrdili su da GUI aplikacije mora prikazati tekst "Hello World!", i sadržavati naziv gumba "Start".

KORAK 3) Pokrenite test

Nakon što završite s pisanjem testnog programa, pokrenite test prema dolje navedenim koracima

  • Connect Android uređaj na računalo (ili pokrenite Emulator u slučaju da nemate pravi uređaj).
  • U vašem IDE desnom tipkom miša kliknite àRun asàAndroid Test jedinice
Pokretanje testnog programa
Pokretanje testnog programa

Osim pokretanja testa na IDE-u, možete pokrenuti test 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 što se test izvrši, dobivate rezultate testa.

U ovom ispitnom programu izvode se 4 metode ispitivanja. U ovom slučaju, svi testni slučajevi su prošli.

Ispis rezultata testa u slučaju Svi testovi su prošli
Ispis rezultata testa u slučaju da su svi testni slučajevi prošli

U slučaju da testni slučaj ne uspije, izlaz se prikazuje i prikazuje vam koji testni slučajevi nisu uspjeli

Ispis rezultata testa u slučaju Svi testni slučajevi nisu uspjeli
Ispis rezultata testa u slučaju da svi testni slučajevi nisu uspjeli

Primjeri izvornog koda

Ovi članci uključuju neke primjere izvornog koda koji vam pomažu da jasnije razumijete vodič i brzo nadoknadite tehničko znanje