Výukový program Robotium: Váš první rámec pro Android

Obsah:

Anonim

Co je to Robotium?

Robotium je androidový testovací framework pro automatizaci testovacích případů pro nativní a hybridní aplikace. Pomocí Robotia může vývojář vytvořit silný případ automatického testování grafického uživatelského rozhraní pro aplikace pro Android. Kromě toho může vývojář napsat scénář funkčního, systémového a akceptačního testu, který rozšíří mnoho aktivit pro Android.

V tomto výukovém programu se naučíte

  • Rámec pro testování robotií
  • Jak používat Robotium
  • KROK 1) Specifikace konstrukčních zkoušek
  • KROK 2) Napište program TEST
  • KROK 3) Spusťte test
  • KROK 4) Získejte výsledek testu

Rámec pro testování robotií

Standardní testovací framework pro Android má určitá omezení, jak je uvedeno níže

  • Nelze zpracovat více aktivit
  • Výkon provádění testu je pomalý
  • Testovací případy jsou složité a těžko implementovatelné

Robotium rámec je lepší volbou pro testování chování v aplikaci pro Android

Robotium je open source framework a je považován za rozšíření testovacího framework Androidu. Pomocí Robotia může vývojář vytvářet robustní automatické testovací případy grafického uživatelského rozhraní pro aplikace pro Android. Kromě toho může vývojář psát scénáře funkčních, systémových a akceptačních testů zahrnujících více aktivit systému Android.

Pokročilé funkce Robotia

Třídy testovacích případů Robotium

Robotium používá pro testování sadu tříd ( com.jayway.android.robotium.solo ) . Tato třída podporuje testovací případy, které zahrnují více aktivit. Solo je integrován s ActivityInstrumentationTestCase2.

Integration Robotium a ActivityInstrumentationTestCase2

Tester může psát testovací případy bez znalosti designu aplikace (testování černé skříňky) pomocí tříd testovacích případů Robotium. Je to vynikající funkce ve srovnání s třídami testovacích případů Android.

Jak používat Robotium

Chcete-li Robotium použít ve svém testovacím projektu pro Android, musíte postupovat podle následujících pokynů

Používání Robotium k provádění testování na aplikaci pro Android. Chcete-li zaručit kvalitu své aplikace pro Android, měli byste postupovat podle níže uvedeného postupu

  1. Specifikace konstrukčního testu
  2. Vypracovat testovací program
  3. Proveďte testovací případ na cílovém zařízení
  4. Shromážděte výsledek testu

Postup testování aplikace pro Android

KROK 1) Specifikace konstrukčních zkoušek

  • Toto je první krok k otestování vaší aplikace. V tomto kroku definujete cíl, který chcete otestovat. Ve vaší aplikaci pro Android je třeba otestovat mnoho cílů, jako je uživatelské rozhraní, aktivita, komponenty, služby. Jasné definování cíle ve vaší aplikaci pomůže dosáhnout širokého pokrytí testů.
  • Naplánujte, jaké typy testů je třeba provést (test jednotky, funkční test, test systému).
  • Navrhujte testovací případy pro maximální pokrytí, ale minimalizujte počet testovacích případů. Čím více kódu je testováno, tím větší je šance na včasnou detekci chyby.

KROK 2) Napište program TEST

V této části se dozvíte, jak napsat testovací program pro Android pomocí Android Junit Test a Robotium. Předpokládejme, že jste již vyvinuli název programu Android HelloAndroid. Tento program má některé funkce popsané níže:

  • Zobrazit text „Hello world!“ na obrazovce.
  • Když uživatel stiskne tlačítko „Start“, zobrazí zprávu HelloAndroid

Aplikace HelloAndroid

Požadavky na systém

  • Platforma Android je dodávána s předem integrovaným rámcem JUnit 3.0.
  • Aby bylo možné vytvořit projekt Android Test z Eclipse, musí být ve vašem počítači nainstalována:
    • Nejnovější verze Platforma Android (aktuálně Android 8.1)

Můžete si stáhnout Eclipse IDE s integrovaným ADT (Android Developer Tools). Zahrnuje základní komponenty Android SDK a verzi Eclipse IDE.

V rámci testovacího rámce Robotium je třeba stáhnout knihovnu Robotium z webové stránky Robotium.

Vytvořte testovací projekt Android

  • Klikněte na Soubor -> Nový -> Jiné
  • Zvolte: Android -> Android Test Project podle níže uvedeného obrázku -> Zvolte Další

Vytvořte nový testovací projekt pro Android

Napište název svého testovacího projektu. Jako konvence pojmenování by měl být váš testovací projekt název „HelloAndroidTest“

Přidejte testovací název projektu na základě konvence pojmenování

Vyberte cílovou testovanou aplikaci. V tomto případě se jedná o HelloAndroid, klikněte na Dokončit

Vyberte testovanou cílovou aplikaci

Vytvořte testovací sady

Na základě vaší testovací specifikace jste začali vytvářet testovací sady pro váš testovací program. Můžete si vybrat různé testovací rozhraní. V tomto kurzu zvolím standardní testovací framework pro Android ActivityInstrumentationTestCase2 . Musíte přidat soubor knihovny Robotium do adresáře libs ve složce projektu pro případ, že chcete testovat s rámcem Robotium. (Složku lib vytvoříte ve složce projektu).

Testovací případ definuje zařízení pro spuštění více testů. Chcete-li definovat testovací případ, musíte postupovat podle níže uvedené struktury programu:

  • Implementujte podtřídu TestCase.
  • Definujte proměnné instance, které ukládají stav zařízení
  • Inicializujte stav zařízení přepsáním setUp ()
  • Vyčištění po testu přepsáním funkce tearDown ().

Struktura testovacího programu

balíček com.example.helloandroid.test;import com.example.helloandroid.HelloAndroid;import com.jayway.android.robotium.solo.Solo;import android.test.ActivityInstrumentationTestCase2;import android.widget.TextView;veřejná třída HelloAndroidTest rozšiřuje ActivityInstrumentationTestCase2  {soukromá aktivita HelloAndroid;soukromý TextView mView;private String resourceString;soukromé sólo sólo;public HelloAndroidTest () {// TODO Automaticky generovaný útržek konstruktorusuper ("com.example.helloandroid", HelloAndroid.class);}@ Přepisprotected void setUp () vyvolá výjimku {// TODO Automaticky generovaný útržek metody// 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);}@ Přepisprotected void tearDown () vyvolá výjimku {// TODO Automaticky generovaný útržek metody//super.tearDown ();solo.finishOpenedActivities ();}public void testPrecondition () {assertNotNull (mView);}/ * test Target aplikace obsahuje textový displej „Hello World!“ * /public void testSearchText () {assertEquals (resourceString, (String) mView.getText ());}/ * test HelloAndroid aktivita v cílové aplikaci existuje * /public void testCurrentActivity () vyvolá výjimku {solo.assertCurrentActivity ("chybná aktivita", HelloAndroid.class);}/ * testovací uživatelské rozhraní aplikace obsahuje tlačítko „Start“ * // * odeslat událost kliknutím na tlačítko pro zacílení aplikace * /public void testSearchButton () vyvolá výjimku {boolean found = solo.searchButton ("Start");solo.clickOnButton ("Start");assertTrue (nalezeno);}}

Přidání testovacích případů

  • Ve stejném balíčku s TestSuite vytváříme třídy TestCase
  • Chcete-li otestovat určitou aktivitu, tj. HelloAndroid, vytvořte rozsah testovacích případů ActivityInstrumentationTestCase2
  • V této třídě může tester získat testovací aktivitu pomocí metody getActivity ().
  • Test pro testovací aktivitu můžete libovolně vytvořit vytvořením metody s názvem „test + původní název metody“
  • V testovací metodě může tester použít funkci Android JUnit k porovnání skutečné hodnoty a očekávané hodnoty. Tyto metody jsou uvedeny níže.

Ukázkové metody testovacího prostředí Robotium a Android

Tyto testovací sady výše ověřily, že grafické uživatelské rozhraní aplikace musí zobrazit text „Hello World!“ A obsahuje název tlačítka „Start“.

KROK 3) Spusťte test

Po dokončení psaní testovacího programu proveďte test podle níže uvedených kroků

  • Připojte zařízení Android k počítači (nebo spusťte emulátor, pokud nemáte skutečné zařízení).
  • Ve svém IDE klikněte pravým tlačítkem na àRun asàAndroid Unit Test

Probíhá testovací program

Kromě spuštění testu na IDE můžete spustit test na příkazovém řádku. V tomto testovacím programu je testovacím balíčkem com.example.helloandroid.test. V terminálu Linux můžete použít následující příkaz ke spuštění všech testů v tomto balíčku:

$ adb shell am instrument -w -e balíček com.example.helloandroid.test

KROK 4) Získejte výsledek testu

Po provedení testu získáte výsledky testu.

V tomto testovacím programu se provádějí 4 testovací metody. V tomto případě jsou předány všechny testovací případy.

Výstup výsledku testu v případě, že všechny testovací případy prošly

V případě selhání testovacího případu se zobrazí výstup a zobrazí se, které testovací případy selhaly

Výstup výsledku testu v případě selhání všech testovacích případů

Příklady zdrojového kódu

Tento článek obsahuje několik příkladů zdrojového kódu, které vám pomohou jasněji pochopit výukový program a rychle získat technické znalosti

  • HelloAndroid: Testovaná aplikace.
  • HelloAndroidTest: Testovací program pomocí testovacího rozhraní Android