Selendroid Udžbenik za početnike s primjerom

Jeste li ikada razvili Android aplikaciju i objaviti je na Google Playu? Što ćete učiniti ako dobijete recenziju korisnika poput –

Selendroid Tutorijal

Kada objavite aplikaciju na Google Playu, ona mora biti dobro testirana kako biste izbjegli moguće greške. Postoji gomila testnih scenarija koje treba izvršiti prije objavljivanja aplikacije. Da biste spasili Ispitivanje napor, potreban vam je alat za testiranje. Jedan od najboljih alata za testiranje Android aplikacija je Selendroid.

Što je Selendroid?

Selendroid je okvir za automatizaciju testiranja za više vrsta mobilnih aplikacija: rođen i hibrid Android app i mobilni Web.

Što je Selendroid

Testove možete pisati pomoću Selenium 2 klijentska API-ja. Jer Selendroid još uvijek ponovne upotrebe postojećeg Selenium infrastruktura za web

Selendroid je moćan alat za testiranje. Može se koristiti na emulators i pravi uređaji

Što je Selendroid

Zašto nam treba Selendroid?

Selendroid je izvrstan alat za testiranje. Ali još uvijek možete sumnjati u njegovu korisnost.

Zašto nam treba Selendroid

Ovaj odjeljak predstavit će važne značajke Selendroid odgovoriti na pitanje zašto vam je potrebno Selendroid.

Zašto nam treba Selendroid

  • Testiranu aplikaciju možete testirati pomoću Selendroid bez ikakvih izmjena aplikacije. Trebate samo binarnu datoteku (APK) instaliran na računalu. Kako bi se binarna datoteka instalirala na uređaj, testna aplikacija i mobilna aplikacija moraju biti potpisane istim znakovnim ključem
  • Selendroid testna aplikacija može komunicirati s više uređaja ili simulatora istovremeno. To je velika prednost Selendroid. Tako da možete testirati svoju aplikaciju s različitim Android uređaja za provjeru kompatibilnosti.
  • Selendroid može simulirati radnje čovjeka i korisnika u aplikaciji, kao što su dodir, prevlačenje, povlačenje i ispuštanje na uređajima
  • Možete promijeniti hardverske uređaje (uključi i isključi) tijekom testiranja bez ponovnog pokretanja ili zaustavljanja testa. Selendroid automatski prepoznaje nove uređaje
  • Odgovarajući na Android API verzija gore, Selendroid također podržava novi Android API (od API 10 do API 19)
  • Selendroid također ima neki ugrađeni alat za nadzor koji vam pomaže identificirati UI element aplikacije koja se testira. Na primjer gumb ID, tekstno polje, prikaz teksta…

Selendroid Architektura

Selendroid temelji se na Android okvir instrumentacije. Selendroid testovi se pišu na temelju Selenium API klijenta web upravljačkog programa, tako da podržava punu integraciju s trenutnim Selenium okviri.

Sljedeća slika opisuje arhitekturu Selendroid

Selendroid Architektura

Selendroid sadrži 4 glavne komponente:

Selendroid Architektura

  • Web Driver Client – ​​The Java klijentska knjižnica temeljena na Selenium. Ova biblioteka treba biti instalirana na računalu (koje se koristi za razvoj testnih slučajeva)
  • Selendroid-Poslužitelj – Poslužitelj koji radi nalazi se u aplikaciji koja se testira Android uređaj ili simulator. Ovo su glavne komponente a Selendroid arhitektura
  • Android Aplikacija za vozača – ugrađena Android vozač, aplikacija Web View za testiranje mobilnog weba.
  • Selendroid-Standalone – Ova se komponenta koristi za instaliranje Selendroid poslužitelj i aplikacija koja se testira (AUT)

Početak rada Selendroid

Već ste upoznati s važnosti Selendroid. Sada zaprljajmo ruke Selendroid.

Prije prvog testa potrebno je napraviti 3 koraka Selendroid

Početak rada Selendroid

Postavljanje a Selendroid okolina

Selendroid može raditi na Windowsu, Linux i Mac OS. U ovom vodiču ćemo postaviti Selendroid u OS-u Windows.

Prije korištenja Selendroid, prvo trebate instalirati sljedeći paket

  • Java SDK (minimalno 1.6)

    Morate prihvatiti licencni ugovor i preuzeti java instalacijski program (odaberite x64 ili x86 bazu na vašem OS-u)

    Postavljanje a Selendroid okolina

    Preuzmite i instalirajte Java SDK kao uobičajeni softver

  • Najnovija verzija Android SDK
  • Vaše računalo mora imati barem jedan Android Virtualni uređaj (AVD), ili pravi Android uređaj priključen na računalo.
  • Selendroid Samostalan s ovisnostima, Selendroid Klijenti Selenium Klijent
  • Eclipse softver
  • Postavite JAVA_HOME i ANDROID_HOME

    Korak 1) U prozoru desnom tipkom miša kliknite Računalo -> Nekretnine -> Napredne postavke sustava

    Postavljanje a Selendroid okolina

    Korak 2) Prikaz prozora Svojstva sustava, odaberite karticu Napredno -> Varijable okoline

    Postavljanje a Selendroid okolina

    Korak 3) U prozoru okruženja kliknite Novo -> Unesite varijablu ANDROID_HOME na sljedeći način

    Postavljanje a Selendroid okolina

    Vrijednost varijable je put do android-sdks koji ste već instalirali.

    Pronađite sistemsku varijablu Path -> Uredi -> Dodajte sljedeći redak nakon trenutnog retka

    Postavljanje a Selendroid okolina

    Postavljanje a Selendroid okolina

    Slično ANDROID_HOME, dodajte novu varijablu JAVA_HOME s vrijednošću kao u nastavku

    Postavljanje a Selendroid okolina

    Vrijednost je Put do vašeg Java JDK instalacija

    Korak 4) Ponovno pokrenite računalo -> Gotovo

Kako pokrenuti Selendroid

Korak 1) Testiranje aplikacije

Možete koristiti postojeće Selendroid testiraj aplikaciju da provjeriš kako Selendroid radi (Veza na uzorak aplikacije koja se testira)

Kada preuzimanje završi, kopirajte ovaj APK i gornji Selendroid Samostalna staklenka datoteku u mapu s nazivom "Guru99″

Korak 2) Pokrenite Selendroid

Otvorite terminal na Windows & idite do mape Guru99 stvorene u koraku 1.

Pokrenite sljedeću naredbu

Lansirati Selendroid

Izlaz će se prikazati na sljedeći način

Lansirati Selendroid

Nakon pokretanja ove naredbe, Selendroid-pokreće se samostalni HTTP poslužitelj! Zadani broj porta ovog poslužitelja je 4444. Svi hardverski uređaji, kao i Android Virtualni uređaj automatski će se skenirati i prepoznati. Selendroid će identificirati Android ciljanu verziju i veličinu zaslona uređaja.

Da biste provjerili Android ciljanu verziju kao i informacije o uređaju, možete pokrenuti sljedeći URL u pregledniku: http://localhost:4444/wd/hub/status.

Lansirati Selendroid

Selendroid osnovna naredba

Ovaj vam odjeljak predstavlja neke osnovne Selendroid-Samostalna naredbena linija. Možete ih koristiti za postavljanje Selendroid okolina za testiranje

  1. Postavljanje luke Selendroid

    Zadana luka Selendroid je 4444. Ali možete promijeniti na drugi port dodavanjem parametra naredbi za pokretanje Selendroid

    Parametar: -port [broj porta]

    Na primjer:

    Selendroid Osnovna naredba

    U gornjoj naredbi, 5555 je novi port.

Dakle, URL za provjeru Android ciljna verzija je promijenjena u: http://localhost:5555/wd/hub/status

  1. Navedite lokaciju aplikacije koja se testira (binarna APK datoteka). Selendroid često zahtijeva apsolutni put za ovu datoteku

    Parametar: -ap [put do datoteke]

    Na primjer:

    Selendroid Osnovna naredba

    U gornjoj naredbi, Selendroid automatski pronađite bazu binarnih datoteka na “C:\Guru99App.apk” kako biste dobili informacije o aplikaciji koja se testira.

    Provjerite URL http://localhost:4444/wd/hub/status, vidjet ćete ove informacije

    Selendroid Osnovna naredba

  2. Promijenite priključak Selendroid koristi za komunikaciju s instrumentacijskim poslužiteljem. Selendroid koristi port 8080 kao zadani

    Parametar: -selendroidServerPort [broj porta]

    Primjer

    Selendroid Osnovna naredba

    Port je sada promijenjen u 9000

  3. Promijenite vrijeme čekanja za pokretanje emulatora. Jedinica je milisekunda.

    Parametar: -timeoutEmulatorStart

    Po defaultu, Selendroid čekat će 300,000 200,000 milisekundi dok se emulator ne pokrene. Naredbom možete promijeniti na novi timeout (XNUMX XNUMX ms).

    Selendroid Osnovna naredba

    Nakon tog vremena naš je istekao, ako se emulator ne može pokrenuti, Selendroid izbacit će pogrešku iznimke (Došlo je do pogreške prilikom traženja uređaja/emulatora.) zatim prestati s radom

  4. Kada pokrenete Selendroid naredbu na terminalu, vidjet ćete dnevnik ispisan na ekranu. Možete promijeniti vrstu zapisnika koji vidite dodavanjem sljedećeg parametra

    Parametar: -logLevel [vrsta dnevnika]

    Vrijednosti razine zapisnika su ERROR, WARNING, INFO, DEBUG i VERBOSE. Zadano: POGREŠKA.

    Na primjer, postavite Selendroid za ispis samo dnevnika UPOZORENJA, možete koristiti ovu naredbu

    Selendroid Osnovna naredba

    The Selendroid ispisati samo dnevnik UPOZORENJA

Započnite svoj prvi test sa Selendroid

Ovaj odjeljak je korak po korak vodič za stvaranje vaše prve testne skripte pomoću Selendroid

Pretpostavimo da imamo Android aplikacija pod testnim imenom Guru99App. Aplikacija uključuje tekstualno polje i naziv gumba "Prikaži tekst".

PREUZMITE APK OVDJE

Prvi test sa Selendroid

Moramo izvršiti sljedeće Testni slučaj koristeći Selendroid

Testni slučajevi Stanje Očekivani učinak
  1. Pokrenite program
  2. Unesite tekst "Guru99 Test” u tekstualno polje
  3. Pritisnite gumb "Prikaži tekst".
Dostupna je binarna datoteka aplikacije koja se testira

Uređaj je spojen na računalo

Tekst "Tekst Prikaži ovdje" mijenja se u tekst

koje korisnik unosi u tekstualno polje

Korak 1) Napravite Java projekt u Eclipse

Korak 2) Dodajte selen i Selendroid jar datoteka u eclipse okruženjima

Desnom tipkom miša kliknite Guru99Test Project -> Put izgradnje -> Dodaj vanjski Archives

Prvi test sa Selendroid

Dođite do mape u kojoj su pohranjene jar datoteke

Treba dodati 3 jar datoteke

  • selendroid-client-0.10.0.jar : Selendroid biblioteka java klijenta
  • selendroid-standalone-0.11.0-with-dependencies: Selendroid knjižnica samostalnog poslužitelja
  • selen-java-2.40.0.jar : Selenium Web Driver biblioteka

Odaberi sve -> Odaberite Otvori za dodavanje jar datoteke u projekt

Prvi test sa Selendroid

Korak 3) nakon dodavanja gornje biblioteke, te će biblioteke biti dodane Referentnim bibliotekama testnog projekta. Ispitivač može koristiti API-je tih biblioteka za razvoj testnog programa

Napravite paket “com.guru.test” i dodajte java datoteku “Guru99Test.java” kao ispod

Desni klik Guru99Test -> Novo -> Paket

Prvi test sa Selendroid

Upišite com.guru.test u polje Name na New Java Dijaloški okvir paketa do kraja

Prvi test sa Selendroid

The Eclipse će stvoriti popisne mape i podmape poput ove u strukturi izvornog koda

Prvi test sa Selendroid

Korak 4) Instalirati TestNG za Eclipse

In Eclipse, Pomoć -> Instalirajte novi softver, u dijaloškom okviru za instalaciju kliknite Dodaj i unesite sljedeće

Pritisnite OK -> Sljedeći za instaliranje TestNG

Prvi test sa Selendroid

Korak 5) Kopirajte Guru99App.apk u mapu Test App

Prvi test sa Selendroid

Korak 6) Dobijte ID aplikacije koja se testira.

Pretpostavimo da imamo APK datoteku naziva Guru99App.apk. Slijedite korak koji je opisan u prethodnom odjeljku, izvršite naredbu na terminalu

Prvi test sa Selendroid

Otvorite sljedeću vezu u pregledniku: http://localhost:4444/wd/hub/status.

Prikazuju se informacije o uređaju, kopirajte appId vrijednost “com.guru99app:1.0”

Prvi test sa Selendroid

Korak 7) Otvorite datoteku Guru99Test.java (u uzorku koda) i promijenite na sljedeći način

Prvi test sa Selendroid

Za stvaranje nove testne sesije s Selendroid, 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 koji odgovara Android uređaja, testna sesija će izbaciti pogrešku i neće se pokrenuti.

Nakon inicijalizacije pronađenog uređaja, Selendroid stvara prilagođeni selendroid-poslužitelj i instalira Selendroid poslužitelj na njemu

Selendroid također instalira aplikaciju koja se testira i pokreće selendroid-poslužitelj na uređaju

Nakon uspješnog pokretanja testne sesije, testna naredba počinje se izvršavati na uređaju. (Kao što je unos teksta, pritisnite gumb…). Ako test doda testnu sesiju, emulator će se automatski zaustaviti

Korak 8) Započnite novu testnu sesiju

Pokrenite Selendroid poslužitelj koristeći sljedeću naredbu na terminalu poput koraka 6

Prvi test sa Selendroid

Nakon što Selendroid Poslužitelj je pokrenut, otvorite primjer testnog projekta Guru99test na Eclipse, postavite prijelomnu točku na liniji 77 u datoteci Guru99Test.java dvostrukim klikom na liniju 77 -> Prikazat će se točka kao ispod

Prvi test sa Selendroid

Započnite testnu sesiju desnim klikom na Guru99Test projekt -> Debug As -> Testng Test.

Testna sesija započet će kao u nastavku

Prvi test sa Selendroid

Korak 9) Dohvatite ID GUI elementa aplikacije koja se testira

Nakon uspješnog pokretanja testne sesije, otvorite preglednik, idite na URL http://localhost:4444/inspector

Vidjet ćete da je aplikacija pod testom pokrenuta kao ispod

Prvi test sa Selendroid

Upotrijebite pokazivač miša na svaki element korisničkog sučelja AUT (Gumb, TextField, Text Label), ID svakog elementa bit će istaknut u desnom oknu

Prvi test sa Selendroid

Nakon ovog koraka možete dobiti ID svakog gornjeg elementa korisničkog sučelja

  • Gumb Prikaži ID teksta: “btnShow"
  • ID tekstualnog polja: “edtTekst"
  • ID teksta oznake: “txtView"

Ti ID-ovi će se koristiti u sljedećem koraku

Korak 10) Unesite testni program kao ispod

Testni program koji koristi Selendroid uključuje 3 odjeljka

Test postavljanja:

Slijedi kôd za test postavljanja, koji će postaviti uvjet za testnu sesiju. U slučaju pogreške, Selendroid izbacit će iznimku i testna aplikacija će se zaustaviti.

Kod uključuje komentare koji objašnjavaju svaku izjavu.

package com.guru.test;
		
 import io.selendroid.SelendroidCapabilities;
		import io.selendroid.SelendroidConfiguration;
		import io.selendroid.SelendroidDriver;
		import io.selendroid.SelendroidLauncher;
		import io.selendroid.device.DeviceTargetPlatform;
		
		import org.openqa.selenium.By;
		import org.openqa.selenium.WebDriver;
		import 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 using Selendroid
			 * Application under test: Guru99App
		 *
		 */
		public
				class Guru99Test {
				
				     //Declare web driver variable
		    private WebDriver driver;
					   
   
		    /**
		     * Setup the environment before testing
		     * @throws Exception
			     */
		    @BeforeSuite
		    public
					void setUp() throws Exception {
							
        //Start selendroid-standalone during test
		        SelendroidConfiguration config = new SelendroidConfiguration();
			        
		      // Add the selendroid-test-app to the standalone server
		        config.addSupportedApp("Guru99App.apk");
			        
                 
		        //start the standalone server
		        SelendroidLauncher selendroidServer = new SelendroidLauncher(config);
			        selendroidServer.launchSelendroid();
		        
		       // Create the selendroid capabilities
		        SelendroidCapabilities capa = new SelendroidCapabilities();
			        
        
		       // Specify to use selendroid's test app
		        capa.setAut("com.guru99app:1.0");
			       
		       // Specify to use the Android device API 19
		        capa.setPlatformVersion(DeviceTargetPlatform.ANDROID19);
			        
		        // Don't request simulator, use real device
		        capa.setEmulator(false);
			        
         
		        //capa.wait(10000000);
		        
		        // Create instance of Selendroid Driver
		        driver = new SelendroidDriver(capa);
					       
		    }
		

Izvrši test

Ispod je kôd za izvođenje testa. Kod uključuje komentare

Evo ponovno koraka testa

  1. Unesite tekst "Hello Guru"
  2. Pritisnite gumb Prikaži tekst
  3. Pričekaj malo
  4. Provjerite prikazuje li aplikacija tekst kada korisnik unese tekstno polje (npr. Prikažite tekst "Hello Guru")
 /**
		     * Start execute the test case
		     * 01. Enter the text "Selendroid" to the textfield
		     * 02. Press OK button
		     * @throws Exception
			     */
		    @Test
		    public
					void selendroidTest() throws Exception {
							        
		        // Print the log 
		        System.out.print("Start executing test");
					        
		        // Find the input text field on screen
        // The id of this text field was get from step 9
		        WebElement inputField = driver.findElement(By.id("edtText"));
					        
		        // Verify that the text field enabled so user can enter text
		        Assert.assertEquals("true", inputField.getAttribute("enabled"));
					        
		        // Enter a text to text field
		        inputField.sendKeys("Hello Guru");        
			
         // click Show Text button
        // The id of this button was get from step 9
		        WebElement button = driver.findElement(By.id("btnShow"));
					        button.click();
		        
		        // Delay time to take effect
		        Thread.sleep(5000);
		        
		        //Find the label "Text Show Here" on screen
        // The id of this label was get from step 9
		        WebElement txtView = driver.findElement(By.id("txtView"));
					        
		        //Get the text display on screen
		        String expected = txtView.getText();
		        
		// Verify that the text which user enter on text field is same as text display on screen
		        Assert.assertEquals(expected, inputField.getText());        
		
     }

Završi test

Sljedeći kod dovršit će test zaustavljanjem Selendroid vozač.

 /**
		     * Stop the Selendroid driver
		     * 
		     */
		    @AfterSuite
		    public
					void tearDown() {
					        driver.quit();
			    }

Pojedinosti možete vidjeti u primjeru koda uključenom u ovaj članak.

Korak 10) Connect Android uređaj na računalo putem USB kabela. Točke 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 se pokreće selendroid-standalone komponenta.
  • Uređaj bi trebao instalirati barem Android Target Verzija API-ja 10

Korak 11) Pokrenite aplikaciju za testiranje: desnom tipkom miša kliknite Guru99test -> Trčati kao -> TestNG test

Prvi test sa Selendroid

Korak 10) Skripta se počinje izvršavati na sljedeći način

Prvi test sa Selendroid

Korak 12) Nakon što test završi s izvođenjem, TestNG automatski generira izvješće o ispitivanju na sljedeći način

Prvi test sa Selendroid

Prvi test sa Selendroid

Bravo, sada ste završili test.

Rezime

  • Selendroid je vrlo moćan alat za testiranje Android izvorna aplikacija, hibridna aplikacija kao i web aplikacija.
  • Može se koristiti na stvarnim uređajima kao i na simulatoru.
  • Također vam omogućuje paralelno pokretanje testova izvođenjem testa na više uređaja.
  • Cijela Selendroid paket se sastoji od četiri komponente:
    • Web Driver klijent,
    • Selendroid-poslužitelj,
    • Android Aplikacija za vozača
    • Selendroid-samostalan
  • Koristiti Selendroid trebaš Java JDK, Android SDK i Eclipse instaliran.

Dnevni bilten Guru99

Započnite dan s najnovijim i najvažnijim vijestima o umjetnoj inteligenciji koje vam donosimo upravo sada.