Jeste li ikad razvili Android aplikaciju i objavili je na Google Playu? Što ćete učiniti ako dobijete korisničku recenziju poput -
Kada objavite aplikaciju na Google Playu, mora biti dobro testirana kako bi se izbjegle potencijalne pogreške. Postoji mnoštvo testnih scenarija koji bi se trebali izvršiti prije objavljivanja aplikacije. Da biste uštedjeli napor testiranja, potreban vam je alat za testiranje. Jedan od najboljih alata za testiranje za Android aplikaciju je Selendroid.
- Što je Selendroid?
- Zašto nam treba Selendroid?
- Arhitektura Selendroid
- Početak rada sa Selendroidom
- Postavljanje Selendroid okruženja
- Kako pokrenuti Selendroid
- Osnovna naredba Selendroid
- Započnite svoj prvi test sa Selendroidom
Što je Selendroid?
Selendroid je testni automatizacijski okvir za više vrsta mobilnih aplikacija: izvornu i hibridnu Android aplikaciju i mobilni web.
Testove možete pisati pomoću API-ja klijenta Selenium 2. Budući da Selendroid još uvijek ponovno upotrebljava postojeću selenijsku infrastrukturu za web
Selendroid je moćan alat za testiranje. Može se koristiti na emulatorima i stvarnim uređajima
Zašto nam treba Selendroid?
Selendroid je izvrstan alat za testiranje. Ali još uvijek možete sumnjati u njegovu korisnost.
Ovaj će odjeljak predstaviti važne značajke Selendroida kako bi odgovorio na pitanje zašto vam je potreban Selendroid.
- Možete testirati testiranu aplikaciju pomoću Selendroida bez ikakvih izmjena aplikacije. Treba vam samo binarna datoteka (APK) instalirana na računalu. Da biste na uređaj instalirali binarnu datoteku, testna aplikacija i mobilna aplikacija moraju biti potpisani istim ključem znaka
- Probna aplikacija Selendroid može istovremeno komunicirati s više uređaja ili simulatora. To je velika prednost Selendroida. Tako možete testirati svoju aplikaciju na različitim Android uređajima kako biste provjerili kompatibilnost.
- Selendroid može simulirati radnje ljudskog korisnika u aplikaciji, poput dodira, prevlačenja, povlačenja i ispuštanja na uređajima
- Tijekom testiranja možete promijeniti hardverske uređaje (priključite i isključite) bez ponovnog pokretanja ili zaustavljanja testa. Selendroid automatski prepoznaje nove uređaje
- Odgovarajući verziji Android API-ja, Selendroid također podržava novi Android API (od API 10 do API 19)
- Selendroid također ima ugrađeni alat za inspekciju koji vam pomaže identificirati UI element aplikacije koja se testira. Na primjer, gumb ID, tekstualno polje, tekstualni prikaz ...
Arhitektura Selendroid
Selendroid se temelji na Android instrumentnom okviru. Selendroid testovi napisani su na API-ju klijenta Selenium Web driver, tako da podržava potpunu integraciju s trenutnim Selenium okvirima.
Sljedeća slika opisuje arhitekturu Selendroida
Selendroid sadrži 4 glavne komponente:
- Klijent web-upravljačkog programa - knjižnica Java klijenta zasnovana na Seleniju. Ova bi se knjižnica trebala instalirati na računalo (koje se koristi za izradu testnih slučajeva)
- Selendroid-Server - poslužitelj koji se pokreće mora biti u aplikaciji koja se testira na Android uređaju ili simulatoru. Ovo su glavne komponente arhitekture Selendroid
- Android Driver-App - ugrađeni Android upravljački program, aplikacija Web View za testiranje mobilnog weba.
- Selendroid-Standalone - Ova komponenta koristi se za instalaciju Selendroid poslužitelja i aplikacije koja se testira (AUT)
Početak rada sa Selendroidom
Već ste znali važnost Selendroida. A sad, uprljajmo ruke Selendroidom.
Treba obaviti 3 koraka prije prvog testa s Selendroidom
Postavljanje Selendroid okruženja
Selendroid može raditi na Windowsu, Linuxu i Mac OS-u. U ovom uputstvu postavit ćemo Selendroid u OS Windows.
Prije upotrebe Selendroida, prvo morate instalirati sljedeći paket
- Java SDK (najmanje 1,6)
Morate prihvatiti ugovor o licenci i preuzeti instalacijski program Java (odaberite x64 ili x86 bazu na vašem OS-u)
Preuzmite i instalirajte Java SDK kao uobičajeni softver
- Najnovija verzija Android SDK-a
- Vaše računalo mora imati barem jedan Android virtualni uređaj (AVD) ili pravi Android uređaj priključen na računalo.
- Selendroid Samostalni sa ovisnostima, Selendroid klijent i Selenium klijent
- Eclipse softver
- Postavite JAVA_HOME i ANDROID_HOME
Korak 1) U prozoru desnom tipkom miša kliknite Računalo -> Svojstva -> Napredne postavke sustava
Korak 2) Prikaz prozora Svojstva sustava, odaberite karticu Napredno -> Varijable okruženja
Korak 3) Prikaz prozora Okolina, kliknite Novo -> Unesite varijablu ANDROID_HOME kako slijedi
Vrijednost varijable je put do android-sdks koji ste već instalirali.
Pronađite sistemsku varijablu Put -> Uredi -> Dodaj sljedeći redak nakon trenutnog retka
Slično ANDROID_HOME, dodajte novu varijablu JAVA_HOME s vrijednošću kao u nastavku
Vrijednost je Put do vaše Java JDK instalacije
Korak 4) Ponovo pokrenite računalo -> Gotovo
Kako pokrenuti Selendroid
Korak 1) Dobivanje aplikacije na test
Možete koristiti postojeću testnu aplikaciju Selendroid da biste provjerili kako funkcionira Selendroid (veza do uzorka aplikacije koja se testira)
Kada je preuzimanje završeno, kopirajte ovaj APK i gornju datoteku jarka Selendroid Standalone u mapu s imenom " Guru99"
Korak 2) Pokrenite Selendroid
Otvorite terminal u sustavu Windows i idite do mape Guru99 stvorene u koraku 1.
Pokrenite sljedeću naredbu
Izlaz će se prikazati na sljedeći način
Nakon pokretanja ove naredbe pokreće se samostalni HTTP poslužitelj Selendroid! Zadani broj porta ovog poslužitelja je 4444. Sav hardverski uređaj, kao i Android virtualni uređaj, automatski će se skenirati i prepoznati. Selendroid će prepoznati ciljnu verziju Androida i veličinu zaslona uređaja.
Da biste provjerili ciljanu verziju Androida, kao i podatke o uređaju, u pregledniku možete pokrenuti sljedeći URL:
http: // localhost: 4444 / wd / hub / status.
Osnovna naredba Selendroid
Ovaj vam odjeljak predstavlja nekoliko osnovnih naredbenih redaka Selendroid-Standalone. Možete ih koristiti za postavljanje testnog okruženja Selendroid
- Postavka porta Selendroid
Zadani port Selendroida je 4444. Ali možete se prebaciti na drugi port dodavanjem parametra naredbi za pokretanje Selendroida
Parametar: -port [broj porta]
Na primjer:
U gornjoj naredbi, 5555 je nova luka.
Dakle, URL za provjeru ciljne verzije Androida promijenjen je u: http: // localhost: 5555 / wd / hub / status
- Navedite mjesto aplikacije koja se ispituje (binarna APK datoteka). Selendroid je često trebao apsolutni put za ovu datoteku
Parametar: -app [put do datoteke]
Na primjer:
U gornjoj naredbi, Selendroid automatski pronalazi bazu binarnih datoteka na "C: \ Guru99App.apk" kako bi dobio informacije o aplikaciji koja se testira.
Provjerite URL http: // localhost: 4444 / wd / hub / status, vidjet ćete ove informacije
- Promijenite port koji Selendroid koristi za komunikaciju s poslužiteljem instrumentacije. Selendroid koristi port 8080 kao zadani
Parametar: -selendroidServerPort [broj porta]
Primjer
Luka je sada promijenjena u 9000
- Promijenite vremensko ograničenje za pokretanje emulatora. Jedinica je milisekunde.
Parametar: -timeoutEmulatorStart
Prema zadanim postavkama, Selendroid će pričekati 300 000 milisekundi dok se emulator ne pokrene. Naredbom možete prijeći na novo vremensko ograničenje (200 000 ms)
Nakon isteka tog vremena, ako se emulator ne može pokrenuti, Selendroid će izbaciti pogrešku o iznimci (Došlo je do pogreške prilikom traženja uređaja / emulatora.), A zatim će se zaustaviti
- Kada pokrenete naredbu Selendroid na terminalu, vidjet ćete zapis ispisan na zaslonu. Možete promijeniti vrstu dnevnika koji vidite dodavanjem sljedećeg parametra
Parametar: -logLevel [vrsta dnevnika]
Vrijednosti dnevnika su ERROR, WARNING, INFO, DEBUG i VERBOSE. Zadana vrijednost: POGREŠKA.
Na primjer, postavite Selendroid da ispisuje samo dnevnik UPOZORENJA, možete koristiti ovu naredbu
Selendroid ispisuje samo dnevnik UPOZORENJA
Započnite svoj prvi test sa Selendroidom
Ovaj je odjeljak korak po korak vodič za stvaranje prve testne skripte pomoću programa Selendroid
Pretpostavimo da imamo Android aplikaciju pod testnim imenom Guru99App. Aplikacija uključuje tekstualno polje i naziv gumba "Prikaži tekst".
PREUZMITE APK OVDJE
Moramo izvršiti sljedeći testni slučaj koristeći Selendroid
Ispitni slučajevi |
Stanje |
Očekivani izlaz: |
|
Dostupna je binarna datoteka aplikacije koja se testira Uređaj je povezan s računalom |
Tekst "Text Show here" mijenja se u tekst koji korisnik unosi u tekstualno polje |
Korak 1) Stvorite Java projekt u Eclipseu
Korak 2) Dodajte datoteku jar selena i Selendroid u okruženju pomrčine
Desnom tipkom miša kliknite Guru99Test Project -> Build Path -> Add External Archives
Dođite do mape u kojoj su pohranjene jar datoteke
Treba dodati 3 jar datoteke
- selendroid-client-0.10.0.jar: Knjižnica klijenta Selendroid Java
- selendroid-standalone-0.11.0-with-dependencies: Selendroid samostalna knjižnica poslužitelja
- selenium-java-2.40.0.jar: Biblioteka Selenium Web Driver
Odaberite sve -> Odaberite Otvori da biste dodali jar datoteku u projekt
Korak 3) nakon dodavanja gornje knjižnice, te će se knjižnice dodati referentnim knjižnicama testnog projekta. Tester može koristiti API-je tih knjižnica za izradu programa ispitivanja
Izradite paket "com.guru.test" i dodajte java datoteku "Guru99Test.java" kao u nastavku
Desni klik Guru99Test -> Novo -> Paket
Upišite com.guru.test u polje Name u dijaloškom okviru New Java Package à Finish
Eclipse će stvoriti ovakve mape i podmape u strukturi izvornog koda
Korak 4) Instalirajte TestNG za Eclipse
U Eclipseu, Pomoć -> Instaliraj novi softver, u dijaloškom okviru Instalacija kliknite Dodaj i unesite sljedeće
- Naziv: TestNG
- Mjesto: http://selendroid.io/
Pritisnite U redu -> Dalje da biste instalirali TestNG
Korak 5) Kopirajte Guru99App.apk u mapu Test App
Korak 6) Dohvatite ID aplikacije na testiranju.
Pretpostavimo da imamo naziv APK datoteke Guru99App.apk. Slijedite korak opisan u prethodnom odjeljku, izvršite naredbu na terminalu
Otvorite sljedeću vezu u pregledniku
http: // localhost: 4444 / wd / hub / status.
Prikazuju se podaci o uređaju, kopirajte vrijednost appId "com.guru99app: 1.0"
Korak 7) Otvorite datoteku Guru99Test.java (u uzorku koda) i promijenite kako slijedi
Da biste stvorili novu test sesiju s Selendroidom, morate navesti ID aplikacije u formatu: com.guru99app: 1.0. Ovaj ID aplikacije može se identificirati u koraku 6. Ako ne postavite Id aplikacije tako da se podudara s Android uređajem, test sesija će izbaciti pogrešku i neće se pokrenuti.
Nakon inicijalizacije pronađenog uređaja, Selendroid kreira prilagođeni selendroid-poslužitelj i na njega instalira Selendroid poslužitelj
Selendroid također instalira testiranu aplikaciju i pokreće selendroid-poslužitelj na uređaju
Nakon uspješne inicijalizacije testne sesije započinje izvršavanje testne naredbe na uređaju. (Kao što je unos teksta, pritisnite gumb
…). Ako se test doda testnoj sesiji, emulator će se automatski zaustavitiKorak 8) Započnite novu test sesiju
Pokrenite Selendroid poslužitelj pomoću sljedeće naredbe na terminalu poput koraka 6
Nakon pokretanja Selendroid poslužitelja otvorite ogledni testni projekt Guru99test na Eclipseu, postavite točku prekida na liniji 77 u datoteci Guru99Test.java dvostrukim klikom na liniju 77 -> Prikazati će se točka kao u nastavku
Započnite test sesiju desnim klikom na projekt Guru99Test -> Otklanjanje pogrešaka kao -> Testng test.
Probna sesija započet će kao u nastavku
Korak 9) Nabavite Id GUI elementa aplikacije koja se testira
Nakon što je test sesija uspješno započela, otvorite preglednik, idite na URL http: // localhost: 4444 / inspector
Vidjet ćete da je aplikacija pod testom pokrenuta kao u nastavku
Koristite pokazivač miša na svaki element korisničkog sučelja AUT (Gumb, Polje teksta, Oznaka teksta), ID svakog elementa označit će se u desnom oknu
Nakon ovog koraka možete dobiti ID svakog gore navedenog elementa korisničkog sučelja
- Gumb Prikaži ID teksta: " btnShow "
- ID tekstualnog polja: " edtText "
- ID teksta oznake: " txtView "
Te će se iskaznice koristiti u sljedećem koraku
Korak 10) Unesite testni program kao u nastavku
Testni program koji koristi Selendroid uključuje 3 odjeljka
Test postavljanja:
Slijedi kôd za test postavljanja, postavit će uvjet za test sesiju. U slučaju pogreške, Selendroid će izbaciti iznimku i aplikacija za testiranje će se zaustaviti.
Kôd uključuje komentare koji objašnjavaju svaku izjavu.
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 koristeći Selendroid* Testirana aplikacija: Guru99App** /javnostrazred Guru99Test {// Deklariraj varijablu web upravljačkog programaprivatni upravljački program za WebDriver;/ *** Postavite okruženje prije testiranja* @throws Izuzetak* /@BeforeSuitejavnostvoid setUp () baca iznimku {// Pokreni selendroid-standalone tijekom testaSelendroidConfiguration config = novi SelendroidConfiguration ();// Dodajte selendroid-test-app na samostalni poslužiteljconfig.addSupportedApp ("Guru99App.apk");// pokretanje samostalnog poslužiteljaSelendroidLauncher selendroidServer = novi SelendroidLauncher (konfiguracija);selendroidServer.launchSelendroid ();// Stvaranje selendroid mogućnostiSelendroidCapabilities capa = novi SelendroidCapabilities ();// Navedite za korištenje selendroidove testne aplikacijecapa.setAut ("com.guru99app: 1.0");// Navedite upotrebu API-ja Android uređaja 19capa.setPlatformVersion (DeviceTargetPlatform.ANDROID19);// Nemojte tražiti simulator, koristite stvarni uređajcapa.setEmulator (lažno);//capa.wait(10000000);// Stvaranje instance Selendroid Drivervozač = novi SelendroidDriver (capa);}
Izvršite test
Ispod je kôd za izvršavanje testa. Kod uključuje komentare
Evo opet koraka za testiranje
- Unesite tekst "Hello Guru"
- Kliknite gumb Prikaži tekst
- Pričekaj malo
- Provjerite prikazuje li aplikacija tekst dok korisnik unosi tekstno polje (npr. Prikažite tekst "Hello Guru")
/ *** Počnite izvršavati test slučaj* 01. U tekstualno polje unesite tekst "Selendroid"* 02. Pritisnite gumb OK* @throws Izuzetak* /@Testjavnostvoid selendroidTest () baca iznimku {// Ispis dnevnikaSystem.out.print ("Pokreni izvršavanje testa");// Pronađite polje za unos teksta na ekranu// ID ovog tekstualnog polja dobiven je iz koraka 9WebElement inputField = driver.findElement (By.id ("edtText"));// Provjerite je li omogućeno tekstno polje kako bi korisnik mogao unijeti tekstAssert.assertEquals ("true", inputField.getAttribute ("enabled"));// Unesite tekst u tekstualno poljeinputField.sendKeys ("Zdravo guru");// kliknite gumb Prikaži tekst// ID ovog gumba dobiven je iz koraka 9Gumb WebElement = driver.findElement (By.id ("btnShow"));button.click ();// Vrijeme odgode da bi stupilo na snaguNavoj.spavanje (5000);// Na ekranu pronađite oznaku "Text Show Here"// ID ove naljepnice bio je preuzeti iz koraka 9WebElement txtView = driver.findElement (By.id ("txtView"));// Omogućite prikaz teksta na zaslonuOčekivani niz = txtView.getText ();// Provjerite je li tekst koji korisnik unosi u tekstualno polje isti kao prikaz teksta na zaslonuAssert.assertEquals (očekuje se, inputField.getText ());}
Završi test
Sljedeći će kôd završiti test zaustavljanjem upravljačkog programa Selendroid.
/ *** Zaustavite upravljački program Selendroid** /@AfterSuitejavnostvoid tearDown () {driver.quit ();}
Pojedinosti možete vidjeti u uzorku koda uključenog u ovaj članak.
Korak 10) Povežite Android uređaj s računalom putem USB kabela. Bodovi za promatranje -
- Provjerite je li na uređaju konfigurirano zaključavanje zaslona.
- Uređaji moraju biti priključeni putem USB-a na računalo na kojem radi samostalna komponenta selendroid.
- Uređaj bi trebao instalirati barem Android Target Version API 10
Korak 11) Pokrenite testnu aplikaciju: Desnom tipkom miša kliknite Guru99test -> Pokreni kao -> TestNG test
Korak 10) Pokretanje skripte izvedeno na sljedeći način
Korak 12) Nakon završetka testa, TestNG automatski generira izvještaj o ispitivanju kako slijedi
Dobar posao, sad ste napravili test.
Sažetak
Sažetak
- Selendroid je vrlo moćan alat za testiranje izvorne aplikacije za Android, hibridne aplikacije kao i web aplikacije.
- Može se koristiti na stvarnim uređajima, kao i na simulatoru.
- Također vam omogućuje paralelno izvođenje testova izvođenjem testa na više uređaja.
- Cijeli paket Selendroid sastoji se od četiri komponente:
- Klijent web upravljačkog programa,
- Selendroid-poslužitelj,
- Aplikacija za upravljački program za Android
- Selendroid-samostalan
- Da biste koristili Selendroid, trebaju vam instalirani Java JDK, Android SDK i Eclipse.