getting started with robotium most popular android application ui testing tool
Robotium er android Test Automation-rammen til test af native og hybrid android-applikationer . Det giver en simpel API til at skrive UI-automatiseringsskripter. Antallet af værktøjer er dog tilgængelige til test af Android-applikationer, Robotium er den mest anvendte Android testværktøj .
Robotium kan bruges til at skrive funktionelle test-, system- og brugeracceptstestsager. Robotium Test-sager kan udføres i Android-emulatoren såvel som den rigtige Android-enhed.
Yderligere læsning => Begyndervejledning til test af mobilapplikationer
Hvad du vil lære:
Kom godt i gang med Robotium
Fordele ved Robotium
- Let at skrive
- Simple API (Alle metoder er kun tilgængelige i Solo klasse)
- Automatiske forsinkelser og tidsindstillinger
- Ingen grund til at skrive kode, når du navigerer fra en aktivitet til en anden aktivitet.
- Test indfødte Android-apps såvel som hybridappen.
- Kan håndtere flere Android-aktiviteter.
- Mindre tid til at skrive tests, da API'en er enkel.
- Testcases er robuste på grund af runtime-binding til UI-komponenter
- Hurtig testsag udførelse
- Integreres let med Maven og ANT.
Forudsætninger
# 1) Download og installer JAVA
- Download Java fra denne side .
- Føj java-biblioteker til PATH, og indstil JAVA_HOME til roden til java-installationsmappen i dit miljø.
# 2) Download ADT-pakke
- Download ADT-pakken fra denne side .
- Uddrag ADT-pakke-zip og læg den i en mappe.
- Indstil ANDROID_HOME til roden til ADT-bundtmappen i dit miljø.
Oprettelse af et robotprojekt
Kun få trin kræves for at oprette et projekt,
Trin 1) Open Eclipse, indeholder din Android-applikation, der skal testes.
Trin 2) Højreklik på android-projektet -> Android-værktøjer, og klik på det nye testprojekt.
Trin # 3) Giv et navn til testprojektet, og klik på knappen Næste.
Trin # 4) Vælg applikationen under test som mål, og klik på knappen Udfør.
Trin # 5) Testprojekt oprettes i eclipse-arbejdsområdet.
Trin # 6) Download Robotium solo jar fra her .
Trin # 7) Højreklik på testprojektet i arbejdsområdet Gå til Build-stien, og klik på Configure build-sti.
Trin # 8) Skift til fanen Biblioteker, klik på 'Tilføj eksterne krukker' og gennemse den downloadede Robotium jar-fil og tilføj den til bibliotekerne, og klik på 'OK'.
Trin 9) Robotium Test-projekt er oprettet med succes. Nu kan vi oprette klasser under projektet og begynde at skrive testcases.
Oprettelse af Robotium-klasse
# 1) Højreklik på pakken under src-biblioteket i testprojektet, og opret en ny klasse.
#to) Importer hovedaktivitetsklassen Robotium-testprojektet.
Syntaks :
import com.sasi.attendanceproject.Home;
# 3) Ny klasse arver egenskaber fra ActivityInstrumentationTestCase2-klassen
public class AttendanceTest extends ActivityInstrumentationTestCase2
( Bemærk: Her er Home den aktivitet, der skal testes i Android-applikationen)
# 4) Opret Instance for Solo-klasse som nedenfor
private Solo solo;
# 5) Opret en konstruktør til testklassen som nedenfor
public AttendanceTest() { super(Home.class); // TODO Auto-generated constructor stub
# 6) Opret setUp og tearDown-metoder som nedenfor
Opsætning metoden bruges til at indlede instrumenteringen
public void setUp()throws Exception { solo=new Solo(getInstrumentation(), getActivity()); }
Rive ned metoden bruges til at lukke aktiviteten, efter at testen er afsluttet.
public void tearDown() throws Exception { solo.finishOpenedActivities(); }
Nogle robotmetoder
# 1) assertCurrentActivity (tekst, aktivitet)
Denne metode verificerer, om den aktuelle aktivitet er den aktivitet, der sendes som sendeparameter.
Syntaks
solo.assertCurrentActivity('Current Activity', Home.class);
#to) clickOnButton (tekst)
Denne metode vil klikke på knappen med den angivne tekst.
Syntaks:
solo.clickOnButton('ADMIN');
# 3) clickOnButton (int)
Denne metode vil klikke på knappen med det angivne indeks.
Syntaks:
solo.clickOnButton(2);
# 4) waitForText (tekst)
Denne metode venter, indtil teksten vises på aktiviteten.
Syntaks:
solo.waitForText('Creating New Password');
# 5) enterText (int, tekst)
Denne metode skriver teksten, der er sendt som den anden parameter til det angivne indeksredigeringsfelt.
Syntaks:
solo.enterText(0,'test');
# 6) klik på afkrydsningsfelt (int)
Denne metode klikker på afkrydsningsfeltet med det givne indeks.
Syntaks:
solo.clickOnCheckBox(0);
# 7 ) klik på OnRadioButton (int)
Denne metode klikker på radioknappen med det givne indeks.
Syntaks:
solo.clickOnRadioButton(1);
# 8) clickOnImage (int)
Denne metode klikker på billedet med det givne indeks.
Syntaks:
solo.clickOnImage(1);
# 9) clearEditText (int)
Denne metode rydder teksten i redigeringsfeltet med det givne indeks.
Syntaks:
solo.clearEditText(0);
# 10) waitForText (tekst)
Denne metode venter, indtil den givne tekst vises på aktiviteten.
Syntaks:
solo.waitForText(“Robotium”);
Eksempel på program
Placering af elementer i Android-applikation
Trin 1) Åbn formørkelse indeholdende Android-applikation, der skal testes.
Trin 2) Udvid projektet, gå til res? Layoutmappe, og dobbeltklik på aktiviteten XML-fil, du vil automatisere. Det åbner den designede aktivitet i formørkelseseditoren.
Trin # 3) Lokalisering af knapelement
- Find element efter id
Klik på det element, du vil finde. I egenskabspanelet til højre kan du finde id'et for dette element. (ignorér @ + id /)
I figuren Ovenfor er elementets element btnadmin.
Tilsvarende robotkode for at finde denne knap er,
solo.clickOnButton(R.id.btnadmin);
- Find element efter position
Hvis ID'et ikke er tilgængeligt, kan du finde elementet ved hjælp af ordren. Hvis knappen er i anden position, kan du finde knappen ved at
solo.clickOnButton(1);
- Find element efter tekst
Selv du kan klikke på knappen ved hjælp af teksten, der vises på knappen.
bedste program til at konvertere videofiler
Solo.clickOnButton(“ADMIN”);
- Lokalisering af tekstbokselement
Ved hjælp af en lignende måde skal du klikke på tekstfeltet, hvor du vil indtaste data og finde placeringen af tekstfeltet fra højre side.
Solo.enterText(0,”Anitha”); //Username textbox is in 1st position
Solo.enterText(1,”test”); //Password textbox is in 2nd position
- Find et radioknapelement
Klik på elementet Radioknap, du vil klikke og finde ud af placeringen af radioknappen.
Solo.clickOnRadioButton(1); //It will location radio button in the second position.
Prøvekode
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();}}
Udførelse af Robotium-projektet
Fra formørkelse:
Højreklik på projektet, og vælg Kør som -> Android JUnit Test
Fra kommandoprompt:
Trin 1) Cd til dit Android Test Project Directory
Trin 2) Kør følgende kommando,
adb shell am instrument -w <>/android.test.InstrumentationTestRunner
Konklusion
- Robotium er det mest anvendte Android Test-automatiseringsværktøj.
- Robotium Test-sager kan udføres på Android Emulator såvel som på den rigtige enhed. Vi behøver ikke at skrive nogen specifik konfigurationskode for at køre Robotium-testsager på den rigtige enhed.
- Robotium Kan også let skrives i Maven-projektet, og det kan køres gennem kontinuerlige integrationsværktøjer.
- Således er Robotium meget nyttigt ved skrivning af nemme / enkle Android Test-automatiseringsskripter.
Anbefalet læsning => 5 Mobile testudfordringer og løsninger
Om forfatteren: Dette er et gæstepost af Anitha Eswari. Hun arbejder i øjeblikket som senior testingeniør med mere end tre års omfattende erfaring inden for web- og mobilautomatiseringstest. Hun har god viden i forskellige automatiseringsprøvningsværktøjer, herunder mobile testværktøjer som Robotium og Appium.
I vores næste artikel vil vi diskutere mere om Selendroid vejledning.
Anbefalet læsning
- Forskel mellem Desktop, Client Server Testing og Web Testing
- Tutorial til mobil UI-test (GUI-test af iOS- og Android-apps)
- 11 bedste automatiseringsværktøjer til test af Android-applikationer (Android App-testværktøjer)
- Installation af din applikation på enheden og start test fra Eclipse
- Load Testing ved hjælp af LoadUI - Et gratis og open source Load Testing Tool
- Appium-vejledning til test af Android- og iOS-mobilapps
- GUI Testing Tutorial: A Complete User Interface (UI) Testing Guide
- Bedste softwaretestværktøjer 2021 (QA Test Automation Tools)