„Robotium“ mokymo programa: jūsų pirmoji „Android“ sistema

Turinys:

Anonim

Kas yra „Robotium“?

„Robotium“ yra „Android“ testavimo sistema, skirta automatizuoti vietinių ir hibridinių programų bandymų atvejus. Naudodamas „Robotium“, kūrėjas gali sukurti tvirtą automatinio GUI testavimo atvejį „Android“ programoms. Be to, kūrėjas galėtų parašyti funkcinį, sistemos ir priėmimo bandymo scenarijų, paskleisdamas daugybę „Android“ veiklų.

Šioje pamokoje sužinosite

  • „Robotium“ testavimo sistema
  • Kaip vartoti Robotium
  • 1 ŽINGSNIS. Projektavimo bandymo specifikacija
  • 2 ŽINGSNIS. Parašykite TEST programą
  • 3 ŽINGSNIS) Paleiskite testą
  • 4 ŽINGSNIS. Gaukite bandymo rezultatą

„Robotium“ testavimo sistema

Standartinėje „Android“ testavimo sistemoje yra tam tikrų apribojimų, kaip nurodyta toliau

  • Nepavyksta atlikti kelių veiklų
  • Testo vykdymas yra lėtas
  • Testiniai atvejai yra sudėtingi ir sunkiai įgyvendinami

„Robotium“ sistema yra geresnis pasirinkimas atlikti bandymus naudojant „Android“ programą

„Robotium“ yra atvirojo kodo sistema ir laikoma „Android“ testavimo sistemos pratęsimu. Naudodamas „Robotium“, kūrėjas gali sukurti patikimus automatinio „Android“ programų GUI testo atvejus. Be to, kūrėjas gali parašyti funkcinius, sistemos ir priėmimo bandymo scenarijus, apimančius kelias „Android“ veiklas.

Išankstinės „Robotium“ savybės

„Robotium“ bandymų atvejų klasės

„Robotium“ bandymams naudoja klasių rinkinį ( com.jayway.android.robotium.solo ) . Ši klasė palaiko bandomuosius atvejus, apimančius kelias veiklas. „Solo“ yra integruota į „ActivityInstrumentationTestCase2“.

Integracija „Robotium“ ir „ActivityInstrumentationTestCase2“

Naudodamas „Robotium“ testo atvejų klases, testuotojas gali rašyti bandymo atvejus, nežinodamas programos dizaino (juodosios dėžės testavimo). Tai puiki savybė, palyginti su „Android“ bandymų atvejų klasėmis.

Kaip vartoti Robotium

Norėdami naudoti „Robotium“ savo „Android“ bandymo projekte, turite atlikti toliau nurodytus veiksmus

„Robotium“ naudojimas atliekant bandymus naudojant „Android“ programą. Norėdami garantuoti „Android“ programos kokybę, turėtumėte atlikti toliau nurodytą procedūrą

  1. Projektavimo bandymo specifikacija
  2. Sukurti bandymų programą
  3. Įvykdykite bandymo atvejį tiksliniame įrenginyje
  4. Surinkite testo rezultatą

„Android“ programos testavimo procedūra

1 ŽINGSNIS. Projektavimo bandymo specifikacija

  • Tai yra pirmasis jūsų programos testavimo žingsnis. Šiame etape nustatote, kad bandomasis tikslas. „Android“ programoje reikia išbandyti daug tikslų, tokių kaip vartotojo sąsaja, veikla, komponentai, paslaugos. Aiškiai apibrėžę tikslą savo programoje, galėsite pasiekti plačią bandymų aprėptį.
  • Suplanuokite, kokie bandymai turėtų būti atlikti (vieneto testas, funkcinis testas, sistemos bandymas).
  • Suprojektuokite bandymų atvejus, kad jie būtų kuo platesni, tačiau sumažinkite bandymų atvejų skaičių. Kuo daugiau testuojamas kodas, tuo daugiau galimybių anksti aptikti klaidas.

2 ŽINGSNIS. Parašykite TEST programą

Šiame skyriuje nurodoma, kaip rašyti „Android“ testavimo programą naudojant „Android Junit Test“ ir „Robotium“. Tarkime, kad jūs jau sukūrėte „Android“ programos pavadinimą „HelloAndroid“. Ši programa turi keletą toliau aprašytų funkcijų:

  • Rodyti tekstą „Sveikas pasauli!“ ekrane.
  • Rodyti pranešimą „HelloAndroid“, kai vartotojas paspaudžia mygtuką „Pradėti“

„HelloAndroid“ programa

Sistemos reikalavimai

  • „Android“ platformoje yra iš anksto integruota „JUnit 3.0“ sistema.
  • Kad galėtumėte sukurti „Android Test Project“ iš „Eclipse“, jūsų kompiuteryje turi būti įdiegta:
    • Naujausia „Android“ platformos versija (šiuo metu „Android 8.1“)

Galite atsisiųsti „Eclipse IDE“ su įmontuotu ADT („Android Developer Tools“). Tai apima pagrindinius „Android SDK“ komponentus ir „Eclipse IDE“ versiją.

Jei norite naudoti „Robotium“ testavimo sistemą, turite išjungti „Robotium“ biblioteką iš „Robotium“ tinklalapio.

Sukurkite „Android“ testavimo projektą

  • Spustelėkite Failas -> Nauja -> Kita
  • Pasirinkite: „Android“ -> „Android Test Project“, kaip parodyta žemiau -> Pasirinkite Next

Sukurkite naują „Android“ bandymo projektą

Parašykite bandomojo projekto pavadinimą. Kaip pavadinimų suteikimo principą, bandomojo projekto pavadinimas turėtų būti „HelloAndroidTest“

Pridėkite bandomojo projekto pavadinimų bazę pavadinimų sutartyje

Pasirinkite bandomą tikslinę programą. Šiuo atveju tai yra „HelloAndroid“ spustelėkite Baigti

Pasirinkite bandomą tikslinę programą

Sukurkite „Test Suite“

Remdamiesi bandymų specifikacijomis, pradėjote kurti bandomuosius paketus savo bandymų programai. Galite pasirinkti įvairias testavimo sistemas. Šioje pamokoje pasirenku standartinę „Android“ testavimo sistemą „ ActivityInstrumentationTestCase2“ . Jei norite išbandyti naudodami „Robotium“ sistemą, turite pridėti „Robotium“ bibliotekos failą į „libs“ katalogą savo projekto aplanke. (Jūs sukuriate lib aplanką savo projekto aplanke).

Bandymo atvejis apibrėžia įrenginį, kad būtų galima atlikti kelis bandymus. Norėdami apibrėžti bandomąjį atvejį, turite laikytis toliau nurodytos programos struktūros:

  • Įgyvendinkite TestCase.
  • Apibrėžkite egzempliorių kintamuosius, kurie saugo įrenginio būseną
  • Inicijuokite įtaiso būseną, nepaisydami setUp ()
  • Valymas po bandymo nepaisant „tearDown“ ().

Testo programos struktūra

paketas com.example.helloandroid.test;importuoti com.example.helloandroid.HelloAndroid;importuoti com.jayway.android.robotium.solo.Solo;importuoti android.test.ActivityInstrumentationTestCase2;importuoti android.widget.TextView;viešoji klasė „HelloAndroidTest“ pratęsia „ActivityInstrumentationTestCase2“  {privatus „HelloAndroid“ mActivity;privatus „TextView mView“;„Private String resourceString“;privatus Solo solo;public HelloAndroidTest () {// TODO automatiškai sukurtas konstruktoriaus šakassuper („com.example.helloandroid“, HelloAndroid.class);}@ Nepaisytiapsaugotas void setUp () meta išimtį {// TODO Automatiškai sugeneruotas metodas// super.setUp ();mAaktyvumas = this.getActivity ();solo = naujas Solo (getInstrumentation (), getActivity ());mView = (TextView) mActivity.findViewById (com.example.helloandroid.R.id.textview2);resourceString = mActivity.getString (com.example.helloandroid.R.string.hello_world);}@ Nepaisytiprotected void „tearDown“ () meta išimtį {// TODO Automatiškai sugeneruotas metodas//super.tearDown ();solo.finishOpenedActivities ();}public void testPrecondition () {assertNotNull („mView“);}/ * Test Target programoje yra teksto ekranas „Sveikas pasaulis!“ * /viešas negaliojantis testSearchText () {assertEquals (resourceString, (String) mView.getText ());}/ * išbandykite „HelloAndroid“ tikslinės programos aktyvumą * /public void testCurrentActivity () išmeta išimtį {solo.assertCurrentActivity („neteisinga veikla“, HelloAndroid.class);}/ * bandomosios programos vartotojo sąsajoje yra mygtukas „Pradėti“ * // * siųsti įvykio paspaudimo mygtuką, kad galėtumėte taikyti taikomąją programą * /public void testSearchButton () išmeta išimtį {loginis rastas = solo.searchButton ("Pradėti");solo.clickOnButton („Pradėti“);teigtiTiesa (rasta);}}

Bandomųjų bylų pridėjimas

  • Tame pačiame pakete su „TestSuite“ kuriame „TestCase“ klases
  • Norėdami išbandyti tam tikrą veiklą, ty „HelloAndroid“, sukurkite bandomojo atvejo mastą „ActivityInstrumentationTestCase2“
  • Šioje klasėje testuotojas gali gauti testavimo veiklą naudodamas getActivity () metodą.
  • Galite laisvai kurti testavimo veiklos testą sukurdami metodą pavadinimu „testas + originalus metodo pavadinimas“
  • Taikydamas bandymo metodą, testeris gali naudoti „Android JUnit“ funkciją, kad palygintų faktinę ir numatomą vertę. Šie metodai parodyti žemiau.

„Robotium“ ir „Android Testing Framework“ metodų pavyzdžiai

Šie pirmiau minėti bandomieji rinkiniai patvirtino, kad „Application GUI“ turi būti rodomas tekstas „Hello World!“ Ir turi mygtuko pavadinimą „Start“.

3 ŽINGSNIS) Paleiskite testą

Baigę rašyti bandymo programą, vykdykite testą atlikdami toliau nurodytus veiksmus

  • Prijunkite „Android“ įrenginį prie savo kompiuterio (arba paleiskite „Emulator“, jei neturite tikro įrenginio).
  • IDE dešiniuoju pelės mygtuku spustelėkite paleisti „Android Unit Test“

Testo programos vykdymas

Be IDE bandymo, galite atlikti bandymą komandinėje eilutėje. Šioje bandymo programoje bandymo paketas yra com.example.helloandroid.test. „ Linux“ terminale galite naudoti šią komandą, kad paleistumėte visus šio paketo bandymus:

$ adb apvalkalas esu instrumentas -w -e paketas com.example.helloandroid.test

4 ŽINGSNIS. Gaukite bandymo rezultatą

Atlikę testą, gausite testo rezultatus.

Šioje testavimo programoje vykdomi 4 bandymo metodai. Šiuo atveju visos bandomosios bylos yra išlaikytos.

Testo rezultatas, jei visi bandymo atvejai buvo išlaikyti

Jei bandymo atvejis nepavyksta, rodoma išvestis ir parodyta, kurie bandymo atvejai nepavyko

Testo rezultatų išvestis, jei nepavyko atlikti visų bandymų atvejų

Šaltinio kodo pavyzdžiai

Šiuose straipsniuose pateikiami keli šaltinio kodo pavyzdžiai, kurie padeda aiškiau suprasti mokymo programą ir greitai pasisemti techninių žinių

  • HelloAndroid: Testuojama programa.
  • HelloAndroidTest: Testavimo programa naudojant „Android Test“ sistemą