Co to jest Robotium?
Robotium to platforma testowa dla systemu Android służąca do automatyzacji przypadków testowych dla aplikacji natywnych i hybrydowych. Korzystając z Robotium, deweloper może stworzyć silny, automatyczny przypadek testowania GUI dla aplikacji na Androida. Ponadto deweloper mógłby napisać scenariusz testów funkcjonalnych, systemowych i akceptacyjnych, rozpowszechniający wiele działań na Androida.
W tym samouczku nauczysz się:
- Framework do testowania Robotium
- Jak korzystać z Robotium
- KROK 1) Zaprojektuj specyfikację testu
- KROK 2) Napisz program TEST
- KROK 3) Uruchom test
- KROK 4) Uzyskaj wynik testu
Framework do testowania Robotium
Standardowe ramy testowe Androida mają pewne ograniczenia, jak poniżej
- Nie można obsłużyć wielu działań
- Wykonywanie testów jest powolne
- Przypadki testowe są złożone i trudne do wdrożenia
Robotium ramy jest lepszym wyborem do przeprowadzenia testów na aplikacji Android
Robotium jest platformą open source i jest uważane za rozszerzenie platformy testowej systemu Android. Korzystając z Robotium, programista może tworzyć solidne, automatyczne przypadki testowe GUI dla aplikacji na Androida. Ponadto programista może pisać scenariusze testów funkcjonalnych, systemowych i akceptacyjnych, obejmujące wiele działań na Androida.
Zaawansowane funkcje Robotium
Klasy przypadków testowych Robotium
Robotium używa do testowania zestawu klas ( com.jayway.android.robotium.solo ) . Ta klasa obsługuje przypadki testowe obejmujące wiele działań. Solo jest zintegrowane z ActivityInstrumentationTestCase2.
Integracja Robotium i ActivityInstrumentationTestCase2
Tester może pisać przypadki testowe bez znajomości projektowania aplikacji (testowanie czarnoskrzynkowe), korzystając z klas przypadków testowych Robotium. Jest to wyjątkowa funkcja w porównaniu z klasami przypadków testowych Androida.
Jak korzystać z Robotium
Aby użyć Robotium w projekcie testowym Androida, musisz wykonać poniższe czynnościWykorzystanie Robotium do przeprowadzenia testów aplikacji Android. Aby zagwarantować jakość swojej aplikacji na Androida, postępuj zgodnie z poniższą procedurą
- Zaprojektuj specyfikację testów
- Opracuj program testów
- Wykonaj przypadek testowy na urządzeniu docelowym
- Zbierz wynik testu
Procedura testowania aplikacji na Androida
KROK 1) Zaprojektuj specyfikację testu
- To jest pierwszy krok do przetestowania aplikacji. W tym kroku definiujesz cel do przetestowania. W Twojej aplikacji na Androida należy przetestować wiele celów, takich jak interfejs użytkownika, aktywność, komponenty, usługi. Jasne zdefiniowanie celu w aplikacji pomoże osiągnąć szeroki zakres testów.
- Zaplanuj typy testów, które mają być przeprowadzone (test jednostkowy, test funkcjonalny, test systemowy).
- Projektuj przypadki testowe pod kątem maksymalnego pokrycia, ale minimalizuj liczbę przypadków testowych. Im więcej kodu jest testowany, tym większe są szanse na wczesne wykrycie błędów.
KROK 2) Napisz program TEST
W tej sekcji opisano, jak napisać program testowy dla systemu Android za pomocą Android Junit Test i Robotium. Załóżmy, że już opracowałeś program Android o nazwie HelloAndroid. Ten program ma kilka funkcji opisanych poniżej:
- Wyświetl tekst „Hello world!” na ekranie.
- Wyświetl komunikat HelloAndroid, gdy użytkownik naciśnie przycisk „Start”
Aplikacja HelloAndroid
wymagania systemowe
- Platforma Android zawiera wstępnie zintegrowaną strukturę JUnit 3.0.
- Aby utworzyć projekt testowy Androida z Eclipse, Twój komputer musi mieć zainstalowane:
- Najnowsza wersja platformy Android (obecnie Android 8.1)
Możesz pobrać Eclipse IDE z wbudowanym ADT (Android Developer Tools). Zawiera podstawowe komponenty Android SDK i wersję środowiska Eclipse IDE.
W przypadku frameworka testowego Robotium musisz wyłączyć bibliotekę Robotium ze strony internetowej Robotium.
Utwórz projekt testowy systemu Android
- Kliknij Plik -> Nowy -> Inne
- Wybierz: Android -> Android Test Project, jak na poniższym rysunku -> Wybierz Dalej
Utwórz nowy projekt testowy systemu Android
Wpisz nazwę swojego projektu testowego. Zgodnie z konwencją nazewnictwa projekt testowy powinien mieć nazwę „HelloAndroidTest”
Dodaj nazwę projektu testowego na podstawie konwencji nazewnictwa
Wybierz testowaną aplikację docelową. W tym przypadku jest to HelloAndroid kliknij Zakończ
Wybierz testowaną aplikację docelową
Utwórz zestawy testów
Bazując na specyfikacji testów, zacząłeś tworzyć zestawy testów dla swojego programu testowego. Możesz wybrać różne ramy testowania. W tym samouczku wybieram standardową platformę testowania systemu Android, ActivityInstrumentationTestCase2 . Musisz dodać plik biblioteki Robotium do katalogu libs w folderze projektu na wypadek, gdybyś chciał przetestować za pomocą platformy Robotium. (Tworzysz folder lib w folderze projektu).
Przypadek testowy definiuje urządzenie do uruchamiania wielu testów. Aby zdefiniować przypadek testowy, musisz postępować zgodnie z poniższą strukturą programu:
- Zaimplementuj podklasę
TestCase
. - Zdefiniuj zmienne instancji, które przechowują stan urządzenia
- Zainicjuj stan urządzenia przez nadpisanie setUp ()
- Czyszczenie po teście przez zastąpienie tearDown ().
Struktura programu testowego
pakiet 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 rozszerza ActivityInstrumentationTestCase2{prywatny HelloAndroid mActivity;prywatny TextView mView;private String resourceString;prywatne solo solo;public HelloAndroidTest () {// TODO Automatycznie wygenerowany kod konstruktorasuper ("com.example.helloandroid", HelloAndroid.class);}@Nadpisanieprotected void setUp () rzuca wyjątek {// TODO Automatycznie wygenerowany kod pośredniczący metody// super.setUp ();mActivity = this.getActivity ();solo = nowe Solo (getInstrumentation (), getActivity ());mView = (TextView) mActivity.findViewById (com.example.helloandroid.R.id.textview2);resourceString = mActivity.getString (com.example.helloandroid.R.string.hello_world);}@Nadpisanieprotected void tearDown () rzuca wyjątek {// TODO Automatycznie wygenerowany kod pośredniczący metody//super.tearDown ();solo.finishOpenedActivities ();}public void testPrecondition () {assertNotNull (mView);}/ * test Aplikacja docelowa zawiera tekst „Hello World!” * /public void testSearchText () {assertEquals (resourceString, (String) mView.getText ());}/ * test HelloAndroid Activity w aplikacji docelowej istnieje * /public void testCurrentActivity () rzuca wyjątek {solo.assertCurrentActivity ("zła aktywność", HelloAndroid.class);}/ * Interfejs użytkownika aplikacji testowej zawiera przycisk „Start” * // * wyślij przycisk kliknięcia zdarzenia do aplikacji docelowej * /public void testSearchButton () zgłasza wyjątek {boolean found = solo.searchButton ("Start");solo.clickOnButton ("Start");assertTrue (znaleziono);}}
Dodawanie przypadków testowych
- W tym samym pakiecie z TestSuite tworzymy klasy TestCase
- Aby przetestować określoną aktywność, np. HelloAndroid, utwórz zakres przypadku testowego ActivityInstrumentationTestCase2
- W tej klasie tester może uzyskać aktywność testową poprzez metodę getActivity ().
- Możesz dowolnie stworzyć test do działania testowego, tworząc metodę o nazwie "test + oryginalna nazwa metody"
- W metodzie testowej tester może wykorzystać funkcję Android JUnit do porównania wartości rzeczywistej i oczekiwanej. Metody te przedstawiono poniżej.
Przykładowe metody frameworków Robotium i Android Testing
Powyższe zestawy testów potwierdziły, że interfejs GUI aplikacji musi wyświetlać tekst „Hello World!” I zawierać nazwę przycisku „Start”.
KROK 3) Uruchom test
Po zakończeniu pisania programu testowego uruchom test, wykonując poniższe czynności
- Podłącz urządzenie z Androidem do komputera (lub uruchom Emulator, jeśli nie masz prawdziwego urządzenia).
- W swoim IDE kliknij prawym przyciskiem myszy Uruchom jako test jednostki Android
Uruchomiony program testowy
Oprócz uruchomienia testu w IDE, możesz uruchomić test w wierszu poleceń. W tym programie testowym pakiet testowy to com.example.helloandroid.test. W terminalu Linux możesz użyć następującego polecenia, aby uruchomić wszystkie testy w tym pakiecie:
$ adb shell am instrument -w -e pakiet com.example.helloandroid.test
KROK 4) Uzyskaj wynik testu
Po wykonaniu testu otrzymasz wyniki testu.
W tym programie testowym wykonywane są 4 metody testowe. W takim przypadku wszystkie przypadki testowe są zaliczane.
Wydawanie wyniku testu w przypadku, gdy wszystkie przypadki testowe przeszły pomyślnie
W przypadku niepowodzenia przypadku testowego, dane wyjściowe są wyświetlane i pokazują, które przypadki testowe się nie powiodły
Wydawanie wyniku testu w przypadku niepowodzenia wszystkich przypadków testowych
Przykłady kodu źródłowego
Te artykuły zawierają kilka przykładów kodu źródłowego, które pomagają lepiej zrozumieć samouczek i szybko nadrobić zaległości techniczne
- HelloAndroid: testowana aplikacja.
- HelloAndroidTest: program testowy przy użyciu platformy Android Test