Robotium Tutorial: Vaše první Android Rámec
Co je to Robotium?
Robotium je testovací rámec pro Android pro automatizaci testovacích případů pro nativní a hybridní aplikace. Pomocí Robotia může vývojář vytvořit silný automatický testovací případ GUI Android aplikací. Kromě toho by vývojář mohl napsat funkční, systémový a akceptační testovací scénář a mnohé rozšířit Android činnosti.
Robotický testovací rámec
Standard Android testovací rámec má určitá omezení, jak je uvedeno níže
- Nelze zvládnout více činností
- Výkon provádění testu je pomalý
- Testovací případy jsou složité a obtížně implementovatelné
Robotiumrámec je lepší volbou pro provedení testování Android aplikace
Robotium je open source framework a je považován za jeho rozšíření Android testovací rámec. Pomocí Robotia může vývojář vytvořit robustní automatické testovací případy GUI Android aplikací. Kromě toho může vývojář psát funkční, systémové a akceptační testovací scénáře, které zahrnují více Android činnosti.
Třídy testovacích případů robota
Robotium používá sadu tříd (com.jayway.android.robotium.solo) na testování. Tato třída podporuje testovací případy, které zahrnují více aktivit. Solo je integrováno s ActivityInstrumentationTestCase2.
Tester může psát testovací případy bez znalosti návrhu aplikace (testování v černé skříňce) pomocí tříd testovacích případů Robotium. Je to vynikající vlastnost ve srovnání s Android třídy testovacích případů.
Jak používat Robotium
Chcete-li použít Robotium ve svém Android testovací projekt, musíte postupovat podle níže uvedených kroků
Použití Robotia k provádění testování Android aplikace. Aby byla zaručena vaše kvalita Android aplikaci, měli byste postupovat podle níže uvedeného postupu
- Specifikace testu návrhu
- Vyvinout testovací program
- Provést Testovací případ na cílovém zařízení
- Sbírejte výsledek testu
KROK 1) Navrhněte specifikaci testu
- Toto je první krok k otestování vaší aplikace. V tomto kroku definujete cíl, který má být testován. Ve vašem Android aplikace, existuje mnoho cílů, které je třeba otestovat, jako je uživatelské rozhraní, aktivita, komponenty, služby. Jasné definování cíle ve vaší aplikaci pomůže dosáhnout širokého pokrytí testem.
- Naplánujte si, jaké typy testů by měly být provedeny (test jednotky, test funkčnosti, test systému).
- Navrhněte 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íce je šance na včasné odhalení chyby.
KROK 2) Napište program TEST
Tato část vám poradí, jak napsat Android pomocí testovacího programu Android Junit Test a robotium. Předpokládejme, že jste již vyvinuli Android název programu Dobrý denAndroid. Tento program má některé funkce popsané níže:
- Zobrazte text „Ahoj světe!“ na obrazovce.
- Zobrazit zprávu Dobrý denAndroid když uživatel stiskne tlačítko „Start“.
Požadavky na systém
- Android platforma je dodávána s předintegrovaným JUnit rámec 3.0.
- Aby bylo možné vytvořit Android Testovací projekt od Eclipse, ve vašem počítači musí být nainstalováno:
- Nejnovější verze Android Platforma (aktuálně Android 8.1)
Můžeš download Eclipse IDE s vestavěným ADT (Android Vývojářské nástroje). Zahrnuje to podstatné Android SDK komponenty a verze Eclipse IDE .
Pro testovací framework Robotium musíte stáhnout knihovnu Robotium Webová stránka Robotium.
Vytvořit Android Testovat projekt
- Klikněte na Soubor -> Nový -> Jiné
- Zvolte si: Android -> Android Testovat projekt podle obrázku níže -> Zvolte Další
Napište název vašeho testovacího projektu. Podle konvence pojmenování by se váš testovací projekt měl jmenovat „AhojAndroidTest"
Vyberte testovanou cílovou aplikaci. V tomto případě je to HelloAndroid klepněte na tlačítko Dokončit
Vytvořte testovací sady
Na základě specifikace testu jste začali vytvářet testovací sady pro svůj testovací program. Můžete si vybrat různé testovací rámce. V tomto návodu volím standardní Android testovací rámec ActivityInstrumentationTestCase2. Musíte přidat soubor knihovny Robotium do adresáře libs ve složce projektu v případě, že chcete testovat s frameworkem Robotium. (Ve složce projektu vytvoříte složku lib).
Testovací případ definuje přípravek 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 tearDown().
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); } }
Přidávání testovacích případů
- Ve stejném balíčku s TestSuite vytváříme třídy TestCase
- Chcete-li otestovat určitou aktivitu, např. Dobrý denAndroid, vytvořte rozsah testovacího případu ActivityInstrumentationTestCase2Android>
- V této třídě může tester získat testovací aktivitu pomocí metody getActivity() .
- Test pro testovací aktivitu můžete volně vytvořit vytvořením metody s názvem „test + původní název metody“
- V testovací metodě může tester použít Android JUnit funkce pro porovnání skutečné a očekávané hodnoty. Tyto metody jsou uvedeny níže.
Tyto testovací sady výše ověřily, že GUI aplikace musí zobrazovat text „Hello World!“ a obsahuje název tlačítka „Start“.
KROK 3) Spusťte test
Po dokončení psaní testovacího programu spusťte test pomocí níže uvedených kroků
- mítinky Connect Android zařízení do počítače (nebo spusťte emulátor, pokud nemáte skutečné zařízení).
- Ve vašem IDE klikněte pravým tlačítkem na Spustit jakoAndroid Test jednotky
Kromě spuštění testu na IDE můžete spustit test na příkazovém řádku. V tomto testovacím programu je testovací balíček com.example.helloandroid.test . V Linux terminál, 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ě projdou všechny testovací případy.
V případě, že testovací případ selže, zobrazí se výstup a ukáže vám, které testovací případy se nezdařily
Příklady zdrojového kódu
Tyto články obsahují několik příkladů zdrojového kódu, které vám pomohou pochopit výukový program jasněji a rychle dohnat technické znalosti
- AhojAndroid: Testovaná aplikace.
- AhojAndroidtest: Testovací program pomocí Android Testovací rámec