Vadnica Selendroid za začetnike s primerom

Kazalo:

Anonim

Ste že kdaj razvili aplikacijo za Android in jo objavili v Googlu Play? Kaj boste storili, če boste prejeli uporabniško mnenje, kot je -

Ko objavite aplikacijo v Googlu Play, jo morate dobro preizkusiti, da se izognete morebitnim napakam. Pred objavo aplikacije je treba izvesti tono testnih scenarijev. Če želite prihraniti trud pri testiranju, potrebujete orodje za testiranje. Eno najboljših orodij za testiranje aplikacije za Android je Selendroid.

  • Kaj je Selendroid?
  • Zakaj potrebujemo Selendroid?
  • Arhitektura Selendroid
  • Uvod v Selendroid
  • Nastavitev okolja Selendroid
  • Kako zagnati Selendroid
  • Osnovni ukaz Selendroid
  • Začnite svoj prvi test s Selendroidom

Kaj je Selendroid?

Selendroid je testni sistem za avtomatizacijo večvrstnih mobilnih aplikacij: izvorna in hibridna aplikacija za Android ter mobilni splet.

Preizkuse lahko napišete z API-ji odjemalca Selenium 2. Ker Selendroid še vedno ponovno uporablja obstoječo infrastrukturo Selenium za splet

Selendroid je močno orodje za testiranje. Uporablja se lahko na emulatorjih in resničnih napravah

Zakaj potrebujemo Selendroid?

Selendroid je odlično orodje za testiranje. Toda morda še vedno dvomite o njegovi uporabnosti.

Ta razdelek bo predstavil pomembne značilnosti programa Selendroid, da boste odgovorili na vprašanje, zakaj potrebujete program Selendroid.

  • Preizkušeno aplikacijo lahko preizkusite s programom Selendroid brez kakršnih koli sprememb aplikacije. Potrebujete samo binarno datoteko (APK), nameščeno v računalniku. Če želite v napravo namestiti binarno datoteko, morata biti testna aplikacija in mobilna aplikacija podpisani z istim ključem
  • Testna aplikacija Selendroid lahko hkrati sodeluje z več napravami ali simulatorji. To je velika prednost Selendroida. Tako lahko svojo aplikacijo preizkusite z različnimi napravami Android in preverite združljivost.
  • Selendroid lahko simulira dejanja človeškega uporabnika v aplikaciji, kot so dotik, povleci, povlecite in spustite na napravah
  • Naprave med strojno opremo (Plug and unplug) lahko med preskušanjem spremenite brez ponovnega zagona ali ustavitve preskusa. Selendroid samodejno prepozna nove naprave
  • Glede na različico Android API-ja navzgor, Selendroid podpira tudi novi Android API (od API 10 do API 19)
  • Selendroid ima tudi nekaj vgrajenega orodja za pregledovanje, ki vam pomaga identificirati element uporabniškega vmesnika v preizkušeni aplikaciji. Na primer gumb ID, besedilno polje, besedilni pogled ...

Arhitektura Selendroid

Selendroid temelji na instrumentacijskem okviru Android. Preskusi Selendroid so napisani na osnovi API-ja odjemalca za spletni gonilnik Selenium, zato podpira popolno integracijo s trenutnimi okviri Selenium.

Naslednja slika opisuje arhitekturo Selendroida

Selendroid vsebuje 4 glavne komponente:

  • Odjemalec spletnega gonilnika - odjemalska knjižnica Java na osnovi selena. To knjižnico je treba namestiti v računalnik (ki se uporablja za razvoj testnih primerov)
  • Selendroid-Server - strežnik, ki se izvaja, je v preskušeni aplikaciji na napravi Android ali simulatorju. To so glavni sestavni deli arhitekture Selendroid
  • Android Driver-App - vgrajen gonilnik za Android, aplikacija Web View za testiranje mobilnega spleta.
  • Selendroid-Standalone - Ta komponenta se uporablja za namestitev strežnika Selendroid in preizkušane aplikacije (AUT)

Uvod v Selendroid

Že veste, kako pomemben je Selendroid. Zdaj pa si umažemo roke s Selendroidom.

Pred prvim testom s Selendroidom je treba narediti 3 korake

Nastavitev okolja Selendroid

Selendroid lahko deluje v sistemih Windows, Linux in Mac OS. V tej vadnici bomo nastavili Selendroid v operacijskem sistemu Windows.

Pred uporabo Selendroid morate najprej namestiti naslednji paket

  • Java SDK (najmanj 1,6)

    Sprejeti morate licenčno pogodbo in prenesti namestitveni program java (v svojem operacijskem sistemu izberite osnovno x64 ali x86)

    Prenesite in namestite Java SDK kot običajno programsko opremo

  • Najnovejša različica Android SDK
  • Vaš računalnik mora imeti vsaj eno navidezno napravo Android (AVD) ali pravo napravo Android, priključeno v računalnik.
  • Selendroid Standalone z odvisnostmi, Selendroid Client in Selenium Client
  • Programska oprema Eclipse
  • Nastavite JAVA_HOME in ANDROID_HOME

    Korak 1) V oknu z desno miškino tipko kliknite Računalnik -> Lastnosti -> Napredne nastavitve sistema

    Korak 2) Prikaz okna sistemskih lastnosti, izberite zavihek Napredno -> Spremenljivke okolja

    Korak 3) Prikažite okno Okolje, kliknite Novo -> Vnesite spremenljivko ANDROID_HOME, kot sledi

    Vrednost spremenljivke je pot do android-sdks, ki ste jo že namestili.

    Poiščite sistemsko spremenljivko Pot -> Uredi -> Dodaj naslednjo vrstico za trenutno vrstico

    Podobno kot ANDROID_HOME dodajte novo spremenljivko JAVA_HOME z vrednostjo, kot je prikazano spodaj

    Vrednost je Pot do namestitve Java JDK

    Korak 4) Znova zaženite računalnik -> Končano

Kako zagnati Selendroid

1. korak: Preizkusite aplikacijo

Z obstoječo testno aplikacijo Selendroid lahko preverite, kako deluje Selendroid (povezava do vzorčne aplikacije v preskusu)

Ko je prenos končan, kopirajte ta APK in zgornjo datoteko jarka Selendroid Standalone v mapo z imenom " Guru99"

Korak 2) Zaženite Selendroid

Odprite terminal v sistemu Windows in se pomaknite do mape Guru99, ustvarjene v 1. koraku.

Zaženite naslednji ukaz

Izhod se bo prikazal na naslednji način

Po zagonu tega ukaza se zažene samostojni strežnik HTTP Selendroid! Privzeta številka vrat tega strežnika je 4444. Vse strojne naprave in navidezna naprava Android bodo samodejno pregledane in prepoznane. Selendroid bo določil ciljno različico Androida in velikost zaslona naprave.

Če želite preveriti ciljno različico Androida in podatke o napravi, lahko v brskalniku zaženete naslednji URL:

http: // localhost: 4444 / wd / hub / status.

Osnovni ukaz Selendroid

Ta razdelek vam predstavlja nekaj osnovnih ukaznih vrstic Selendroid-Standalone. Z njimi lahko nastavite testno okolje Selendroid

  1. Nastavitev vrat Selendroid

    Privzeta vrata programa Selendroid so 4444. Lahko pa se spremenite v druga vrata, tako da ukazu dodate parameter za zagon programa Selendroid

    Parameter: -port [številka vrat]

    Na primer:

    V zgornjem ukazu so 5555 nova vrata.

Torej se URL za preverjanje ciljne različice Androida spremeni v: http: // localhost: 5555 / wd / hub / status

  1. Navedite lokacijo preskušane aplikacije (binarna datoteka APK). Selendroid je pogosto zahteval absolutno pot do te datoteke

    Parameter: -app [pot do datoteke]

    Na primer:

    V zgornjem ukazu Selendroid samodejno najde osnovo binarnih datotek na "C: \ Guru99App.apk", da dobi informacije o preizkušeni aplikaciji.

    Preverite URL http: // localhost: 4444 / wd / hub / status, videli boste te informacije

  2. Spremenite vrata, ki jih Selendroid uporablja za komunikacijo s strežnikom za meritve. Selendroid kot privzeto uporablja vrata 8080

    Parameter: -selendroidServerPort [številka vrat]

    Primer

    Vrata so zdaj spremenjena na 9000

  3. Spremenite časovno omejitev, da zaženete emulatorje. Enota je milisekunde.

    Parameter: -timeoutEmulatorStart

    Privzeto bo Selendroid počakal 300.000 milisekund, dokler se emulator ne zažene. Z ukazom lahko preklopite na novo časovno omejitev (200.000 ms)

    Če se po tem času izteče, če se emulator ne more zagnati, bo Selendroid vrgel napako z izjemo (med iskanjem naprav / emulatorjev je prišlo do napake) in nato prenehal delovati

  4. Ko na terminalu zaženete ukaz Selendroid, boste na zaslonu videli dnevnik, natisnjen. Vrsto dnevnika, ki ga vidite, lahko spremenite tako, da dodate naslednji parameter

    Parameter: -logLevel [vrsta dnevnika]

    Vrednosti ravni dnevnika so NAPAKA, OPOZORILO, INFO, RAZLAGA in VERBOSE. Privzeto: NAPAKA.

    Če na primer nastavite Selendroid, da tiska samo dnevnik OPOZORILO, lahko uporabite ta ukaz

    Selendroid natisne samo dnevnik OPOZORILO

Začnite svoj prvi test s Selendroidom

Ta razdelek je vodnik po korakih za ustvarjanje prvega preizkusnega skripta s pomočjo programa Selendroid

Recimo, da imamo aplikacijo za Android s testnim imenom Guru99App. Aplikacija vključuje besedilno polje in ime gumba "Prikaži besedilo".

PRENESITE APK TUKAJ

S pomočjo Selendroida moramo izvesti naslednji testni primer

Testni primeri

Stanje

Pričakovani izhod:

  1. Zaženite aplikacijo
  2. V besedilno polje vnesite besedilo " Guru99 Test "
  3. Pritisnite gumb "Prikaži besedilo"

Na voljo je binarna datoteka preizkušene aplikacije

Naprava je povezana z osebnim računalnikom

Besedilo "Text Show here" se spremeni v besedilo

ki ga uporabnik vnese v besedilno polje

Korak 1) V programu Eclipse ustvarite projekt Java

Korak 2) V okolju eclipse dodajte datoteko jarka selena in Selendroid

Z desno miškino tipko kliknite Guru99Test Project -> Build Path -> Add External Archives

Pomaknite se do mape, v kateri so bile shranjene datoteke jar

Dodati je treba 3 datoteke jar

  • selendroid-client-0.10.0.jar: Knjižnica odjemalcev java Selendroid
  • selendroid-standalone-0.11.0-with-dependencies: Knjižnica samostojnih strežnikov Selendroid
  • selenium-java-2.40.0.jar: Knjižnica spletnih gonilnikov Selenium

Izberite vse -> Izberite Odpri, da v projekt dodate datoteko jar

Korak 3) po dodajanju zgornje knjižnice bodo te knjižnice dodane v referenčne knjižnice testnega projekta. Tester lahko uporabi API-je teh knjižnic za razvoj testnega programa

Ustvarite paket "com.guru.test" in dodajte java datoteko "Guru99Test.java", kot spodaj

Z desno miškino tipko kliknite Guru99Test -> Novo -> Paket

Vnesite ime com.guru.test v polje Ime v pogovornem oknu Nov paket Java à Končaj

Eclipse bo ustvaril takšne mape in podmape v strukturi izvorne kode

Korak 4) Namestite TestNG za Eclipse

V Eclipse, Pomoč -> Namesti novo programsko opremo, v pogovornem oknu za namestitev kliknite Dodaj in vnesite naslednje

  • Ime: TestNG
  • Kraj: http://selendroid.io/

Pritisnite OK -> Next, da namestite TestNG

5. korak) Kopirajte Guru99App.apk v mapo Test App

Korak 6) Pridobite ID aplikacije, ki jo preizkušate.

Recimo, da imamo ime datoteke APK Guru99App.apk. Sledite koraku, ki je opisan v prejšnjem razdelku, in izvedite ukaz na terminalu

V brskalniku odprite naslednjo povezavo

http: // localhost: 4444 / wd / hub / status.

Prikažejo se podatki o napravi, kopirajte vrednost appId "com.guru99app: 1.0"

Korak 7) Odprite datoteko Guru99Test.java (v vzorčni kodi) in spremenite, kot sledi

Če želite ustvariti novo preizkusno sejo s programom Selendroid, morate navesti ID aplikacije v obliki: com.guru99app: 1.0. Ta ID aplikacije je mogoče identificirati v 6. koraku. Če ID aplikacije ne nastavite tako, da se ujema z napravo Android, bo preizkusna seja povzročila napako in se ne bo začela.

Po inicializaciji najdene naprave Selendroid ustvari prilagojeni selendroid-strežnik in nanj namesti strežnik Selendroid

Selendroid tudi namesti preskušano aplikacijo in na napravi zažene strežnik selendroid

Po uspešni inicializaciji preizkusne seje se preskusni ukaz začne izvajati v napravi. (Na primer vnos besedila, pritisnite gumb

…). Če test doda testno sejo, se emulator samodejno ustavi

Korak 8) Začnite novo preizkusno sejo

Zaženite strežnik Selendroid z naslednjim ukazom na terminalu, kot je 6. korak

Po zagonu strežnika Selendroid Server odprite vzorčni testni projekt Guru99test na Eclipse, nastavite točko preloma v vrstici 77 v datoteki Guru99Test.java tako, da dvokliknete vrstico 77 -> Prikaže se pika kot spodaj

Začnite preskusno sejo z desnim klikom na projekt Guru99Test -> Odpravljanje napak kot -> Testng Test.

Testna seja se bo začela kot spodaj

Korak 9) Pridobite Id GUI elementa aplikacije, ki se preskuša

Po uspešnem zagonu preizkusne seje odprite brskalnik, pojdite na URL http: // localhost: 4444 / inspector

Videli boste, da je preizkušena aplikacija zagnana kot spodaj

Uporabite miškin kazalec miške do vsakega elementa uporabniškega vmesnika AUT (Button, TextField, Text Label), ID vsakega elementa bo označen v desnem podoknu

Po tem koraku lahko dobite ID vsakega zgornjega elementa uporabniškega vmesnika

  • Gumb Prikaži ID besedila: " btnShow "
  • ID besedilnega polja: " edtText "
  • ID besedila nalepke: " txtView "

Te ID bodo uporabljene v naslednjem koraku

Korak 10) Vnesite testni program, kot je spodaj

Testni program s programom Selendroid vključuje 3 odseke

Preizkus namestitve:

Sledi koda za test namestitve, bo nastavil pogoj za testno sejo.V primeru napake bo Selendroid vrgel izjemo in testna aplikacija se bo ustavila.

Koda vključuje komentarje za razlago vsake trditve.

paket com.guru.test;uvoz io.selendroid.SelendroidCapabilities;uvoz io.selendroid.SelendroidConfiguration;uvoz io.selendroid.SelendroidDriver;uvoz io.selendroid.SelendroidLauncher;uvoz io.selendroid.device.DeviceTargetPlatform;uvoz org.openqa.selenium.By;uvoz org.openqa.selenium.WebDriver;uvoz org.openqa.selenium.WebElement;import org.testng.Assert;import org.testng.annotations.AfterSuite;import org.testng.annotations.BeforeSuite;import org.testng.annotations.Test;/ *** @author Guru99 Test App z uporabo Selendroid* Preskusna aplikacija: Guru99App** /javnostirazred Guru99Test {// Navedite spremenljivko spletnega gonilnikazasebni gonilnik WebDriver;/ *** Pred testiranjem nastavite okolje* @throws Izjema* /@BeforeSuitejavnostivoid setUp () vrže izjemo {// Med preskusom zaženite samostojni program selendroidSelendroidConfiguration config = novo SelendroidConfiguration ();// Dodajte aplikacijo selendroid-test-app v samostojni strežnikconfig.addSupportedApp ("Guru99App.apk");// zagon samostojnega strežnikaSelendroidLauncher selendroidServer = nov SelendroidLauncher (konfiguracija);selendroidServer.launchSelendroid ();// Ustvarimo zmožnosti selendroidaSelendroidCapabilities capa = novo SelendroidCapabilities ();// Določite, ali želite uporabiti testno aplikacijo selendroidcapa.setAut ("com.guru99app: 1.0");// Določite uporabo API-ja naprave Android 19capa.setPlatformVersion (DeviceTargetPlatform.ANDROID19);// Ne zahtevajte simulatorja, uporabite pravo napravocapa.setEmulator (napačno);//capa.wait(10000000);// Ustvari primerek gonilnika Selendroidvoznik = nov SelendroidDriver (capa);}

Izvedite test

Spodaj je koda za izvedbo testa. Koda vključuje komentarje

Tu so spet preizkusni koraki

  1. Vnesite besedilo "Hello Guru"
  2. Kliknite gumb Pokaži besedilo
  3. Počakaj trenutek
  4. Preverite, ali aplikacija prikazuje besedilo, ko ga uporabnik vnese v besedilno polje (npr. Prikaže besedilo "Hello Guru")
 / *** Začnite izvajati testni primer* 01. V besedilno polje vnesite besedilo "Selendroid"* 02. Pritisnite gumb OK* @throws Izjema* /@Testjavnostivoid selendroidTest () vrže izjemo {// Natisni dnevnikSystem.out.print ("Začni izvajanje preizkusa");// Poiščite polje za vnos besedila na zaslonu// ID tega besedilnega polja je bil iz 9. korakaWebElement inputField = driver.findElement (By.id ("edtText"));// Preverite, ali je besedilno polje omogočeno, da lahko uporabnik vnese besediloAssert.assertEquals ("true", inputField.getAttribute ("omogočeno"));// Vnesite besedilo v besedilno poljeinputField.sendKeys ("Hello Guru");// kliknite gumb Pokaži besedilo// ID tega gumba je bil iz 9. korakaGumb WebElement = driver.findElement (By.id ("btnShow"));button.click ();// Čas zakasnitve začne veljatiNavoj.spanje (5000);// Na zaslonu poiščite oznako "Text Show Here"// ID te nalepke je bil iz 9. korakaWebElement txtView = driver.findElement (By.id ("txtView"));// Prikažite prikaz besedila na zaslonuPričakovan niz = txtView.getText ();// Preverite, ali je besedilo, ki ga uporabnik vnese v besedilno polje, enako kot prikaz besedila na zaslonuAssert.assertEquals (pričakovano, inputField.getText ());}

Končni test

Naslednja koda bo zaključila test z zaustavitvijo gonilnika Selendroid.

 / *** Ustavite gonilnik Selendroid** /@AfterSuitejavnostivoid tearDown () {driver.quit ();}

Podrobnosti si lahko ogledate v vzorčni kodi, ki je vključena v ta članek.

Korak 10) Napravo Android povežite z računalnikom prek kabla USB. Točke za opazovanje -

  • Prepričajte se, da naprava nima nastavljenega zaklepanja zaslona.
  • Naprave morajo biti prek USB-ja priključene v računalnik, na katerem se izvaja samostojna komponenta selendroid.
  • Naprava mora namestiti vsaj API za ciljno različico Android 10

Korak 11) Zaženite testno aplikacijo: Z desno miškino tipko kliknite Guru99test -> Zaženi kot -> TestNG test

Korak 10) Zagon skripta se izvede na naslednji način

Korak 12) Po zaključku preizkusa TestNG samodejno ustvari poročilo o preskusu, kot sledi

Dobro Job, zdaj ste opravili test.

Povzetek

Povzetek

  • Selendroid je zelo zmogljivo orodje za testiranje izvorne aplikacije za Android, hibridne aplikacije in spletne aplikacije.
  • Uporablja se lahko na resničnih napravah, pa tudi na simulatorju.
  • Omogoča tudi vzporedno izvajanje testov z izvajanjem testa na več napravah.
  • Celoten paket Selendroid je sestavljen iz štirih komponent:
    • Odjemalec spletnega gonilnika,
    • Strežnik Selendroid,
    • Android Driver App
    • Selendroid-samostojen
  • Če želite uporabljati Selendroid, morate namestiti Java JDK, Android SDK in Eclipse.