Robotium Tutorial: Ensimmäinen Android Puitteet
Mikä on Robotium?
Robotium on Android-testauskehys, joka automatisoi natiivi- ja hybridisovellusten testitapaukset. Robotiumia käyttämällä kehittäjä voi luoda vahvan automaattisen graafisen käyttöliittymän testauksen Android sovellukset. Lisäksi kehittäjä voisi kirjoittaa toiminnallisen, järjestelmä- ja hyväksymistestiskenaarion, joka levittää monia Android toimintaa.
Robotium-testauskehys
Standard Android testauskehyksellä on joitain rajoituksia, kuten alla
- Ei pysty käsittelemään useita toimintoja
- Testin suoritus on hidasta
- Testitapaukset ovat monimutkaisia ja vaikeita toteuttaa
Robottipuitteet on parempi valinta suorittaa testaus Android hakemus
Robotium on avoimen lähdekoodin kehys, ja sitä pidetään sen jatkeena Android testikehys. Robotiumin avulla kehittäjä voi luoda vankkoja automaattisia GUI-testitapauksia Android sovellukset. Lisäksi kehittäjä voi kirjoittaa toiminnallisia, järjestelmä- ja hyväksymistestiskenaarioita, jotka kattavat useita Android toimintaa.
Robotium Test Case -luokat
Robotium käyttää luokkia (com.jayway.android.robotium.solo) kokeiluun. Tämä luokka tukee testitapauksia, jotka kattavat useita toimintoja. Solo on integroitu ActivityInstrumentationTestCase2:een.
Testaaja voi kirjoittaa testitapauksia tuntematta sovellussuunnittelua (mustan laatikon testaus) käyttämällä Robotium-testitapausluokkia. Se on erinomainen ominaisuus verrattuna Android testitapausluokat.
Kuinka käyttää Robotiumia
Käyttääksesi Robotiumia Android testiprojekti, sinun on noudatettava alla olevia vaiheita
Robotiumin käyttäminen testin suorittamiseen Android sovellus. Laadun takaamiseksi Android hakemuksen, sinun tulee noudattaa alla olevaa menettelyä
- Suunnittelutestin spesifikaatio
- Kehitä testiohjelma
- Suorittaa Testitapaus kohdelaitteessa
- Kerää testitulos
VAIHE 1) Suunnittelutestin spesifikaatio
- Tämä on ensimmäinen askel sovelluksesi testaamiseen. Tässä vaiheessa määrität testattavan kohteen. Sinun Android Sovelluksessa on monia testattavia kohteita, kuten käyttöliittymä, aktiviteetti, komponentit, palvelut. Kohteen selkeä määrittäminen sovelluksessasi auttaa saavuttamaan laajan testikattavuuden.
- Suunnittele suoritettavat testityypit (yksikkötesti, toiminnallinen testi, järjestelmätesti).
- Suunnittele testitapaukset parhaan kattavuuden saavuttamiseksi, mutta minimoi testitapausten määrä. Mitä enemmän koodia testataan, sitä todennäköisempää on virheiden varhainen havaitseminen.
VAIHE 2) Kirjoita TEST-ohjelma
Tämä osio opastaa sinua kirjoittamaan Android testiohjelmaa käyttäen Android Junit Testi ja Robotium. Oletetaan, että olet jo kehittänyt Android ohjelman nimi HelloAndroid. Tällä ohjelmalla on joitain alla kuvattuja toimintoja:
- Näytä teksti "Hei maailma!" näytöllä.
- Näytä viesti HeiAndroid kun käyttäjä painaa "Käynnistä"-painiketta
Tekniset vaatimukset
- Android alustan mukana tulee esiintegroitu JUnit 3.0 kehys.
- Luoda Android Testiprojekti alkaen Eclipse, tietokoneellesi on oltava asennettu:
- Uusin versio Android Alusta (tällä hetkellä Android 8.1)
Sinä pystyt download Eclipse IDE, jossa on sisäänrakennettu ADT (Android Kehittäjän työkalut). Se sisältää olennaisen Android SDK-komponentit ja versio Eclipse IDE.
Robotium-testauskehystä varten sinun on poistettava Robotium-kirjasto osoitteesta Robotiumin verkkosivu.
luoda Android Testiprojekti
- Napsauta Tiedosto -> Uusi -> Muu
- Valitse: Android -> Android Testaa projekti alla olevan kuvan mukaisesti -> Valitse Seuraava
Kirjoita testiprojektisi nimi. Nimeämiskäytäntönä testiprojektisi tulee olla nimeltä "HeiAndroidTestata"
Valitse testattava kohdesovellus. Tässä tapauksessa tämä on HelloAndroid napsauta Valmis
Luo testisviittejä
Testimäärittelyjesi perusteella aloit luoda testipaketteja testiohjelmallesi. Voit valita erilaisia testauskehystä. Tässä opetusohjelmassa valitsen standardin Android testauskehys ActivityInstrumentationTestCase2. Sinun on lisättävä Robotium-kirjastotiedosto projektikansiosi libs-hakemistoon, jos haluat testata Robotium-kehyksen kanssa. (Luot lib-kansion projektikansioosi).
Testitapaus määrittää kiinnittimen useiden testien suorittamiseen. Määrittääksesi testitapauksen, sinun on noudatettava alla olevaa ohjelmarakennetta:
- Toteuta alaluokka
TestCase
. - Määritä ilmentymämuuttujat, jotka tallentavat kiinnittimen tilan
- Alusta kiinnitystila ohittamalla setUp()
- Puhdistus testin jälkeen ohittamalla tearDown().
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); } }
Testitapausten lisääminen
- Samassa paketissa TestSuiten kanssa luomme TestCase-luokkia
- Tietyn toiminnan testaamiseen eli HelloAndroid, luo testitapauksen laajuus ActivityInstrumentationTestCase2Android>
- Tässä luokassa testaaja voi saada testausaktiviteetin getActivity()-menetelmän avulla.
- Voit vapaasti luoda testin testaustoiminnalle luomismenetelmällä, jonka nimi on "testi + alkuperäinen menetelmän nimi"
- Testausmenetelmässä testaaja voi käyttää Android JUnit toiminto vertaa todellista arvoa ja odotettua arvoa. Nämä menetelmät on esitetty alla.
Nämä yllä olevat testipaketit vahvistivat, että sovelluksen graafisessa käyttöliittymässä on oltava teksti "Hei maailma!" ja että se sisältää painikkeen nimen "Käynnistä".
VAIHE 3) Suorita testi
Kun olet kirjoittanut testiohjelman, suorita testi alla olevien vaiheiden mukaisesti
- kytkeä Android laite tietokoneellesi (tai käynnistä emulaattori, jos sinulla ei ole oikeaa laitetta).
- Napsauta hiiren kakkospainikkeella IDE:ssä àSuorita nimelläAndroid Yksikkötesti
Testin suorittamisen lisäksi IDE:llä voit suorittaa testin komentorivillä. Tässä testiohjelmassa testipaketti on com.example.helloandroid.test . Sisään Linux terminaali, voit käyttää seuraavaa komentoa suorittaaksesi kaikki testit tässä paketissa:
$ adb shell am instrument -w -e paketti com.example.helloandroid.test
VAIHE 4) Hanki testitulos
Testin suorittamisen jälkeen saat testitulokset.
Tässä testiohjelmassa suoritetaan 4 testimenetelmää. Tässä tapauksessa kaikki testitapaukset hyväksytään.
Jos testitapaus epäonnistuu, tulos tulee näyttöön ja näyttää, mitkä testitapaukset epäonnistuivat
Esimerkkejä lähdekoodista
Nämä artikkelit sisältävät joitain lähdekoodiesimerkkejä, jotka auttavat sinua ymmärtämään opetusohjelman selkeämmin ja hankkimaan tekniset tiedot nopeasti
- HeiAndroid: Sovellus testattavana.
- HeiAndroidTesti: Testaa ohjelmaa käyttäen Android Testikehys