Samouczek Robotium: Twój pierwszy Android

Co to jest Robotium?

Robotium to framework testowy Androida do automatyzacji przypadków testowych dla aplikacji natywnych i hybrydowych. Używając Robotium, programista może tworzyć silne automatyczne przypadki testowe GUI dla Android Aplikacje. Ponadto programista mógł napisać scenariusz testów funkcjonalnych, systemowych i akceptacyjnych, rozpowszechniając wiele Android деятельности.

Ramy testowania robotów

Standardowa 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

Robot jest lepszym wyborem do przeprowadzenia testów Android aplikacja

Robotium jest platformą open source i jest uważane za rozszerzenie Android ramy testowe. Korzystając z Robotium, programista 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 деятельности.

Zaawansowane funkcje Robotium
Zaawansowane funkcje Robotium

Klasy przypadków testowych Robotium

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.

Klasy przypadków testowych Robotium
Integracja Robotium i ActivityInstrumentationTestCase2

Tester może pisać przypadki testowe bez znajomości projektowania aplikacji (testowanie black box) za pomocą klas przypadków testowych Robotium. Jest to wyjątkowa funkcja w porównaniu do Android klasy przypadków testowych.

Jak korzystać z Robotium

Aby używać Robotium w swoim Android projektu testowego, wykonaj poniższe czynności

Użyj Robotium

Wykorzystanie Robotium do przeprowadzenia testów Android aplikacja. Aby zagwarantować jakość Twojego Android aplikacji, należy postępować zgodnie z poniższą procedurą

  1. Specyfikacja testu projektowego
  2. Opracuj program testowy
  3. Wykonać Przypadek testowy na urządzeniu docelowym
  4. Zbierz wynik testu
Android aplikacja
Android Procedura testowania aplikacji Testowanie procedura

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 Test i Robot. Załóż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”.
CześćAndroid Zastosowanie
CześćAndroid Zastosowanie

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.

Aby uzyskać środowisko testowe Robotium, musisz pobrać bibliotekę Robotium z strona Robotium.

Stwórz Android Projekt testowy

  • Kliknij Plik -> Nowy -> Inne
  • Wybierz: Android -> Android Przetestuj projekt zgodnie z poniższym rysunkiem -> Wybierz Dalej
Utwórz nowy Android projekt testowy
Utwórz nowy Android Projekt testowy

Wpisz nazwę swojego projektu testowego. Zgodnie z konwencją nazewnictwa projekt testowy powinien nosić nazwę „HelloAndroidTest"

Dodaj nazwę projektu testowego na podstawie konwencji nazewnictwa
Dodaj bazę nazw projektu testowego zgodnie z konwencją nazewnictwa

Wybierz testowaną aplikację docelową. W tym przypadku jest to WitamAndroid kliknij Zakończ

Dodaj Target Aplikacja w trakcie testów
Wybierz testowaną aplikację docelową

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ć plik biblioteki Robotium do katalogu libs w folderze projektu, na wypadek gdybyś chciał przetestować framework Robotium. (Tworzysz folder lib w folderze 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().
Struktura programu testowego
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 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.
Przykładowe metody Robotium i Android Ramy testowe
Przykładowe metody Robotium i Android Ramy testowe

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
Uruchamianie programu testowego
Uruchamianie programu testowego

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.

Wynik testu w przypadku pozytywnego wyniku wszystkich przypadków testowych
Wynik testu w przypadku pozytywnego wyniku wszystkich przypadków testowych

W przypadku niepowodzenia przypadku testowego wyświetlane są dane wyjściowe pokazujące, które przypadki testowe zakończyły się niepowodzeniem

Wynik testu w przypadku niepowodzenia wszystkich przypadków testowych
Wynik testu w przypadku niepowodzenia wszystkich przypadków testowych

Przykłady kodu źródłowego

Artykuły te zawierają kilka przykładów kodu źródłowego, które pomogą Ci lepiej zrozumieć samouczek i szybciej nadrobić wiedzę techniczną