getting started with robotium most popular android application ui testing tool
Robotium to platforma Android Test Automation do testowania natywnych i hybrydowych aplikacji Android . Zapewnia prosty interfejs API do pisania skryptów automatyzacji interfejsu użytkownika. Jednak z wielu dostępnych narzędzi do testowania aplikacji na Androida, najczęściej używanym jest Robotium Narzędzie do testowania Androida .
Robotium może służyć do pisania testów funkcjonalnych, systemowych i akceptacyjnych dla użytkowników. Przypadki testowe Robotium można wykonywać zarówno w emulatorze Androida, jak i na prawdziwym urządzeniu z Androidem.
Dalsza lektura => Przewodnik dla początkujących po testowaniu aplikacji mobilnych
Czego się nauczysz:
Pierwsze kroki z Robotium
Korzyści z Robotium
- Łatwe do napisania
- Proste API (wszystkie metody są dostępne tylko w klasie solo)
- Automatyczne opóźnienia i czasy
- Nie ma potrzeby pisania kodu podczas przechodzenia od jednej czynności do drugiej.
- Przetestuj natywne aplikacje na Androida, a także aplikację hybrydową.
- Potrafi obsługiwać wiele działań w systemie Android.
- Mniej czasu na pisanie testów, ponieważ API jest proste.
- Przypadki testowe są solidne ze względu na powiązanie środowiska uruchomieniowego z komponentami interfejsu użytkownika
- Szybkie wykonanie testu.
- Łatwo integruje się z Maven i ANT.
Wymagania wstępne
# 1) Pobierz i zainstaluj JAVA
- Pobierz Javę z ta strona .
- Dodaj biblioteki java do PATH i ustaw JAVA_HOME na katalog główny katalogu instalacyjnego java w swoim środowisku.
# 2) Pobierz pakiet ADT
- Pobierz pakiet ADT z ta strona .
- Wyodrębnij plik zip pakietu ADT i umieść go w folderze.
- Ustaw ANDROID_HOME na katalog główny folderu pakietu ADT w swoim środowisku.
Tworzenie projektu Robotium
Tylko kilka kroków do stworzenia projektu,
Krok 1) Open Eclipse zawiera aplikację na Androida do przetestowania.
Krok 2) Kliknij prawym przyciskiem myszy projekt androida -> Narzędzia Android i kliknij nowy projekt testowy.
Krok 3) Podaj nazwę projektu testowego i kliknij przycisk Dalej.
Krok 4) Wybierz testowaną aplikację jako cel i kliknij przycisk Zakończ.
Krok 5) Projekt testowy zostanie utworzony w obszarze roboczym eclipse.
Krok 6) Pobierz słoik solo Robotium z tutaj .
Krok 7) Kliknij prawym przyciskiem myszy projekt testowy w obszarze roboczym Przejdź do ścieżki kompilacji i kliknij opcję Konfiguruj ścieżkę kompilacji.
Krok 8) Przejdź do zakładki Biblioteki, kliknij opcję „Dodaj zewnętrzne słoiki” i przejrzyj pobrany plik jar Robotium, dodaj go do bibliotek i kliknij „OK”.
Krok 9) Projekt Robotium Test został pomyślnie utworzony. Teraz możemy stworzyć klasy w ramach projektu i zacząć pisać przypadki testowe.
Tworzenie klasy Robotium
# 1) Kliknij prawym przyciskiem myszy pakiet w katalogu src w projekcie testowym i utwórz nową klasę.
#dwa) Zaimportuj główną klasę działania do projektu testowego Robotium.
Składnia :
import com.sasi.attendanceproject.Home;
# 3) Nowa klasa będzie dziedziczyć właściwości z klasy ActivityInstrumentationTestCase2
public class AttendanceTest extends ActivityInstrumentationTestCase2
( Uwaga: Tutaj Home to aktywność do przetestowania w aplikacji na Androida)
# 4) Utwórz instancję dla klasy Solo, jak poniżej
private Solo solo;
# 5) Utwórz konstruktora dla klasy Test, jak poniżej
public AttendanceTest() { super(Home.class); // TODO Auto-generated constructor stub
# 6) Utwórz metody setUp i tearDown, jak poniżej
Ustawiać Metoda służy do inicjowania oprzyrządowania
public void setUp()throws Exception { solo=new Solo(getInstrumentation(), getActivity()); }
Zburzyć metoda służy do zamknięcia czynności po zakończeniu testu.
public void tearDown() throws Exception { solo.finishOpenedActivities(); }
Niektóre metody robotów
# 1) assertCurrentActivity (tekst, aktywność)
Ta metoda sprawdza, czy bieżące działanie jest działaniem przekazanym jako parametr wysyłania.
Składnia
solo.assertCurrentActivity('Current Activity', Home.class);
#dwa) clickOnButton (tekst)
Ta metoda spowoduje kliknięcie przycisku z określonym tekstem.
Składnia:
solo.clickOnButton('ADMIN');
# 3) clickOnButton (liczba wewnętrzna)
Ta metoda spowoduje kliknięcie przycisku z określonym indeksem.
Składnia:
solo.clickOnButton(2);
# 4) waitForText (tekst)
Ta metoda będzie czekać, aż tekst pojawi się w działaniu.
Składnia:
solo.waitForText('Creating New Password');
# 5) enterText (int, tekst)
Ta metoda spowoduje wpisanie tekstu przekazanego jako drugi parametr do określonego pola edycji indeksu.
Składnia:
solo.enterText(0,'test');
# 6) clickOnCheckbox (int)
Ta metoda kliknie pole wyboru z podanym indeksem.
Składnia:
solo.clickOnCheckBox(0);
# 7 ) clickOnRadioButton (liczba wewnętrzna)
Ta metoda kliknie przycisk radiowy z podanym indeksem.
Składnia:
solo.clickOnRadioButton(1);
# 8) clickOnImage (liczba wewnętrzna)
Ta metoda kliknie obraz z podanym indeksem.
Składnia:
solo.clickOnImage(1);
# 9) clearEditText (int)
Ta metoda wyczyści tekst w polu edycji z podanym indeksem.
Składnia:
solo.clearEditText(0);
# 10) waitForText (tekst)
Ta metoda będzie czekać, aż podany tekst pojawi się w działaniu.
Składnia:
solo.waitForText(“Robotium”);
Przykładowy program
Lokalizowanie elementów w aplikacji na Androida
Krok 1) Otwórz Eclipse zawierający aplikację na Androida do przetestowania.
Krok 2) Rozwiń projekt, przejdź do res? Folder z układami i dwukrotnie kliknij plik XML z działaniami, który chcesz zautomatyzować. Otworzy zaprojektowane działanie w edytorze zaćmień.
Krok 3) Lokalizowanie elementu przycisku
- Lokalizowanie elementu według identyfikatora
Kliknij element, który chcesz zlokalizować. W panelu właściwości po prawej stronie znajdziesz identyfikator tego elementu. (ignoruj @ + id /)
Na powyższym rysunku identyfikator elementu to btnadmin.
Odpowiedni kod Robotium do zlokalizowania tego przycisku to:
solo.clickOnButton(R.id.btnadmin);
- Lokalizowanie elementu według pozycji
W przypadku, gdy identyfikator nie jest dostępny, możesz zlokalizować element za pomocą zamówienia. Jeśli przycisk znajduje się na drugiej pozycji, możesz zlokalizować przycisk,
jaka jest najlepsza firma zajmująca się grami
solo.clickOnButton(1);
- Lokalizowanie elementu według tekstu
Możesz nawet kliknąć przycisk, używając tekstu wyświetlanego na przycisku.
Solo.clickOnButton(“ADMIN”);
- Lokalizowanie elementu pola tekstowego
W podobny sposób kliknij pole tekstowe, w którym chcesz wprowadzić dane, i znajdź położenie pola tekstowego z prawej strony.
Solo.enterText(0,”Anitha”); //Username textbox is in 1st position
Solo.enterText(1,”test”); //Password textbox is in 2nd position
- Lokalizowanie elementu przycisku opcji
Kliknij element przycisku opcji, który chcesz kliknąć i sprawdź położenie przycisku opcji.
Solo.clickOnRadioButton(1); //It will location radio button in the second position.
Przykładowy kod
package com.sasi.attendanceproject.test; import android.test.ActivityInstrumentationTestCase2; import android.widget.EditText; import com.robotium.solo.By; import com.robotium.solo.Solo; import com.robotium.solo.WebElement; import com.sasi.attendanceproject.Home; public class AttendanceTest extends ActivityInstrumentationTestCase2{ private Solo solo; public AttendanceTest() { super('com.sasi.attendanceproject.Home',Home.class); // TODO Auto-generated constructor stub } public void setUp()throws Exception{ solo=new Solo(getInstrumentation(),getActivity()); } public void testAttendance()throws Exception{ //solo.assertCurrentActivity('Current Activity', Home.class); solo.waitForWebElement(By.id('btnadmin')); solo.clickOnButton('ADMIN'); solo.clickOnButton(0); solo.waitForText('Creating New Password'); solo.enterText(0, 'test'); solo.enterText(1, 'test'); solo.clickOnButton('Okay'); solo.waitForText('Attendance Login'); solo.enterText(0, 'Anitha'); solo.enterText(1, 'test'); solo.clickOnButton('Login'); solo.waitForWebElement(By.id('btnaddnew')); solo.clickOnButton('Add New Details'); solo.waitForText('Enter the Employee Details'); solo.enterText(0, 'Anitha'); solo.enterText(1, '6'); solo.enterText(2, 'Testing Engineer'); solo.clickOnRadioButton(1); solo.clickOnButton('Okay'); solo.waitForWebElement(By.id('tvempID')); System.out.println(solo.getText(0)); } public void tearDown()throws Exception{ solo.finishOpenedActivities();}}
Wykonanie projektu Robotium
Z Eclipse:
Kliknij projekt prawym przyciskiem myszy i wybierz Uruchom jako -> Test JUnit systemu Android
Z wiersza polecenia:
Krok 1) CD do katalogu projektów testów systemu Android
Krok 2) Uruchom następujące polecenie,
adb shell am instrument -w <>/android.test.InstrumentationTestRunner
Wniosek
- Robotium to najczęściej używane narzędzie do automatyzacji testów na Androida.
- Przypadki testowe Robotium mogą być wykonywane zarówno na emulatorze Androida, jak i urządzeniu Real, nie musimy pisać żadnego konkretnego kodu konfiguracyjnego, aby uruchomić przypadki testowe Robotium na urządzeniu Real.
- Robotium można łatwo napisać również w projekcie Maven i można go uruchomić za pomocą narzędzi ciągłej integracji.
- Dlatego Robotium jest bardzo przydatne w pisaniu łatwych / prostych skryptów automatyzacji testów na Androida.
Rekomendowane lektury => 5 wyzwań i rozwiązań w testowaniu mobilnym
O autorze: To jest post gościnny autorstwa Anithy Eswari. Obecnie pracuje jako starszy inżynier ds. Testów z ponad trzyletnim doświadczeniem w testowaniu automatyzacji sieci i urządzeń mobilnych. Ma solidną wiedzę na temat różnych narzędzi do testowania automatyzacji, w tym mobilnych narzędzi testowych, takich jak Robotium i Appium.
W następnym artykule omówimy więcej Samouczek Selendroid.
rekomendowane lektury
- Różnica między testami na komputerach stacjonarnych, serwerach klienckich i testach internetowych
- Samouczek testowania mobilnego interfejsu użytkownika (testowanie GUI aplikacji iOS i Android)
- 11 najlepszych narzędzi automatyzacji do testowania aplikacji na Androida (narzędzia do testowania aplikacji na Androida)
- Instalowanie aplikacji na urządzeniu i rozpoczęcie testowania z Eclipse
- Testowanie obciążenia za pomocą LoadUI - bezpłatnego i otwartego narzędzia do testowania obciążenia
- Samouczek Appium do testowania aplikacji mobilnych na Androida i iOS
- Samouczek testowania GUI: kompletny przewodnik testowania interfejsu użytkownika (UI)
- Najlepsze narzędzia do testowania oprogramowania 2021 (Narzędzia do automatyzacji testów QA)