Robotium Tutorial: Your First Android Framework

Innholdsfortegnelse:

Anonim

Hva er Robotium?

Robotium er et Android-testrammeverk for å automatisere testtilfeller for native og hybridapplikasjoner. Ved hjelp av Robotium kan utvikleren lage sterke automatiske GUI-testtilfeller for Android-applikasjoner. I tillegg kan utvikleren skrive et funksjonelt, system- og aksepttestscenario som sprer mange Android-aktiviteter.

I denne veiledningen vil du lære-

  • Robotium testing rammeverk
  • Hvordan bruke Robotium
  • TRINN 1) Designtestspesifikasjon
  • TRINN 2) Skriv TEST-program
  • TRINN 3) Kjør test
  • TRINN 4) Få testresultat

Robotium testing rammeverk

Standard Android-testrammeverk har noen begrensninger som nedenfor

  • Kan ikke håndtere flere aktiviteter
  • Testutførelsen er treg
  • Testtilfeller er kompliserte og vanskelig å implementere

Robotium framework er det bedre valget for å utføre testing på Android-applikasjoner

Robotium er open source framework og regnes som en utvidelse av Android test framework. Ved hjelp av Robotium kan utvikler lage robuste automatiske GUI-testtilfeller for Android-applikasjoner. Videre kan utvikler skrive funksjonelle, system- og aksepttest-scenarier, som strekker seg over flere Android-aktiviteter.

Avanserte funksjoner i Robotium

Robotium test tilfelle klasser

Robotium bruker sett med klasser ( com.jayway.android.robotium.solo ) for testing . Denne klassen støtter testsaker som strekker seg over flere aktiviteter. Solo er integrert med ActivityInstrumentationTestCase2.

Integrasjonsrobotium og ActivityInstrumentationTestCase2

Tester kan skrive testsaker uten kunnskap om applikasjonsdesign (black box testing) ved å bruke Robotium test case-klasser. Det er en enestående funksjon sammenlignet med Android test case-klasser.

Hvordan bruke Robotium

For å bruke Robotium i Android-testprosjektet ditt, må du følge trinnene nedenfor

Bruker Robotium til å utføre testing på Android-applikasjoner. For å garantere kvaliteten på Android-applikasjonen din, bør du følge fremgangsmåten nedenfor

  1. Design test spesifikasjon
  2. Utvikle testprogram
  3. Utfør testsaken på målenheten
  4. Samle testresultat

Testprosedyre for Android-applikasjon

TRINN 1) Designtestspesifikasjon

  • Dette er det første trinnet for å teste søknaden din. I dette trinnet definerer du målet som skal testes. I Android-applikasjonen din er det mange mål som må testes, for eksempel brukergrensesnitt, aktivitet, komponenter, tjenester. Å klart definere målet i søknaden din vil bidra til å oppnå bred testdekning.
  • Planlegg testtypene skal gjennomføres (Enhetstest, Funksjonstest, Systemtest).
  • Utform testsaker for maksimal dekning, men minimer antall testsaker. Jo mer kode blir testet mer er sjansene for tidlig feiloppdagelse.

TRINN 2) Skriv TEST-program

Denne delen veileder deg hvordan du skriver et Android-testprogram ved hjelp av Android Junit Test og Robotium. Anta at du allerede har utviklet et Android-programnavn HelloAndroid. Dette programmet har noen funksjoner beskrevet nedenfor:

  • Vis teksten "Hei verden!" på skjermen.
  • Vis en melding HelloAndroid når brukeren trykker på "Start" -knappen

HelloAndroid-applikasjon

Systemkrav

  • Android-plattformen leveres med forhåndsintegrert JUnit 3.0-rammeverk.
  • For å lage Android Test Project fra Eclipse, må datamaskinen din ha installert:
    • Siste versjon Android Platform (for øyeblikket Android 8.1)

Du kan laste ned Eclipse IDE med innebygd ADT (Android Developer Tools). Den inkluderer viktige Android SDK-komponenter og en versjon av Eclipse IDE.

For Robotium-testrammeverket, må du ned Robotium-biblioteket fra Robotium-nettsiden.

Lag Android Test Project

  • Klikk på Fil -> Ny -> Annet
  • Velg: Android -> Android Test Project i henhold til figuren nedenfor -> Velg Next

Lag et nytt Android-testprosjekt

Skriv navnet på testprosjektet. Som navnekonvensjon, bør testprosjektet ditt være navnet "HelloAndroidTest"

Legg til testprosjektnavnbase på navnekonvensjonen

Velg målapplikasjon under test. I dette tilfellet er dette HelloAndroid klikk Fullfør

Velg målapplikasjon under test

Lag testsuiter

Basert på testspesifikasjonen din, begynte du å lage testsuiter for testprogrammet ditt. Du kan velge forskjellige testrammer. I denne veiledningen velger jeg standard Android-testrammeverk ActivityInstrumentationTestCase2 . Du må legge til Robotium-biblioteksfil i en libs-katalog i prosjektmappen din i tilfelle du vil teste med Robotium framework. (Du oppretter lib-mappen i prosjektmappen din).

En prøvesak definerer inventaret for å kjøre flere tester. For å definere en testtilfelle, må du følge programstrukturen nedenfor:

  • Implementere en underklasse av TestCase.
  • Definer forekomstvariabler som lagrer tilstanden til ligaen
  • Initialiser festetilstanden ved å overstyre setUp ()
  • Opprydding etter en test ved å overstyre tearDown ().

Testprogrammets struktur

pakke com.example.helloandroid.test;importer com.example.helloandroid.HelloAndroid;importere com.jayway.android.robotium.solo.Solo;importere android.test.ActivityInstrumentationTestCase2;importere android.widget.TextView;offentlig klasse HelloAndroidTest utvider ActivityInstrumentationTestCase2  {privat HelloAndroid mActivity;privat TextView mView;private String resourceString;privat solo solo;offentlig HelloAndroidTest () {// TODO Auto-generert konstruktørstubbesuper ("com.example.helloandroid", HelloAndroid.class);}@Overstyringbeskyttet tomrom setUp () kaster unntak {// TODO Auto-generert metodestub// super.setUp ();mActivity = this.getActivity ();solo = ny solo (getInstrumentation (), getActivity ());mView = (TextView) mActivity.findViewById (com.example.helloandroid.R.id.textview2);resourceString = mActivity.getString (com.example.helloandroid.R.string.hello_world);}@Overstyringbeskyttet tomrom tearDown () kaster Unntak {// TODO Auto-generert metodestub//super.tearDown ();solo.finishOpenedActivities ();}public void testPrecondition () {assertNotNull (mView);}/ * test Målapplikasjonen inneholder tekstdisplayet "Hello World!" * /offentlig ugyldig testSearchText () {assertEquals (resourceString, (String) mView.getText ());}/ * test HelloAndroid Aktivitet på målapplikasjonen eksisterer * /public void testCurrentActivity () kaster unntak {solo.assertCurrentActivity ("feil aktivitet", HelloAndroid.class);}/ * test Applikasjonsgrensesnitt inneholder "Start" -knappen * // * send hendelsesklikk for å målrette søknad * /public void testSearchButton () kaster unntak {boolsk funnet = solo.searchButton ("Start");solo.clickOnButton ("Start");assertTrue (funnet);}}

Legge til testtilfeller

  • I samme pakke med TestSuite oppretter vi TestCase-klasser
  • For å teste bestemt aktivitet, f.eks. HelloAndroid, oppretter du en testtilfelleomfang ActivityInstrumentationTestCase2
  • I denne klassen kan tester få testaktivitet gjennom getActivity () -metoden.
  • Du kan fritt opprette test for en testaktivitet ved å opprette metode med navnet "test + original Method Name"
  • I testmetoden kan tester bruke Android JUnit-funksjonen til å sammenligne den faktiske verdien og forventet verdi. Disse metodene er vist nedenfor.

Eksempel på metoder for Robotium og Android Testing framework

Disse testsuitene over bekreftet at GUI for applikasjon må vise teksten "Hello World!", Og inneholder knappnavnet "Start".

TRINN 3) Kjør test

Når du er ferdig med å skrive testprogrammet, kjører du testen ved å følge trinnene nedenfor

  • Koble Android-enheten til PCen din (eller start Emulator i tilfelle du ikke har ekte enhet).
  • I IDE, høyreklikk à Kjør som Android enhetstest

Kjører testprogram

Foruten å kjøre test på IDE, kan du kjøre test på kommandolinje. I dette testprogrammet er testpakken com.example.helloandroid.test. I Linux- terminalen kan du bruke følgende kommando for å kjøre alle testene i denne pakken:

$ adb shell am instrument -w -e pakke com.example.helloandroid.test

TRINN 4) Få testresultat

Etter at test har utført, får du testresultater.

I dette testprogrammet utføres 4 testmetoder. I dette tilfellet er alle prøvesakene bestått.

Testresultatutdata i tilfelle alle testtilfellene er bestått

I tilfelle testtilfelle mislykkes, vises utdataene og viser deg hvilke testtilfeller som mislyktes

Testresultatutgang hvis alle testtilfeller mislyktes

Eksempler på kildekoder

Disse artiklene inneholder eksempler på kildekoder som hjelper deg med å forstå opplæringen tydeligere og raskt få tak i den tekniske kunnskapen

  • HelloAndroid: Søknad under test.
  • HelloAndroidTest: Testprogram ved hjelp av Android Test framework