Selendroid Opetusohjelma aloittelijoille esimerkin kanssa

Oletko koskaan kehittรคnyt Android hakemus ja julkaise se Google Pelaa? Mitรค teet, jos saat kรคyttรคjรคarvostelun, kuten โ€“

Selendroid oppitunti

Kun julkaiset sovelluksen Google Pelin aikana se on testattava hyvin mahdollisten virheiden vรคlttรคmiseksi. Ennen sovelluksen julkaisemista on suoritettava paljon testiskenaarioita. Sรครคstรครคksesi Testaus vaivaa, tarvitset testaustyรถkalun. Yksi parhaista testaustyรถkaluista Android sovellus on Selendroid.

Mikรค on Selendroid?

Selendroid on testiautomaatiokehys monentyyppisille mobiilisovelluksille: syntyperรคinen ja hybridi Android sovellus ja mobile Web.

Mikรค on Selendroid

Voit kirjoittaa kokeet kรคyttรคmรคllรค Selenium 2 asiakassovellusliittymรครค. Koska Selendroid kรคyttรครค edelleen olemassa olevia Selenium infrastruktuuri verkkoa varten

Selendroid on tehokas testaustyรถkalu. Sitรค voidaan kรคyttรครค pรครคllรค emulaattorit ja todellinen laitteet

Mikรค on Selendroid

Miksi tarvitsemme Selendroid?

Selendroid on loistava testaustyรถkalu. Mutta saatat silti epรคillรค sen hyรถdyllisyyttรค.

Miksi tarvitsemme Selendroid

Tรคssรค osiossa esitellรครคn tรคrkeimmรคt ominaisuudet Selendroid vastaamaan kysymykseen, miksi tarvitset Selendroid.

Miksi tarvitsemme Selendroid

  • Voit testata testattavaa sovellusta kรคyttรคmรคllรค Selendroid ilman sovelluksen muutoksia. Tarvitset vain binaaritiedoston (APK) asennettuna tietokoneeseen. Binaaritiedoston asentaminen laitteelle edellyttรครค, ettรค testisovellus ja mobiilisovellus allekirjoitetaan samalla allekirjoitusavaimella
  • Selendroid testisovellus voi olla vuorovaikutuksessa useiden laitteiden tai simulaattoreiden kanssa samanaikaisesti. Se on suuri etu Selendroid. Joten voit testata sovellustasi erilaisilla Android laitteita yhteensopivuuden tarkistamiseksi.
  • Selendroid voi simuloida ihmisen ja kรคyttรคjรคn toimia sovelluksessa, kuten kosketusta, pyyhkรคisyรค, vetรคmistรค ja pudottamista laitteissa
  • Voit vaihtaa laitteistoa (kytkeรค ja irrottaa) testauksen aikana kรคynnistรคmรคttรค uudelleen tai pysรคyttรคmรคttรคping koe. Selendroid tunnistaa uudet laitteet automaattisesti
  • Vastaavat Android API-versio ylรถs, Selendroid tukee myรถs uutta Android API (API 10:stรค API 19:รครคn)
  • Selendroid siinรค on myรถs sisรครคnrakennettu tarkastustyรถkalu, joka auttaa tunnistamaan testattavan sovelluksen kรคyttรถliittymรคelementin. Esimerkiksi ID-painike, tekstikenttรค, tekstinรคkymรคโ€ฆ

Selendroid Archirakenne

Selendroid pohjautuu Android instrumentointikehys. Selendroid testit on kirjoitettu pohjalta Selenium Web-ajurin asiakassovellusliittymรค, joten se tukee tรคyttรค integraatiota nykyisen kanssa Selenium puitteet.

Seuraava kuva kuvaa arkkitehtuuria Selendroid

Selendroid Archirakenne

Selendroid sisรคltรครค 4 pรครคkomponenttia:

Selendroid Archirakenne

  • Web Driver Client - Java asiakaskirjaston perusteella Selenium. Tรคmรค kirjasto tulee asentaa tietokoneeseen (jota kรคytetรครคn testitapausten kehittรคmiseen)
  • Selendroid-Palvelin โ€“ Kรคytettรคvรค palvelin on testattavassa sovelluksessa Android laite tai simulaattori. Tรคmรค on a:n pรครคkomponentit Selendroid arkkitehtuuri
  • Android Driver-App โ€“ sisรครคnrakennettu Android ohjain, Web View -sovellus mobiiliverkon testaamiseen.
  • Selendroid-Standalone โ€“ Tรคtรค komponenttia kรคytetรครคn asentamaan Selendroid palvelin ja testattava sovellus (AUT)

Aloittaminen Selendroid

Tiedรคt jo sen tรคrkeyden Selendroid. Likaantaan nyt kรคtemme Selendroid.

Ennen ensimmรคistรค testiรค on suoritettava 3 vaihetta Selendroid

Aloittaminen Selendroid

Asennus a Selendroid ympรคristรถ

Selendroid voi tyรถskennellรค ikkunassa, Linux ja Mac OS. Tรคssรค opetusohjelmassa mรครคritรคmme Selendroid Windows-kรคyttรถjรคrjestelmรคssรค.

Ennen Selendroid, sinun on ensin asennettava seuraava paketti

  • Java SDK (vรคhintรครคn 1.6)

    Sinun on hyvรคksyttรคvรค kรคyttรถoikeussopimus ja ladattava java-asennusohjelma (valitse x64- tai x86-kanta kรคyttรถjรคrjestelmรคssรคsi)

    Asennus a Selendroid ympรคristรถ

    Lataa ja asenna Java SDK kuin normaali ohjelmisto

  • Uusin versio Android SDK
  • Tietokoneessasi on oltava vรคhintรครคn yksi Android Virtual Device (AVD) tai todellinen Android laite kytkettynรค tietokoneeseen.
  • Selendroid Itsenรคinen riippuvuuksilla, Selendroid Asiakasja Selenium Asiakas
  • Eclipse ohjelmisto
  • Mรครคritรค JAVA_HOME ja ANDROID_HOME

    Vaihe 1) Napsauta ikkunassa hiiren kakkospainikkeella Tietokone -> Kiinteistรถt -> Jรคrjestelmรคn lisรคasetukset

    Asennus a Selendroid ympรคristรถ

    Vaihe 2) Jรคrjestelmรคn ominaisuudet -ikkunan nรคyttรถ, valitse Advanced-vรคlilehti -> ympรคristรถmuuttujat

    Asennus a Selendroid ympรคristรถ

    Vaihe 3) Ympรคristรถ-ikkunassa napsauta Uusi -> Kirjoita muuttuja ANDROID_HOME seuraavasti

    Asennus a Selendroid ympรคristรถ

    Muuttujan arvo on polku android-sdks-tiedostoon, jonka olet jo asentanut.

    Etsi jรคrjestelmรคmuuttuja Path -> muokata -> Lisรครค seuraava rivi nykyisen rivin jรคlkeen

    Asennus a Selendroid ympรคristรถ

    Asennus a Selendroid ympรคristรถ

    Kuten ANDROID_HOME, lisรครค uusi muuttuja JAVA_HOME, jonka arvo on alla

    Asennus a Selendroid ympรคristรถ

    Arvo on polku sinun luoksesi Java JDK asennus

    Vaihe 4) Kรคynnistรค tietokone uudelleen -> valmis

Kuinka kรคynnistรครค Selendroid

Vaihe 1) Testaa hakemus

Voit kรคyttรครค olemassa olevia Selendroid testaa sovellus tarkistaaksesi kuinka Selendroid toimii (Linkki testattavana oleva esimerkkisovellus)

Kun lataus on valmis, kopioi tรคmรค APK ja yllรค olevat Selendroid Itsenรคinen purkki tiedosto kansioon, jonka nimi on "Guru99 "

Vaihe 2) Kรคynnistรค Selendroid

Avaa terminaali pรครคlle Windows & siirry kansioon Guru99 luotiin vaiheessa 1.

Suorita seuraava komento

Kรคynnistรครค Selendroid

Tulos nรคkyy seuraavasti

Kรคynnistรครค Selendroid

Tรคmรคn komennon suorittamisen jรคlkeen Selendroid-erillinen HTTP-palvelin kรคynnistyy! Tรคmรคn palvelimen oletusporttinumero on 4444. Kaikki laitteistot sekรค Android Virtuaalinen laite, skannataan ja tunnistetaan automaattisesti. Selendroid tunnistaa Android kohdeversio ja laitteen nรคytรถn koko.

Voit tarkistaa Android kohdeversion sekรค laitetiedot, voit kรคynnistรครค seuraavat URL selaimessa: http://localhost:4444/wd/hub/status.

Kรคynnistรครค Selendroid

Selendroid peruskomento

Tรคmรค osio esittelee sinulle joitain perustietoja Selendroid- Erillinen komentorivi. Voit kรคyttรครค niitรค mรครคrittรคmรครคn Selendroid testausympรคristรถ

  1. Asetetaan portti Selendroid

    Oletusportti Selendroid on 4444. Voit kuitenkin vaihtaa toiseen porttiin lisรครคmรคllรค parametrin kรคynnistyskomentoon Selendroid

    Parametri: -portti [porttinumero]

    Esimerkiksi:

    Selendroid Peruskomento

    Yllรค olevassa komennossa 5555 on uusi portti.

Joten URL tarkistaa Android kohdeversio on muutettu seuraavaksi: http://localhost:5555/wd/hub/status

  1. Mรครคritรค testattavan sovelluksen sijainti (binaarinen APK-tiedosto). Selendroid vaativat usein tรคmรคn tiedoston absoluuttisen polun

    Parametri: -app [tiedostopolku]

    Esimerkiksi:

    Selendroid Peruskomento

    Yllรค olevassa komennossa Selendroid etsii automaattisesti binรครคritiedoston "C:\"-kansiostaGuru99App.apkโ€ saadaksesi testattavan sovelluksen tiedot.

    Tarkista URL http://localhost:4444/wd/hub/status, nรคet nรคmรค tiedot

    Selendroid Peruskomento

  2. Vaihda portti Selendroid kรคyttรครค kommunikointiin instrumentointipalvelimen kanssa. Selendroid kรคyttรครค porttia 8080 oletuksena

    Parametri: -selenroidServerPort [porttinumero]

    esimerkki

    Selendroid Peruskomento

    Portiksi on nyt vaihdettu 9000

  3. Muuta aikakatkaisua emulaattorien kรคynnistรคmiseksi. Yksikkรถ on millisekuntia.

    Parametri: -timeoutEmulatorStart

    Oletusarvoisesti Selendroid odottaa 300,000 200,000 millisekuntia, kunnes emulaattori kรคynnistyy. Voit vaihtaa uuteen aikakatkaisuun (XNUMX XNUMX ms) komennolla

    Selendroid Peruskomento

    Tรคmรคn ajan jรคlkeen meidรคn vanhentunut, jos emulaattori ei voi kรคynnistyรค, Selendroid lรคhettรครค poikkeusvirheen (Virhe etsittรคessรค laitteita/emulaattoreita.) ja lopettaa toiminnan

  4. Kun aloitat Selendroid komento pรครคtteessรค, nรคet lokin tulostettuna nรคytรถlle. Voit muuttaa nรคkemรคsi lokin tyyppiรค lisรครคmรคllรค seuraavan parametrin

    Parametri: -logLevel [lokin tyyppi]

    Lokitason arvot ovat ERROR, WARNING, INFO, DEBUG ja VERBOSE. Oletus: ERROR.

    Esimerkiksi asettaa Selendroid tulostaaksesi vain VAROITUSlokin, voit kรคyttรครค tรคtรค komentoa

    Selendroid Peruskomento

    Selendroid tulosta vain VAROITUSloki

Aloita ensimmรคinen testi Selendroid

Tรคmรค osio on vaiheittainen opas ensimmรคisen testiskriptin luomiseen kรคyttรคmรคllรค Selendroid

Oletetaan, ettรค meillรค on Android sovellus testinimellรค Guru99App. Sovellus sisรคltรครค tekstikentรคn ja painikkeen nimeltรค โ€Nรคytรค tekstiโ€.

LATAA APK Tร„STร„

Ensimmรคinen testi kanssa Selendroid

Meidรคn on suoritettava seuraava Testitapaus kรคyttรคmรคllรค Selendroid

Testitapaukset Kunto Odotettu tulos
  1. Aloita sovellus
  2. Kirjoita teksti "GuruKOSKAAN Testaa" tekstikenttรครคn
  3. Paina "Nรคytรค teksti" -painiketta
Testattavan sovelluksen binaari on saatavilla

Laite on kytketty tietokoneeseen

Teksti "Tekstiesitys tรครคllรค" muutetaan tekstiksi

jonka kรคyttรคjรค kirjoittaa tekstikenttรครคn

Vaihe 1) Luo Java projekti vuonna Eclipse

Vaihe 2) Lisรครค seleeniรค ja Selendroid jar-tiedosto eclipse-ympรคristรถissรค

Napsauta hiiren kakkospainikkeella Guru99Test-projekti -> Rakennuspolku -> Lisรครค ulkoinen Archives

Ensimmรคinen testi kanssa Selendroid

Siirry kansioon, johon jar-tiedostot on tallennettu

3 jar-tiedostoa pitรคisi lisรคtรค

  • selenroid-client-0.10.0.jar : Selendroid java asiakaskirjasto
  • Selenroid-erillinen-0.11.0-riippuvuuksilla: Selendroid erillinen palvelinkirjasto
  • seleeni-java-2.40.0.jar: Selenium Web Driver -kirjasto

Valitse kaikki -> Valitse Avaa lisรคtรคksesi jar-tiedoston projektiin

Ensimmรคinen testi kanssa Selendroid

Vaihe 3) yllรค olevan kirjaston lisรครคmisen jรคlkeen kyseiset kirjastot lisรคtรครคn testiprojektin viitekirjastoihin. Testaaja voi kรคyttรครค nรคiden kirjastojen sovellusliittymiรค testiohjelman kehittรคmiseen

Luo paketti โ€com.guru.testโ€ ja lisรครค siihen Java-tiedosto โ€Guru99Test.javaโ€ kuten alla

Klikkaa hiiren oikealla Guru99 Testi -> Uusi -> Paketti

Ensimmรคinen testi kanssa Selendroid

Kirjoita Uusi-kohdan Nimi-kenttรครคn com.guru.test Java Paketin valintaikkuna ร  Valmis

Ensimmรคinen testi kanssa Selendroid

Eclipse luo tรคmรคn kaltaisia โ€‹โ€‹luettelokansioita ja alikansioita lรคhdekoodirakenteeseen

Ensimmรคinen testi kanssa Selendroid

Vaihe 4) install TestNG varten Eclipse

In Eclipse, Auta -> Asenna uusi ohjelmisto, napsauta asennusvalintaikkunassa Lisรครค ja kirjoita seuraava

Paina OK -> Seuraavaksi asentaa TestNG

Ensimmรคinen testi kanssa Selendroid

Vaihe 5) Kopioi Guru99App.apk Test App -kansioon

Ensimmรคinen testi kanssa Selendroid

Vaihe 6) Hanki testattavan sovelluksen tunnus.

Oletetaan, ettรค meillรค on APK-tiedostonimi Guru99App.apk. Noudata edellisessรค osiossa kuvattua vaihetta ja suorita komento terminaalissa.

Ensimmรคinen testi kanssa Selendroid

Avaa seuraava linkki selaimessa: http://localhost:4444/wd/hub/status.

Laitteen tiedot tulevat nรคkyviin, kopioi appId-arvo "com.guru99app:1.0"

Ensimmรคinen testi kanssa Selendroid

Vaihe 7) Avaa tiedosto Guru99Test.java (esimerkkikoodissa) ja muuta se seuraavasti

Ensimmรคinen testi kanssa Selendroid

Luodaksesi uuden testiistunnon kanssa Selendroid, sinun on annettava sovelluksen tunnus muodossa: com.guru99app:1.0. Tรคmรค sovellustunnus tunnistetaan vaiheessa 6. Jos et aseta sovellustunnusta vastaavaksi Android laitteella, testiistunto antaa virheen eikรค kรคynnisty.

Kun lรถydetty laite on alustettu, Selendroid luo mukautetun selenroid-palvelimen ja asentaa sen Selendroid palvelin siinรค

Selendroid asentaa myรถs testattavan sovelluksen ja kรคynnistรครค selenroid-palvelimen laitteessa

Kun testiistunto on alustettu onnistuneesti, testikomento alkaa suorittaa laitteella. (Kuten tekstin syรถttรคminen, paina painikettaโ€ฆ). Jos testi lisรครค testiistunnon, emulaattori pysรคhtyy automaattisesti

Vaihe 8) Aloita uusi testiistunto

Kรคynnistรค Selendroid palvelin kรคyttรคen seuraavaa komentoa pรครคtteessรค, kuten vaiheessa 6

Ensimmรคinen testi kanssa Selendroid

Jรคlkeen Selendroid Palvelin kรคynnistetty, avaa esimerkkitestausprojekti Guru99-testi pรครคllรค Eclipse, aseta keskeytyskohta tiedoston riville 77 Guru99Test.java kaksoisnapsauttamalla riviรค 77 -> Nรคkyviin tulee piste kuten alla

Ensimmรคinen testi kanssa Selendroid

Aloita testisessio napsauttamalla hiiren kakkospainikkeella Guru99Test-projekti -> Debug As -> Testng Testi.

Testijakso alkaa kuten alla

Ensimmรคinen testi kanssa Selendroid

Vaihe 9) Hanki testattavan sovelluksen GUI-elementin tunnus

Kun testi on alkanut onnistuneesti, avaa selain ja siirry osoitteeseen URL http://localhost:4444/inspector

Nรคet, ettรค testattava sovellus kรคynnistetรครคn kuten alla

Ensimmรคinen testi kanssa Selendroid

Vie hiiri kunkin AUT:n kรคyttรถliittymรคelementin kohdalle (painike, tekstikenttรค, tekstitunniste), kunkin elementin tunnus korostuu oikeanpuoleisessa ruudussa

Ensimmรคinen testi kanssa Selendroid

Tรคmรคn vaiheen jรคlkeen saat jokaisen yllรค olevan kรคyttรถliittymรคelementin tunnuksen

  • Painike Nรคytรค tekstitunnus: โ€œbtnShow"
  • Tekstikentรคn tunnus: "edtText"
  • Tunnisteen tekstitunnus: "txtView"

Nรคitรค tunnuksia kรคytetรครคn seuraavassa vaiheessa

Vaihe 10) Anna testiohjelma alla olevan mukaisesti

Testiohjelma kรคyttรครค Selendroid sisรคltรครค 3 osaa

Asennustesti:

Seuraavassa on asetustestin koodi, joka mรครคrittรครค testiistunnon ehdot. Jos tapahtuu virhe, Selendroid tekee poikkeuksen ja testisovellus pysรคhtyy.

Koodi sisรคltรครค kommentit, jotka selittรคvรคt jokaisen vรคitteen.

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);
					       
		    }
		

Suorita testi

Alla on koodi testin suorittamiseksi. Koodi sisรคltรครค kommentit

Tรคssรค taas testivaiheet

  1. Kirjoita teksti "Hei Guru"
  2. Napsauta Nรคytรค teksti -painike
  3. Odota hetki
  4. Varmista, ettรค sovellus nรคyttรครค tekstin, kun kรคyttรคjรค kirjoittaa sen tekstikenttรครคn (esim. Nรคytรค teksti "Hei 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());        
		
     }

Viimeistele testi

Seuraava koodi suorittaa testin loppuun pysรคyttรคmรคllรคping Ishayoiden opettaman Selendroid kuljettaja.

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

Nรคet yksityiskohdat tรคhรคn artikkeliin sisรคltyvรคstรค esimerkkikoodista.

Vaihe 10) kytkeรค Android laitteesta tietokoneeseen USB-kaapelilla. Huomioitavaa -

  • Varmista, ettรค laitteessa ei ole mรครคritetty nรคytรถn lukitusta.
  • Laitteet on liitettรคvรค USB:n kautta tietokoneeseen, jossa Selenroid-erillinen komponentti toimii.
  • Laite tulee asentaa vรคhintรครคn Android Target Versio API 10

Vaihe 11) Suorita testisovellus: Napsauta hiiren kakkospainikkeella Guru99test -> Suorita nimellรค -> TestNG testi

Ensimmรคinen testi kanssa Selendroid

Vaihe 10) Skripti kรคynnistyy seuraavasti

Ensimmรคinen testi kanssa Selendroid

Vaihe 12) Kun testi on suoritettu, TestNG auto luo testiraportin seuraavasti

Ensimmรคinen testi kanssa Selendroid

Ensimmรคinen testi kanssa Selendroid

Hyvรครค tyรถtรค, olet nyt suorittanut kokeen.

Yhteenveto

  • Selendroid on erittรคin tehokas tyรถkalu testaukseen Android natiivisovellus, hybridisovellus sekรค verkkosovellus.
  • Sitรค voidaan kรคyttรครค oikeilla laitteilla sekรค simulaattorilla.
  • Sen avulla voit myรถs suorittaa testejรค rinnakkain suorittamalla testin useilla laitteilla.
  • Koko Selendroid sviitti koostuu neljรคstรค osasta:
    • Web Driver asiakas,
    • Selendroid- Palvelin,
    • Android Kuljettajasovellus
    • Selendroid- seiso yksin
  • Kรคyttรครค Selendroid tarvitset Java JDK, Android SDK ja Eclipse asennettu.

Tiivistรค tรคmรค viesti seuraavasti: