Robotium-handledning: ditt första Android-ramverk

Innehållsförteckning:

Anonim

Vad är Robotium?

Robotium är ett Android-testramverk för att automatisera testfall för infödda och hybridapplikationer. Med Robotium kan utvecklaren skapa starka automatiska GUI-testfall för Android-applikationer. Dessutom kan utvecklaren skriva ett funktionellt, system- och acceptanstestscenario som sprider många Android-aktiviteter.

I den här handledningen lär du dig-

  • Robotium-testramverk
  • Hur man använder Robotium
  • STEG 1) Designtestspecifikation
  • STEG 2) Skriv TEST-programmet
  • STEG 3) Kör test
  • STEG 4) Få testresultat

Robotium-testramverk

Standardtestningsramverk för Android har en viss begränsning enligt nedan

  • Det går inte att hantera flera aktiviteter
  • Testkörningens prestanda är långsam
  • Testfall är komplicerade och svåra att genomföra

Robotium- ramverket är det bättre valet att testa på Android-applikationer

Robotium är ramverk med öppen källkod och anses vara en förlängning av Android-testramverket. Med Robotium kan utvecklare skapa robusta automatiska GUI-testfall för Android-applikationer. Dessutom kan utvecklare skriva funktionella, system- och acceptans testscenarier, som spänner över flera Android-aktiviteter.

Förhandsfunktioner i Robotium

Robotium testfallsklasser

Robotium använder uppsättning klasser ( com.jayway.android.robotium.solo ) för testning . Denna klass stöder testfall som sträcker sig över flera aktiviteter. Solo är integrerat med ActivityInstrumentationTestCase2.

Integrationsrobotium och ActivityInstrumentationTestCase2

Tester kan skriva testfall utan kunskap om applikationsdesign (black box testing) genom att använda Robotium testfallsklasser. Det är en enastående funktion jämfört med Android testfallsklasser.

Hur man använder Robotium

För att använda Robotium i ditt Android-testprojekt måste du följa stegen nedan

Använder Robotium för att testa på Android-applikationer. För att garantera kvaliteten på din Android-applikation bör du följa proceduren nedan

  1. Designtestspecifikation
  2. Utveckla testprogram
  3. Utför testfall på målenheten
  4. Samla testresultat

Testningsprocedur för Android-applikation

STEG 1) Designtestspecifikation

  • Detta är det första steget för att testa din ansökan. I det här steget definierar du målet som ska testas. I din Android-applikation finns det många mål som måste testas, till exempel UI, Activity, komponenter, tjänster. Att tydligt definiera målet i din ansökan hjälper till att uppnå bred testtäckning.
  • Planera att testtyperna ska genomföras (enhetstest, funktionstest, systemtest).
  • Utforma testfall för maximal täckning men minimera antalet testfall. Ju mer kod testas mer är chansen för tidig upptäckt av fel.

STEG 2) Skriv TEST-programmet

Detta avsnitt guidar dig hur du skriver ett Android-testprogram med Android Junit Test och Robotium. Antag att du redan har utvecklat ett Android-programnamn HelloAndroid. Detta program har några funktioner som beskrivs nedan:

  • Visa texten "Hello world!" på skärm.
  • Visa ett meddelande HelloAndroid när användaren trycker på "Start" -knappen

HelloAndroid-applikation

Systemkrav

  • Android-plattformen levereras med förintegrerat JUnit 3.0-ramverk.
  • För att skapa Android Test Project från Eclipse måste din dator ha installerat:
    • Senaste version Android-plattform (för närvarande Android 8.1)

Du kan ladda ner Eclipse IDE med inbyggt ADT (Android Developer Tools). Den innehåller de viktigaste Android SDK-komponenterna och en version av Eclipse IDE.

För Robotium-testramverket måste du ner Robotium-biblioteket från Robotium-webbsidan.

Skapa Android Test Project

  • Klicka på Arkiv -> Ny -> Annat
  • Välj: Android -> Android Test Project enligt figuren nedan -> Välj Nästa

Skapa nytt Android-testprojekt

Skriv namnet på ditt testprojekt. Som namnkonvention bör ditt testprojekt vara namnet "HelloAndroidTest"

Lägg till testprojektnamnbas på namngivning

Välj målapplikation under test. I det här fallet är detta HelloAndroid klicka på Slutför

Välj målapplikation under test

Skapa testsviter

Baserat på din testspecifikation började du skapa testsviter för ditt testprogram. Du kan välja olika testramar. I den här självstudien väljer jag standardtestningsram för Android ActivityInstrumentationTestCase2 . Du måste lägga till Robotium-biblioteksfilen i en libs-katalog i din projektmapp om du vill testa med Robotium-ramverket. (Du skapar en lib-mapp i din projektmapp).

Ett testfall definierar fixturen för att köra flera tester. För att definiera ett testfall måste du följa programstrukturen nedan:

  • Implementera en underklass av TestCase.
  • Definiera instansvariabler som lagrar fixturens tillstånd
  • Initiera fixturtillståndet genom att åsidosätta setUp ()
  • Rengöring efter ett test genom att åsidosätta tearDown ().

Testprograms struktur

paket com.exempel.helloandroid.test;importera com.example.helloandroid.HelloAndroid;importera com.jayway.android.robotium.solo.Solo;importera android.test.ActivityInstrumentationTestCase2;importera android.widget.TextView;offentlig klass HelloAndroidTest utökar ActivityInstrumentationTestCase2  {privat HelloAndroid mActivity;privat TextView mView;private String resourceString;privat solo solo;offentlig HelloAndroidTest () {// TODO Auto-genererad konstruktörstubsuper ("com.example.helloandroid", HelloAndroid.class);}@Åsidosättaskyddad tomrum setUp () kastar undantag {// TODO Auto-genererad metodstub// 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);}@Åsidosättaskyddad tomrum tearDown () kastar undantag {// TODO Auto-genererad metodstub//super.tearDown ();solo.finishOpenedActivities ();}public void testPrecondition () {assertNotNull (mView);}/ * test Målapplikationen innehåller en textdisplay "Hello World!" * /offentligt ogiltigt testSearchText () {assertEquals (resourceString, (String) mView.getText ());}/ * test HelloAndroid Aktivitet på målapplikationen finns * /public void testCurrentActivity () kastar undantag {solo.assertCurrentActivity ("fel aktivitet", HelloAndroid.class);}/ * test Applikationsgränssnittet innehåller "Start" -knappen * // * skicka händelseknapp för att rikta in ansökanpublic void testSearchButton () kastar undantag {boolean hittades = solo.searchButton ("Start");solo.clickOnButton ("Start");assertTrue (hittades);}}

Lägga till testfall

  • I samma paket med TestSuite skapar vi TestCase-klasser
  • För att testa viss aktivitet, dvs HelloAndroid, skapar du en testfallomfång ActivityInstrumentationTestCase2
  • I den här klassen kan testaren få testaktivitet genom getActivity () -metoden.
  • Du kan fritt skapa test för en testaktivitet genom att skapa metod med namnet "test + original Method Name"
  • I testmetoden kan testaren använda Android JUnit-funktionen för att jämföra det verkliga värdet och det förväntade värdet. Dessa metoder visas nedan.

Exempel på metoder för Robotium och Android Testing framework

Dessa testsviter ovan verifierade att Application GUI måste visa texten "Hello World!" Och innehåller knappnamnet "Start".

STEG 3) Kör test

När du är klar med att skriva ditt testprogram, kör du testet med hjälp av stegen nedan

  • Anslut Android-enheten till din dator (eller starta Emulator om du inte har någon riktig enhet).
  • I din IDE högerklickar du àRun asàAndroid Unit Test

Kör testprogram

Förutom att köra test på IDE, kan du köra test på kommandoraden. I detta testprogram är testpaketet com.example.helloandroid.test. I Linux- terminalen kan du använda följande kommando för att köra alla test i det här paketet:

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

STEG 4) Få testresultat

Efter testkörning får du testresultat.

I detta testprogram körs fyra testmetoder. I det här fallet klaras alla testfall.

Testresultat om alla testfall passerade

Om testfallet misslyckas visas utdata och visar vilka testfall som misslyckades

Testresultat om alla testfall misslyckades

Exempel på källkoder

Dessa artiklar innehåller några källkodsexempel som hjälper dig att förstå självstudien tydligare och snabbt fånga upp den tekniska kunskapen

  • HelloAndroid: Applikation under test.
  • HelloAndroidTest: Testprogram med Android Test-ramverk