Selendroid Opetusohjelma aloittelijoille esimerkin kanssa

Oletko koskaan kehittänyt Android sovellus ja julkaista se Google Playssa? Mitä teet, jos saat käyttäjäarvion, kuten -

Selendroid oppitunti

Kun julkaiset sovelluksen Google Playssa, se on testattava hyvin mahdollisten virheiden välttämiseksi. On olemassa useita testiskenaarioita, jotka tulisi suorittaa ennen sovelluksen julkaisemista. Tallentaaksesi 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 (Plug and irrota) testauksen aikana käynnistämättä tai pysäyttämättä testiä uudelleen. 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 & navigoi vaiheessa 99 luotuun kansioon Guru1.

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 ja laitetietojen perusteella voit käynnistää seuraavan URL-osoitteen 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-osoite 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 Etsi automaattisesti binääritiedostokanta tiedostosta "C:\Guru99App.apk" saadakseen testattavan sovelluksen tiedot.

    Tarkista URL-osoite 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 nimen "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 "Guru99 testi" 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 Project -> 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ää java-tiedosto "Guru99Test.java" kuten alla

Napsauta hiiren kakkospainikkeella Guru99Test -> 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 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äynnistynyt, avaa näytetestiprojekti Guru99test päällä Eclipse, aseta keskeytyskohta riville 77 tiedostossa Guru99Test.java kaksoisnapsauttamalla riviä 77 -> Näkyviin tulee piste kuten alla

Ensimmäinen testi kanssa Selendroid

Aloita testiistunto napsauttamalla hiiren kakkospainikkeella Guru99Test-projektiin -> Debug As -> Testng Testi.

Testijakso alkaa kuten alla

Ensimmäinen testi kanssa Selendroid

Vaihe 9) Hanki testattavan sovelluksen GUI-elementin tunnus

Kun testiistunto on alkanut onnistuneesti, avaa selain ja siirry URL-osoitteeseen 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 käyttäjän kirjoittaessa 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 päättää testin pysäyttämällä 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.