Robotium Opplæringen: Android Testrammeverk med eksempel
⚡ Smart oppsummering
Robotium er en åpen kildekode Android testautomatiseringsrammeverk som driver native og hybride apper gjennom brukergrensesnittet, slik at et testerskript kan fungere, system- og akseptscenarier som spenner over flere Android aktiviteter.
Hva er Robotium?
Robotium er en Android testrammeverk som automatiserer testtilfeller for native og hybride applikasjoner. Bruk Robotium, kan en utvikler lage robuste automatiserte GUI-testtilfeller for Android applikasjoner. En utvikler kan også skrive funksjonelle, system- og aksepttestscenarier som strekker seg over flere Android aktiviteter.
Robotium Testramme
Standard Android Testrammeverket har begrensningene som er oppført nedenfor.
- Kan ikke håndtere flere aktiviteter
- Testkjøringsytelsen er treg
- Testtilfeller er komplekse og vanskelige å implementere
Ocuco Robotium rammeverket er det bedre valget for å utføre testing på en Android søknad.
Robotium er et rammeverk med åpen kildekode og regnes som en utvidelse av Android testrammeverk. Bruker Robotium, kan en utvikler lage robuste automatiserte GUI-testtilfeller for Android applikasjoner. Dessuten kan en utvikler skrive funksjonelle, system- og aksepttestscenarier som strekker seg over flere Android aktiviteter.
Tabellen nedenfor oppsummerer de avanserte funksjonene som skiller Robotium fra det enkle instrumenteringsrammeverket.
Avanserte funksjoner i Robotium
Robotium Test Case-klasser
Robotium sender et lite sett med klasser for testing, og artikkelens eksempel importerer de eldre com.jayway.android.robotium.solo pakke. Disse klassene støtter testtilfeller som strekker seg over flere aktiviteter, og Solo er integrert med ActivityInstrumentationTestCase2.
OBS: nåværende Robotium utgivelser eksponerer den samme klassen under den kortere com.robotium.solo pakke, mens Maven-koordinaten ble værende com.jayway.android.robotium:robotium-soloJuster importen slik at den samsvarer med JAR-versjonen du faktisk legger til i prosjektet.
Diagrammet nedenfor viser hvordan Solo-klassen plasseres oppå instrumenttesttilfellet.
Integrasjon av Robotium og AktivitetsinstrumenteringTestCase2
En tester kan skrive testtilfeller uten kjennskap til applikasjonsdesign, noe som gjør tilnærmingen til en form for svart boks testingDet er en enestående fordel sammenlignet med vanlig Android test case klasser.
Hvordan bruke Robotium
Å bruke Robotium i Android testprosjektet, må du følge trinnene nedenfor.
Bruksanvisning Robotium
For å garantere kvaliteten på din Android søknaden, følg firetrinnsprosedyren nedenfor.
- Utform testspesifikasjonen
- Utvikle testprogrammet
- Kjør testtilfellet på målenheten
- Samle inn testresultatet
Flytskjemaet nedenfor plasserer de fire trinnene i rekkefølge.
Android prosedyre for applikasjonstesting
TRINN 1) Spesifikasjon for designtest
Dette er det første trinnet i testing av applikasjonen din. I dette trinnet definerer du målet som skal testes. Android Applikasjonen har mange mål som må testes, for eksempel brukergrensesnitt, aktiviteter, komponenter og tjenester. Å definere målet tydelig hjelper deg med å oppnå bred testdekning.
- Planlegg testtypene som skal utføres (enhetstest, funksjonstest, systemtest).
- Design hver testforsøk for maksimal dekning mens du holderping antallet testtilfeller er lite. Jo mer kode du tester, desto større er sjansen for tidlig feildeteksjon.
TRINN 2) Skriv testprogram
Denne delen veileder deg gjennom å skrive en Android testprogram ved hjelp av Android JUnit tester og RobotiumAnta at du allerede har utviklet en Android program som heter HalloAndroidDette programmet har funksjonene som er beskrevet nedenfor.
- Vis teksten «Hallo verden!» på skjermen.
- Vis en heiAndroid melding når brukeren trykker på «Start»-knappen.
Skjermbildet nedenfor viser applikasjonen under test som kjører på en enhet.
HalloAndroid søknad
Systemkrav
- Ocuco Android plattformen leveres med en forhåndsintegrert JUnit 3 rammeverk, som er hva
ActivityInstrumentationTestCase2bygger på. - Å lage en Android testprosjekt fra Eclipse, maskinen din trenger en fungerende Android SDK-installasjon.
- Installer den nåværende Android plattform-SDK i stedet for en festet eldre utgivelse.
Skjermbildene i denne gjennomgangen bruker Eclipse med ADT-pluginen, som var standard verktøykjede da eksemplet ble skrevet. Eclipse ADT støttes ikke lenger, så på en moderne maskin ville du gjort det nedlasting Android Studio i stedet og gjenbruk den samme testkoden inne i en Gradle modul.
For det Robotium testrammeverk, last ned Robotium biblioteket fra Robotium Prosjektet siden.
Lag en Android Testprosjekt
- Klikk Fil -> Ny -> Annet
- Velg Android -> Android Testprosjektet som vist i figuren nedenfor, og velg deretter Neste
Lage en ny Android testprosjekt
Skriv navnet på testprosjektet ditt. I henhold til navnekonvensjonen skal testprosjektet hete «HalloAndroidTest".
Legg til testprosjektnavnet basert på navnekonvensjonen
Velg målapplikasjonen som testes. I dette tilfellet er det HalloAndroid, og klikk deretter på Fullfør.
Velg målapplikasjonen som testes
Opprett testsuiter
Basert på testspesifikasjonen din, oppretter du nå testpakker for testprogrammet ditt. Du kan velge mellom forskjellige programvaretesting rammeverk. Denne veiledningen bruker standarden Android testramme ActivityInstrumentationTestCase2Å teste med Robotium, Legg til Robotium bibliotekfil til en libs katalogen i prosjektmappen din.
Et testtilfelle definerer fixturen som brukes til å kjøre flere tester. For å definere et testtilfelle, følg programstrukturen nedenfor.
- Implementer en underklasse av TestCase.
- Definer instansvariabler som lagrer tilstanden til fixturen.
- Initialiser fiksturens tilstand ved å overstyre setUp().
- Rydd opp etter en test ved å overstyre tearDown().
Diagrammet nedenfor kartlegger den strukturen på testprogrammet du skal skrive.
Strukturen til testprogrammet
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); } }
Legger til testtilfeller
- Opprett TestCase-klassene i samme pakke som testsuiten.
- For å teste en bestemt aktivitet, for eksempel HalloAndroid, opprett en testcase som utvider ActivityInstrumentationTestCase2Android>.
- Inne i den klassen henter testeren aktiviteten som testes gjennom getActivity()-metoden.
- Lag en test for aktiviteten fritt ved å legge til en metode kalt «test + originalt metodenavn».
- Inne i testmetoden kan testeren bruke Android JUnit funksjoner for å sammenligne den faktiske verdien med den forventede verdien. Disse metodene vises nedenfor.
Tabellen nedenfor viser de mest brukte påstands- og interaksjonsmetodene i de to rammeverkene.
Eksempelmetoder for Robotium og Android testramme
Testpakken ovenfor bekrefter at programmets grafiske brukergrensesnitt viser teksten «Hello World!» og inneholder en knapp som heter «Start».
TRINN 3) Kjør test
Når du er ferdig med å skrive testprogrammet, kjører du testen ved å følge trinnene nedenfor.
- Koble en Android enheten til PC-en, eller start en emulator hvis ingen ekte enhet er tilgjengelig.
- I IDE-en din, høyreklikk på testprosjektet og velg Kjør som → Android Enhetstest.
Skjermbildet nedenfor viser testkjøringen som startes fra IDE-en.
Kjører testprogrammet
I tillegg til å kjøre testen fra IDE-en, kan du kjøre den fra kommandolinjen. I dette testprogrammet er testpakken com.example.helloandroid.testI en Linux-terminal bruker du følgende kommando for å kjøre alle tester i den pakken.
$ adb shell am instrument -w -e package com.example.helloandroid.test
TRINN 4) Få testresultatet
Etter at testen er utført, samler du inn testresultatene.
I dette testprogrammet utføres fire testmetoder. I kjøringen nedenfor ble alle testtilfellene bestått.
Testresultat ut når alle testtilfeller er bestått
Hvis en testtilfelle mislykkes, vises resultatet og viser hvilke testtilfeller som mislyktes.
Testresultatutgang når en testtilfelle mislykkes
Kilde Code Eksempler
Denne artikkelen inneholder eksempler på kildekode som hjelper deg med å følge veiledningen tydeligere og raskt lære deg de tekniske detaljene.
- HalloAndroid: applikasjonen som testes.
- HalloAndroidTest: testprogrammet som bruker Android testrammeverk.
Hvis du vil sammenligne Robotium med de andre alternativene i dette rommet, se testing av mobilapplikasjoner guiden, den Appium tutorial og oppsummeringen av testverktøy for mobilapper.

.png)
.png)
.png)



.png)

.png)
.png)

.png)
.png)