Robotium-tutorial: Din første Android-ramme

Indholdsfortegnelse:

Anonim

Hvad er Robotium?

Robotium er en Android-testramme til automatisering af testcases til native og hybrid applikationer. Ved hjælp af Robotium kan udvikleren oprette stærk automatisk GUI-testcase til Android-applikationer. Derudover kunne udvikleren skrive et funktionelt, system- og accepttestscenarie, der spredte mange Android-aktiviteter.

I denne vejledning lærer du-

  • Robotium-testramme
  • Sådan bruges Robotium
  • TRIN 1) Design testspecifikation
  • TRIN 2) Skriv TEST-program
  • TRIN 3) Kør test
  • TRIN 4) Få testresultat

Robotium-testramme

Standard Android-testramme har en vis begrænsning som nedenfor

  • Kan ikke håndtere flere aktiviteter
  • Testudførelsespræstationen er langsom
  • Testcases er komplekse og svære at implementere

Robotium framework er det bedre valg til at udføre test på Android-applikationer

Robotium er open source framework og betragtes som en udvidelse af Android test framework. Ved hjælp af Robotium kan udvikleren oprette robuste automatiske GUI-testcases til Android-applikationer. Desuden kan udvikleren skrive funktionelle, system- og accept testscenarier, der spænder over flere Android-aktiviteter.

Advance funktioner i Robotium

Robotium test tilfælde klasser

Robotium bruger sæt klasser ( com.jayway.android.robotium.solo ) til test . Denne klasse understøtter testsager, der spænder over flere aktiviteter. Solo er integreret med ActivityInstrumentationTestCase2.

Integrationsrobotium og ActivityInstrumentationTestCase2

Tester kan skrive testsager uden kendskab til applikationsdesign (test af sort boks) ved hjælp af Robotium test case klasser. Det er en enestående funktion sammenlignet med Android test case klasser.

Sådan bruges Robotium

For at bruge Robotium i dit Android-testprojekt skal du følge nedenstående trin

Brug af Robotium til at udføre test på Android-applikationer. For at garantere kvaliteten af ​​din Android-applikation skal du følge nedenstående procedure

  1. Specifikation af designtest
  2. Udvikle testprogram
  3. Udfør test sag på målenheden
  4. Indsaml testresultatet

Test af Android-applikation

TRIN 1) Design testspecifikation

  • Dette er det første trin til at teste din applikation. I dette trin definerer du det mål, der skal testes. I din Android-applikation er der mange mål, der skal testes, såsom UI, Aktivitet, komponenter, tjenester. Det er klart at definere målet i din ansøgning, hvilket hjælper med at opnå bred testdækning.
  • Planlæg, at testtyperne skal udføres (Enhedstest, Funktionstest, Systemtest).
  • Design testcases for maksimal dækning, men minimer antallet af testcases. Jo mere kode testes, mere er chancerne for tidlig bugsporing.

TRIN 2) Skriv TEST-program

Dette afsnit guider dig, hvordan du skriver et Android-testprogram ved hjælp af Android Junit Test og Robotium. Antag, at du allerede har udviklet et Android-programnavn HelloAndroid. Dette program har nogle funktioner beskrevet nedenfor:

  • Vis teksten "Hej verden!" på skærmen.
  • Vis en besked HelloAndroid, når brugeren trykker på "Start" -knappen

HelloAndroid-applikation

Systemkrav

  • Android-platformen leveres med præintegreret JUnit 3.0-ramme.
  • For at oprette Android Test Project fra Eclipse skal din computer have installeret:
    • Seneste version Android Platform (i øjeblikket Android 8.1)

Du kan downloade Eclipse IDE med indbygget ADT (Android Developer Tools). Det inkluderer de essentielle Android SDK-komponenter og en version af Eclipse IDE.

For Robotium-testrammen skal du ned Robotium-biblioteket fra Robotium-websiden.

Opret Android Test Project

  • Klik på Filer -> Ny -> Andet
  • Vælg: Android -> Android Test Project i henhold til nedenstående figur -> Vælg Next

Opret nyt Android-testprojekt

Skriv navnet på dit testprojekt. Som navngivningskonvention skal dit testprojekt være navnet "HelloAndroidTest"

Tilføj testprojektnavne base på navngivningskonvention

Vælg målapplikation under test. I dette tilfælde er dette HelloAndroid klik på Udfør

Vælg målapplikation under test

Opret testsuiter

Baseret på din testspecifikation begyndte du at oprette testpakker til dit testprogram. Du kan vælge forskellige testrammer. I denne vejledning vælger jeg standard Android-testramme ActivityInstrumentationTestCase2 . Du skal tilføje Robotium-biblioteksfil til et libs-bibliotek i din projektmappe, hvis du vil teste med Robotium framework. (Du opretter lib-mappe i din projektmappe).

En testtilstand definerer armaturet til at køre flere tests. For at definere en testsag skal du følge nedenstående programstruktur:

  • Implementere en underklasse af TestCase.
  • Definer instansvariabler, der gemmer statussen for armaturet
  • Initialiser fastgørelsestilstanden ved at tilsidesætte setUp ()
  • Oprydning efter en test ved at tilsidesætte tearDown ().

Testprograms struktur

pakke com.example.helloandroid.test;import com.example.helloandroid.HelloAndroid;import com.jayway.android.robotium.solo.Solo;importere android.test.ActivityInstrumentationTestCase2;importere android.widget.TextView;offentlig klasse HelloAndroidTest udvider ActivityInstrumentationTestCase2  {privat HelloAndroid mActivity;privat TextView mView;private String resourceString;privat solo solo;offentlig HelloAndroidTest () {// TODO Auto-genereret konstruktørstubsuper ("com.example.helloandroid", HelloAndroid.class);}@Overridebeskyttet ugyldigt setUp () kaster undtagelse {// TODO Auto-genereret 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);}@Overridebeskyttet ugyldigt tearDown () kaster undtagelse {// TODO Auto-genereret metodestub//super.tearDown ();solo.finishOpenedActivities ();}public void testPrecondition () {assertNotNull (mView);}/ * test Målapplikation indeholder tekstvisning "Hello World!" * /offentlig ugyldig testSearchText () {assertEquals (resourceString, (String) mView.getText ());}/ * test HelloAndroid-aktivitet på målapplikationen findes * /public void testCurrentActivity () kaster undtagelse {solo.assertCurrentActivity ("forkert aktivitet", HelloAndroid.class);}/ * test Application UI indeholder "Start" -knap * // * send begivenhedsklik på knappen for at målrette applikationen * /public void testSearchButton () kaster undtagelse {boolsk fundet = solo.searchButton ("Start");solo.clickOnButton ("Start");assertTrue (fundet);}}

Tilføjelse af testtilfælde

  • I samme pakke med TestSuite opretter vi TestCase-klasser
  • For at teste bestemt aktivitet, fx HelloAndroid, skal du oprette en testcase-omfang ActivityInstrumentationTestCase2
  • I denne klasse kan testeren opnå testaktivitet via getActivity () -metoden.
  • Du kan frit oprette test til en testaktivitet ved at oprette metode med navnet "test + original Method Name"
  • I testmetoden kan testeren bruge Android JUnit-funktionen til at sammenligne den faktiske værdi og forventede værdi. Disse metoder er vist nedenfor.

Eksempel på metoder til Robotium og Android Testing framework

Disse testpakker ovenfor bekræftede, at Application GUI skal vise teksten "Hello World!" Og indeholder navnet på knappen "Start".

TRIN 3) Kør test

Når du er færdig med at skrive dit testprogram, skal du køre testen ved hjælp af nedenstående trin

  • Tilslut Android-enhed til din pc (eller start Emulator, hvis du ikke har en rigtig enhed).
  • I din IDE skal du højreklikke på àRun asàAndroid Unit Test

Kører testprogram

Udover at køre test på IDE, kan du køre test på kommandolinje. I dette testprogram er testpakken com.example.helloandroid.test. I Linux- terminalen kan du bruge følgende kommando til at køre alle test i denne pakke:

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

TRIN 4) Få testresultat

Efter testudførelse får du testresultater.

I dette testprogram udføres 4 testmetoder. I dette tilfælde er alle testsager bestået.

Testresultat output, hvis alle testsager bestået

I tilfælde af testtilfælde mislykkes, vises output og viser dig, hvilke testsager der mislykkedes

Testresultat output, hvis alle testsager mislykkedes

Eksempler på kildekoder

Disse artikler inkluderer nogle kildekodeeksempler, som hjælper dig med at forstå selvstudiet mere klart og hurtigt indhente den tekniske viden

  • HelloAndroid: Applikation under test.
  • HelloAndroidTest: Testprogram ved hjælp af Android Test framework