Robotium Poradnik: Android Framework testowy z przykładem
⚡ Inteligentne podsumowanie
Robotium jest open-source Android framework automatyzacji testów, który steruje aplikacjami natywnymi i hybrydowymi za pośrednictwem ich interfejsu użytkownika, umożliwiając testerowi tworzenie skryptów scenariuszy funkcjonalnych, systemowych i akceptacyjnych obejmujących kilka Android деятельности.
Czym jest Robotium?
Robotium jest Android framework testowy, który automatyzuje przypadki testowe dla aplikacji natywnych i hybrydowych. Używanie Robotiumprogramista może tworzyć solidne, zautomatyzowane przypadki testowe GUI dla Android aplikacji. Deweloper może również pisać scenariusze testów funkcjonalnych, systemowych i akceptacyjnych, obejmujące kilka Android деятельности.
Robotium Ramy testowe
Średnia Android Struktura testowa ma ograniczenia wymienione poniżej.
- Nie można obsłużyć wielu czynności
- Wydajność wykonywania testów jest niska
- Przypadki testowe są złożone i trudne do wdrożenia
Robotium framework jest lepszym wyborem do przeprowadzania testów na Android aplikacji.
Robotium jest frameworkiem typu open source i jest uważany za rozszerzenie Android framework testowy. Używanie Robotiumprogramista może tworzyć solidne, zautomatyzowane przypadki testowe GUI dla Android aplikacji. Co więcej, programista może pisać scenariusze testów funkcjonalnych, systemowych i akceptacyjnych obejmujące wiele Android деятельности.
Poniższa tabela podsumowuje zaawansowane funkcje, które oddzielają Robotium z prostej struktury instrumentacji.
Zaawansowane funkcje Robotium
Robotium Klasy przypadków testowych
Robotium dostarcza mały zestaw klas do testowania, a przykład artykułu importuje starsze wersje com.jayway.android.robotium.solo pakiet. Klasy te obsługują przypadki testowe obejmujące wiele działań i Solo jest zintegrowany z ActivityInstrumentationTestCase2.
Uwaga: aktualne Robotium wydania ujawniają tę samą klasę w krótszym okresie com.robotium.solo pakiet, podczas gdy współrzędne Maven pozostały com.jayway.android.robotium:robotium-solo. Dostosuj import tak, aby odpowiadał wersji pliku JAR, którą faktycznie dodajesz do projektu.
Poniższy diagram pokazuje, w jaki sposób klasa Solo jest umieszczona na wierzchu przypadku testowego instrumentacji.
Integracja Robotium i ActivityInstrumentationTestCase2
Tester może pisać przypadki testowe bez znajomości projektu aplikacji, co sprawia, że takie podejście jest formą testy czarnej skrzynkiTo jest niezwykła zaleta w porównaniu ze zwykłym Android klasy przypadków testowych.
Jak korzystać Robotium
Aby korzystać z Robotium w telefonie Android Aby przetestować projekt, należy wykonać poniższe kroki.
Jak używać Robotium
Aby zagwarantować jakość Twoich Android Aby złożyć wniosek, należy postępować zgodnie z poniższą czteroetapową procedurą.
- Zaprojektuj specyfikację testu
- Opracuj program testowy
- Wykonaj przypadek testowy na urządzeniu docelowym
- Zbierz wynik testu
Poniższy schemat blokowy przedstawia kolejność tych czterech etapów.
Android procedura testowania aplikacji
KROK 1) Specyfikacja testów projektowych
To pierwszy krok testowania aplikacji. W tym kroku definiujesz cel, który ma zostać przetestowany. Android Aplikacja ma wiele celów, które wymagają przetestowania, takich jak interfejs użytkownika, aktywności, komponenty i usługi. Jasno zdefiniowany cel pomaga uzyskać szeroki zakres testów.
- Zaplanuj typy testów, które powinny zostać przeprowadzone (test jednostkowy, test funkcjonalny, test systemowy).
- Zaprojektuj każdy walizka testowa dla maksymalnego pokrycia przy jednoczesnym zachowaniuping Liczba przypadków testowych jest niewielka. Im więcej kodu testujesz, tym większa szansa na wczesne wykrycie błędów.
KROK 2) Napisz program testowy
W tej sekcji znajdziesz wskazówki dotyczące pisania Android program testowy za pomocą Android JUnit testy i RobotiumZałóżmy, że już opracowałeś Android program o nazwie HelloAndroid. Program ten posiada funkcje opisane poniżej.
- Wyświetl na ekranie tekst „Witaj, świecie!”.
- Wyświetl powitanieAndroid wiadomość wyświetlana po naciśnięciu przez użytkownika przycisku „Start”.
Zrzut ekranu poniżej przedstawia testowaną aplikację działającą na urządzeniu.
CześćAndroid aplikacja
Wymagania systemowe
- Android platforma jest dostarczana z wstępnie zintegrowanym JUnit 3 ramy, czyli co to jest
ActivityInstrumentationTestCase2buduje na. - Aby utworzyć Android projekt testowy z EclipseTwoja maszyna potrzebuje sprawnego działania Android Instalacja zestawu SDK.
- Zainstaluj aktualną wersję Android platformy SDK, a nie przypiętej starszej wersji.
Zrzuty ekranu w tym przewodniku wykorzystują Eclipse za pomocą wtyczki ADT, która była standardowym zestawem narzędzi, gdy przykład został napisany. Eclipse ADT nie jest już obsługiwany, więc na nowoczesnym komputerze trzeba by było pobieranie Android Studio zamiast tego ponownie użyj tego samego kodu testowego w Gradle moduł.
Dla Robotium framework testowy, pobierz Robotium biblioteka z Robotium strona projektu.
Tworzenie Android Projekt testowy
- Kliknij Plik -> Nowy -> Inne
- Dodaj Android -> Android Przetestuj projekt, jak pokazano na poniższym rysunku, a następnie wybierz Dalej
Stwórz nowy Android projekt testowy
Wpisz nazwę swojego projektu testowego. Zgodnie z konwencją nazewnictwa, projekt testowy powinien nazywać się „Hello”AndroidTest".
Dodaj nazwę projektu testowego zgodnie z konwencją nazewnictwa
Wybierz aplikację docelową do testowania. W tym przypadku jest to HelloAndroid, a następnie kliknij Zakończ.
Wybierz aplikację docelową do testowania
Utwórz zestawy testów
Na podstawie specyfikacji testów tworzysz teraz zestawy testów dla swojego programu testowego. Możesz wybierać spośród różnych Testowanie oprogramowania frameworki. W tym samouczku wykorzystano standardowe Android framework testowy ActivityInstrumentationTestCase2. Do testowania z Robotium, Dodaj Robotium plik biblioteki do libs katalog wewnątrz folderu Twojego projektu.
Przypadek testowy definiuje konfigurację używaną do uruchamiania wielu testów. Aby zdefiniować przypadek testowy, postępuj zgodnie ze strukturą programu poniżej.
- Zaimplementuj podklasę TestCase.
- Zdefiniuj zmienne instancji, które przechowują stan urządzenia.
- Zainicjuj stan urządzenia, nadpisując setUp().
- Posprzątaj po teście, nadpisując tearDown().
Poniższy diagram przedstawia tę strukturę w programie testowym, który zamierzasz napisać.
Struktura programu testowego
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); } }
Dodawanie przypadków testowych
- W tym samym pakiecie, w którym znajduje się zestaw testów, utwórz klasy TestCase.
- Aby przetestować określoną aktywność, np. CześćAndroid, utwórz przypadek testowy rozszerzający ActivityInstrumentationTestCase2Android>.
- W tej klasie tester uzyskuje testowaną aktywność za pomocą metody getActivity().
- Utwórz test dla danej aktywności, dodając metodę o nazwie „test + oryginalna nazwa metody”.
- W ramach metody testowej tester może użyć Android JUnit Funkcje porównujące wartość rzeczywistą z wartością oczekiwaną. Metody te przedstawiono poniżej.
Poniższa tabela przedstawia najczęściej stosowane w obu ramach metody asercji i interakcji.
Przykładowe metody Robotium i Android framework testowy
Powyższy zestaw testów sprawdza, czy interfejs graficzny aplikacji wyświetla tekst „Hello World!” i zawiera przycisk o nazwie „Start”.
KROK 3) Uruchom test
Po zakończeniu pisania programu testowego uruchom test, postępując zgodnie z poniższymi krokami.
- Połącz Android podłącz urządzenie do komputera lub uruchom emulator, jeśli nie masz dostępu do żadnego rzeczywistego urządzenia.
- W środowisku IDE kliknij prawym przyciskiem myszy projekt testowy i wybierz opcję Uruchom jako → Android Test jednostkowy.
Zrzut ekranu poniżej przedstawia uruchomienie testu z poziomu IDE.
Uruchamianie programu testowego
Oprócz uruchomienia testu z poziomu IDE, można go uruchomić z wiersza poleceń. W tym programie testowym pakiet testowy to com.example.helloandroid.testW terminalu Linux użyj następującego polecenia, aby uruchomić każdy test w danym pakiecie.
$ adb shell am instrument -w -e package com.example.helloandroid.test
KROK 4) Uzyskaj wynik testu
Po wykonaniu testu należy zebrać jego wyniki.
W tym programie testowym wykonywane są cztery metody testowe. W poniższym przebiegu wszystkie przypadki testowe zakończyły się sukcesem.
Wynik testu, gdy wszystkie przypadki testowe zostaną zaliczone
Jeśli przypadek testowy się nie powiedzie, wyświetlone zostaną dane wyjściowe wskazujące, które przypadki testowe zakończyły się niepowodzeniem.
Wynik testu w przypadku niepowodzenia przypadku testowego
Źródło Code Przykłady
W tym artykule zamieszczono przykłady kodu źródłowego, które pomogą Ci lepiej zrozumieć samouczek i szybciej przyswoić szczegóły techniczne.
- CześćAndroid:aplikacja podlegająca testowi.
- CześćAndroidTestowanie:program testowy wykorzystujący Android struktura testowa.
Jeśli chcesz porównać Robotium z innymi opcjami w tej przestrzeni, zobacz testowanie aplikacji mobilnych przewodnik, ten Appium Tutorial i podsumowanie narzędzia do testowania aplikacji mobilnych.

.png)
.png)
.png)



.png)

.png)
.png)

.png)
.png)