Robotium Samouczek: Twój pierwszy Android
Co to jest Robotium?
Robotium to platforma testowa dla systemu Android, która umożliwia automatyzację przypadków testowych dla aplikacji natywnych i hybrydowych. Robotiumprogramista może stworzyć silny, automatyczny przypadek testowy GUI dla Android Aplikacje. Ponadto programista mógł napisać scenariusz testów funkcjonalnych, systemowych i akceptacyjnych, rozpowszechniając wiele Android деятельности.
Robotium framework testowy
Standardowe Android ramy testowania mają pewne ograniczenia, jak 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 jest lepszym wyborem do przeprowadzenia testów Android aplikacja
Robotium jest frameworkiem typu open source i jest uważany za rozszerzenie Android framework testowy. Używanie Robotiumprogramista może tworzyć solidne, automatyczne przypadki testowe GUI dla Android Aplikacje. Ponadto programista może pisać scenariusze testów funkcjonalnych, systemowych i akceptacyjnych, obejmujących wiele Android деятельности.
.png)
Robotium Klasy przypadków testowych
Robotium używa zestawu klas (com.jayway.android.robotium.solo) dla testów. Ta klasa obsługuje przypadki testowe obejmujące wiele działań. Solo jest zintegrowane z ActivityInstrumentationTestCase2.
.png)
Tester może pisać przypadki testowe bez znajomości projektowania aplikacji (testowanie metodą czarnej skrzynki) za pomocą Robotium klas przypadków testowych. To wyjątkowa funkcja w porównaniu do Android klasy przypadków testowych.
Jak używać Robotium
Aby korzystać z Robotium w telefonie Android projektu testowego, wykonaj poniższe czynności
Korzystanie z Robotium przeprowadzić testy na Android aplikacja. Aby zagwarantować jakość Twojego Android aplikacji, należy postępować zgodnie z poniższą procedurą
- Specyfikacja testu projektowego
- Opracuj program testowy
- Wykonać Przypadek testowy na urządzeniu docelowym
- Zbierz wynik testu

KROK 1) Specyfikacja testu projektowego
- To pierwszy krok do przetestowania aplikacji. W tym kroku definiujesz cel do przetestowania. W Twoim Android aplikacji należy przetestować wiele celów, takich jak interfejs użytkownika, aktywność, komponenty i usługi. Jasne zdefiniowanie celu w aplikacji pomoże osiągnąć szeroki zakres testów.
- Zaplanuj rodzaje testów, które należy przeprowadzić (test jednostkowy, test funkcjonalny, test systemowy).
- Projektuj przypadki testowe pod kątem maksymalnego pokrycia, ale minimalizuj liczbę przypadków testowych. Im częściej kod jest testowany, tym większe są szanse na wczesne wykrycie błędu.
KROK 2) Napisz program TESTOWY
W tej części dowiesz się, jak napisać plik Android program testowy za pomocą Android Junita Testuj i RobotiumZałóżmy, że już opracowałeś Android nazwa programu WitamAndroid. Program ten posiada kilka funkcji opisanych poniżej:
- Wyświetl tekst „Hello world!” na ekranie.
- Wyświetl komunikat WitamAndroid gdy użytkownik naciśnie przycisk „Start”.

Wymagania systemowe
- Android platforma jest fabrycznie zintegrowana JUnit Ramy 3.0.
- W celu utworzenia Android Projekt testowy z Eclipse, na komputerze musi być zainstalowane:
- Ostatnia wersja Android Platforma (obecnie Android 8.1)
Możesz pobieranie Eclipse IDE z wbudowanym ADT (Android Narzędzia deweloperskie). Zawiera to, co niezbędne Android Komponenty SDK i wersja Eclipse IDE.
Dla Robotium ramy testowe, musisz je pobrać Robotium biblioteka z Robotium strona.
Stwórz Android Projekt testowy
- Kliknij Plik -> Nowy -> Inne
- Wybierz: Android -> Android Przetestuj projekt zgodnie z poniższym rysunkiem -> Wybierz Dalej

Wpisz nazwę swojego projektu testowego. Zgodnie z konwencją nazewnictwa projekt testowy powinien nosić nazwę „HelloAndroidTest"
.png)
Wybierz testowaną aplikację docelową. W tym przypadku jest to WitamAndroid kliknij Zakończ

Utwórz zestawy testów
W oparciu o specyfikację testu zacząłeś tworzyć zestawy testów dla swojego programu testowego. Możesz wybrać różne ramy testowe. W tym samouczku wybieram standard Android framework testowy AktywnośćInstrumentacjaTestCase2. Musisz dodać Robotium plik biblioteki do katalogu libs w folderze projektu, jeśli chcesz go przetestować Robotium framework. (Tworzysz folder lib w folderze swojego projektu).
Przypadek testowy definiuje urządzenie do uruchamiania wielu testów. Aby zdefiniować przypadek testowy, należy postępować zgodnie ze strukturą programu poniższą:
- Zaimplementuj podklasę
TestCase. - Zdefiniuj zmienne instancji, które przechowują stan urządzenia
- Zainicjuj stan urządzenia, zastępując setUp()
- Porządkowanie po teście poprzez zastąpienie metody łezDown().
.png)
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 z TestSuite tworzymy klasy TestCase
- Aby przetestować określoną aktywność, np. HelloAndroid, utwórz zakres przypadku testowego ActivityInstrumentationTestCase2Android>
- W tej klasie tester może uzyskać aktywność testową za pomocą metody getActivity().
- Możesz dowolnie utworzyć test dla działania testowego, tworząc metodę o nazwie „test + oryginalna nazwa metody”
- W metodzie testowej tester może użyć Android JUnit funkcja porównująca wartość rzeczywistą z wartością oczekiwaną. Metody te przedstawiono poniżej.
.png)
Powyższe zestawy testów potwierdziły, że 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
- Skontaktuj się Android urządzenie do komputera (lub uruchom emulator, jeśli nie masz prawdziwego urządzenia).
- W swoim IDE kliknij prawym przyciskiem myszy „Uruchom jako”.Android Test jednostkowy

Oprócz uruchamiania testu na IDE, możesz uruchomić test na wierszu poleceń. W tym programie testowym pakiet testowy to com.example.helloandroid.test . W Linux terminalu, 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 tym przypadku wszystkie przypadki testowe zostają zaliczone.
.png)
W przypadku niepowodzenia przypadku testowego wyświetlane są dane wyjściowe pokazujące, które przypadki testowe zakończyły się niepowodzeniem
.png)
Przykłady kodu źródłowego
W tym artykule znajdziesz niektóre źródła Code przykłady, które pomogą Ci lepiej zrozumieć samouczek i szybciej nadrobić zaległości techniczne
- CześćAndroid: Aplikacja w trakcie testowania .
- CześćAndroidTestowanie: Program testowy przy użyciu Android Ramy testowe

.png)