Samouczek dotyczący Robotium: Twoja pierwsza platforma Android

Spisie treści:

Anonim

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ści

Wykorzystanie Robotium do przeprowadzenia testów aplikacji Android. Aby zagwarantować jakość swojej aplikacji na Androida, postępuj zgodnie z poniższą procedurą

  1. Zaprojektuj specyfikację testów
  2. Opracuj program testów
  3. Wykonaj przypadek testowy na urządzeniu docelowym
  4. 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