Robotium bemutatója: az első Android Keretrendszer

Mi az a Robotium?

A Robotium egy androidos tesztelési keretrendszer a natív és hibrid alkalmazások teszteseteinek automatizálására. A Robotium használatával a fejlesztő erős automatikus GUI tesztelési esetet hozhat létre Android alkalmazások. Ezen kívül a fejlesztő írhatna egy funkcionális, rendszer- és elfogadási teszt forgatókönyvet, sokakat elterjesztve Android tevékenységek.

Robotium tesztelési keretrendszer

Standard Android tesztelési keretrendszernek van néhány korlátozása az alábbiak szerint

  • Több tevékenységet nem tud kezelni
  • A teszt végrehajtása lassú
  • A tesztesetek összetettek és nehezen kivitelezhetők

Robotiumkeret a jobb választás a teszteléshez Android alkalmazás

A Robotium egy nyílt forráskódú keretrendszer, és a kiterjesztésének tekinthető Android teszt keretrendszer. A Robotium használatával a fejlesztő robusztus automatikus GUI teszteseteket hozhat létre Android alkalmazások. Ezenkívül a fejlesztő funkcionális, rendszer- és elfogadási teszt forgatókönyveket írhat, amelyek többre is kiterjednek Android tevékenységek.

A Robotium speciális tulajdonságai
A Robotium fejlett funkciói

Robotium teszteset osztályok

A Robotium osztályokat használ (com.jayway.android.robotium.solo) tesztelésre. Ez az osztály támogatja a több tevékenységre kiterjedő teszteseteket. A Solo integrálva van az ActivityInstrumentationTestCase2-vel.

Robotium teszteset osztályok
Integrációs Robotium és ActivityInstrumentationTestCase2

A tesztelő teszteseteket írhat az alkalmazástervezés ismerete nélkül (fekete doboz tesztelés) a Robotium teszteset osztályok használatával. Ehhez képest kiemelkedő tulajdonság Android teszteset osztályok.

A Robotium használata

A Robotium használatához Android tesztprojektet, kövesse az alábbi lépéseket

Használd a Robotiumot

Robotium használata a tesztek elvégzéséhez Android Alkalmazás. A minőség garantálása érdekében Android alkalmazása esetén kövesse az alábbi eljárást

  1. Tervezési teszt specifikáció
  2. Tesztprogram kidolgozása
  3. Végrehajt Teszt eset a cél eszközön
  4. Gyűjtse össze a teszt eredményét
Android alkalmazás
Android Az alkalmazás tesztelési eljárása Tesztelés eljárás

1. LÉPÉS) Tervezési teszt specifikáció

  • Ez az alkalmazás tesztelésének első lépése. Ebben a lépésben adja meg a tesztelendő célt. A tiédben Android alkalmazás, sok célpontot kell tesztelni, például felhasználói felületet, tevékenységet, összetevőket, szolgáltatásokat. Ha egyértelműen meghatározza a célt az alkalmazásban, akkor széles körű tesztlefedettséget érhet el.
  • Tervezze meg a végrehajtandó teszttípusokat (egységteszt, funkcionális teszt, rendszerteszt).
  • Tervezze meg a teszteseteket a maximális lefedettség érdekében, de minimalizálja a tesztesetek számát. Minél több kódot tesztelnek, annál nagyobb az esély a hiba korai felismerésére.

2. LÉPÉS) Írjon TESZT programot

Ez a rész eligazítja, hogyan írjon egy Android tesztprogram segítségével Android Junit Teszt és Robotium. Tegyük fel, hogy már kifejlesztett egy Android program neve HelloAndroid. Ez a program az alábbiakban ismertetett néhány funkcióval rendelkezik:

  • Jelenítse meg a „Hello world!” szöveget! a képernyőn.
  • Üzenet megjelenítése HelloAndroid amikor a felhasználó megnyomja a „Start” gombot
HellóAndroid Alkalmazás
HellóAndroid Alkalmazás

Rendszerkövetelmények

  • Android platform előre integrált JUnit 3.0 keretrendszer.
  • Az alkotás érdekében Android Tesztprojekt innen Eclipse, számítógépére telepíteni kell:
  • Legújabb verzió Android Platform (jelenleg Android 8.1)

Tudod letöltés Eclipse IDE beépített ADT-vel (Android Fejlesztői eszközök). Ebben benne van a lényeges Android SDK-összetevők és a Eclipse IDE.

A Robotium tesztelési keretrendszerhez le kell töltenie a Robotium könyvtárat innen Robotium weboldal.

Teremt Android Tesztprojekt

  • Kattintson a Fájl -> Új -> Egyéb elemre
  • Választ: Android -> Android Tesztprojekt az alábbi ábra szerint -> Válassza a Tovább lehetőséget
Új Android tesztprojekt
Új Android Tesztprojekt

Írja be a tesztprojekt nevét. Elnevezési konvencióként a tesztprojekt neve „HelloAndroidTeszt"

Tesztprojekt névalap hozzáadása az elnevezési egyezményhez
Tesztprojekt névalap hozzáadása az elnevezési konvencióhoz

Válassza ki a tesztelés alatt álló célalkalmazást. Jelen esetben ez a HelloAndroid kattintson a Befejezés gombra

A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a Target Pályázat Teszt alatt
Válassza ki a tesztelés alatt álló célalkalmazást

Hozzon létre tesztcsomagokat

A tesztspecifikáció alapján elkezdett tesztcsomagokat létrehozni a tesztprogramhoz. Különféle tesztelési kereteket választhat. Ebben az oktatóanyagban a szabványt választom Android tesztelési keretrendszer ActivityInstrumentationTestCase2. Hozzá kell adnia a Robotium könyvtár fájlt a projekt mappájában található libs könyvtárhoz, ha a Robotium keretrendszerrel szeretne tesztelni. (Létrehozol egy lib mappát a projekt mappájában).

A teszteset meghatározza a berendezést több teszt futtatásához. A teszteset meghatározásához az alábbi programstruktúrát kell követnie:

  • Alosztályának megvalósítása TestCase.
  • Határozzon meg példányváltozókat, amelyek tárolják a fixture állapotát
  • Inicializálja a fixture állapotát a setUp() felülbírálásával
  • Tisztítás a teszt után a tearDown() felülbírálásával.
A tesztprogram felépítése
Tesztprogram felépítése
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);
    }

	

}

Tesztesetek hozzáadása

  • A TestSuite csomaggal azonos csomagban TestCase osztályokat hozunk létre
  • Bizonyos tevékenységek teszteléséhez, pl. HelloAndroid, hozzon létre egy teszteset kiterjedését ActivityInstrumentationTestCase2Android>
  • Ebben az osztályban a tesztelő tesztelési tevékenységet szerezhet a getActivity() metóduson keresztül.
  • Szabadon létrehozhat tesztet egy tesztelési tevékenységhez a "teszt + eredeti módszer neve" nevű metódussal.
  • A vizsgálati módszerben a tesztelő használhatja Android JUnit függvény a tényleges és a várható érték összehasonlításához. Ezeket a módszereket az alábbiakban mutatjuk be.
Példamódszerek a Robotium és Android Tesztelési keretrendszer
Példamódszerek a Robotium és Android Tesztelési keretrendszer

Ezek a fenti tesztcsomagok ellenőrizték, hogy az alkalmazás grafikus felületén meg kell jelennie a „Hello World!” szövegnek, és tartalmaznia kell egy „Start” gombnevet.

3. LÉPÉS) Futtassa le a tesztet

Miután befejezte a tesztprogram megírását, futtassa a tesztet az alábbi lépésekkel

  • Csatlakozás Android eszközt a számítógéphez (vagy indítsa el az Emulátort, ha nem rendelkezik valódi eszközzel).
  • Az IDE-ben kattintson jobb gombbal a Futtatás másként elemreAndroid Egységvizsgálat
Tesztprogram futtatása
Tesztprogram futtatása

A teszt futtatása IDE-n kívül parancssorban is futtatható. Ebben a tesztprogramban a tesztcsomag a com.example.helloandroid.test . In Linux terminál, a következő paranccsal futtathatja az összes tesztet ebben a csomagban:

$ adb shell am instrument -w -e csomag com.example.helloandroid.test

4. LÉPÉS) Szerezze meg a teszt eredményét

A teszt végrehajtása után megkapja a teszteredményeket.

Ebben a tesztprogramban 4 vizsgálati módszer kerül végrehajtásra. Ebben az esetben minden teszteset sikeres.

Teszteredmény-kimenet abban az esetben, ha minden teszteset sikeres
Teszteredmény kimenet, ha minden teszteset sikeres volt

Abban az esetben, ha a teszteset sikertelen, a kimenet megjelenik, és megmutatja, melyik teszteset sikertelen

Teszteredmény-kimenet abban az esetben, ha az összes teszteset sikertelen
Teszteredmény kimenet arra az esetre, ha az összes teszteset sikertelen lenne

Példák a forráskódra

Ez a cikk néhány forráskód-példát tartalmaz, amelyek segítenek az oktatóanyag tisztább megértésében és a műszaki ismeretek gyors felzárkóztatásában.