Selendroid Õpetus näitega algajatele

Kas olete kunagi välja töötanud Android rakendust ja avaldada see Google Plays? Mida teete, kui saate kasutajalt arvustuse nagu -

Selendroid juhendaja

Kui avaldate rakenduse Google Plays, peab see potentsiaalsete vigade vältimiseks olema hästi testitud. Enne rakenduse avaldamist tuleks läbi viia palju teststsenaariume. Et salvestada Testimine jõupingutusi, vajate testimisvahendit. Üks parimaid testimisvahendeid Android rakendus on Selendroid.

Mis on Selendroid?

Selendroid on testimise automatiseerimise raamistik mitut tüüpi mobiilirakenduste jaoks: emakeelena ja hübriid Android rakendus ja liikuv veebis.

Mis on Selendroid

Teste saate kirjutada kasutades Selenium 2 kliendi API-d. Sest Selendroid ikka taaskasutab olemasolevat Selenium infrastruktuur veebi jaoks

Selendroid on võimas testimisvahend. Seda saab kasutada emulaatorid ja päris seadmed

Mis on Selendroid

Miks me vajame Selendroid?

Selendroid on suurepärane testimisvahend. Kuid võite siiski kahelda selle kasulikkuses.

Miks me vajame Selendroid

Selles jaotises tutvustatakse selle olulisi funktsioone Selendroid et vastata küsimusele, miks seda vaja on Selendroid.

Miks me vajame Selendroid

  • Testitavat rakendust saate testida kasutades Selendroid ilma rakendust muutmata. Teil on vaja lihtsalt binaarfaili (APK) arvutisse installitud. Binaarfaili seadmesse installimiseks peavad testrakendus ja mobiilirakendus olema allkirjastatud sama märgivõtmega
  • Selendroid testrakendus saab samaaegselt suhelda mitme seadme või simulaatoriga. See on suur eelis Selendroid. Nii saate oma rakendust testida erinevate rakendustega Android seadmeid ühilduvuse kontrollimiseks.
  • Selendroid saab simuleerida inimese-kasutaja toiminguid rakenduses, nagu puudutamine, pühkimine, seadmetes pukseerimine
  • Saate testimise ajal riistvaraseadmeid (Plug and Unplug) vahetada ilma testi uuesti käivitamata või peatamata. Selendroid tuvastab uued seadmed automaatselt
  • Vastab Android API versioon üles, Selendroid toetab ka uut Android API (Alates API 10 kuni API 19)
  • Selendroid Sellel on ka mõni sisseehitatud inspektori tööriist, mis aitab tuvastada testitava rakenduse kasutajaliidese elementi. Näiteks ID-nupp, tekstiväli, tekstivaade…

Selendroid Architektuur

Selendroid põhineb Android instrumentide raamistik. Selendroid testid on kirjutatud alusel Selenium Veebidraiveri kliendi API, nii et see toetab täielikku integreerimist praegusega Selenium raamistikud.

Järgmine joonis kirjeldab selle arhitektuuri Selendroid

Selendroid Architektuur

Selendroid sisaldab 4 peamist komponenti:

Selendroid Architektuur

  • Veebidraiveri klient – ​​The Java klienditeegi põhjal Selenium. See raamatukogu peaks olema arvutisse installitud (mida kasutatakse testjuhtumite väljatöötamiseks)
  • Selendroid-Server – server, mis töötab testitavas rakenduses Android seade või simulaator. See on a Selendroid arhitektuur
  • Android Draiveri rakendus – sisseehitatud Android draiver, veebivaate rakendus mobiilse veebi testimiseks.
  • Selendroid- Eraldi – seda komponenti kasutatakse installimiseks Selendroid server ja testitav rakendus (AUT)

Alustamine koos Selendroid

Te olete juba teadnud, kui oluline on Selendroid. Nüüd määrime käed ära Selendroid.

Enne esimest testi tuleks teha 3 sammu Selendroid

Alustamine koos Selendroid

A Selendroid keskkond

Selendroid saab töötada aknaga, Linux ja Mac OS. Selles õpetuses me seadistame Selendroid Windows OS-is.

Enne kasutamist Selendroid, peate esmalt installima järgmise paketi

  • Java SDK (vähemalt 1.6)

    Peate nõustuma litsentsilepinguga ja alla laadima java installeri (valige oma OS-is x64 või x86 baas)

    A Selendroid keskkond

    Laadige alla ja installige Java SDK nagu tavaline tarkvara

  • Uusim versioon Android SDK
  • Teie arvutis peab olema vähemalt üks Android Virtual Device (AVD) või päris Android seade arvutiga ühendatud.
  • Selendroid Sõltuvustega iseseisev, Selendroid klientja Selenium klient
  • Eclipse tarkvara
  • Seadistage JAVA_HOME ja ANDROID_HOME

    Step 1) Paremklõpsake aknas Arvuti -> Kinnisvara -> Süsteemi täpsemad sätted

    A Selendroid keskkond

    Step 2) Süsteemi atribuutide akna kuvamine, valige vahekaart Täpsemalt -> Keskkonna muutujad

    A Selendroid keskkond

    Step 3) Kuvage keskkonnaaken, klõpsake nuppu Uus -> Sisestage muutuja ANDROID_HOME järgmiselt

    A Selendroid keskkond

    Muutuja väärtus on tee android-sdks-i, mille olete juba installinud.

    Leidke süsteemimuutuja Path -> Edit -> Lisage praeguse rea järele järgmine rida

    A Selendroid keskkond

    A Selendroid keskkond

    Sarnaselt ANDROID_HOME-ga lisage uus muutuja JAVA_HOME, mille väärtus on allpool

    A Selendroid keskkond

    Väärtus on tee sinu juurde Java JDK installimine

    Samm 4) Taaskäivitage arvuti -> Tehtud

Kuidas käivitada Selendroid

Samm 1) Taotluse testimine

Saate kasutada olemasolevaid Selendroid testige rakendust, et kontrollida, kuidas Selendroid töötab (on siin testitava rakenduse näidiseks)

Kui allalaadimine on lõppenud, kopeerige see APK ja ülaltoodud Selendroid Iseseisev purk fail kausta nimega "Guru99"

Samm 2) Käivitage Selendroid

Avage terminal sisse Windows & navigeerige sammus 99 loodud kausta Guru1.

Käivitage järgmine käsk

Algatama Selendroid

Väljund kuvatakse järgmiselt

Algatama Selendroid

Pärast selle käsu käivitamist Selendroid- eraldiseisev HTTP-server käivitub! Selle serveri vaikimisi pordi number on 4444. Kõik riistvaraseadmed, samuti Android Virtuaalne seade skannitakse ja tuvastatakse automaatselt. Selendroid tuvastab Android sihtversiooni ja seadme ekraani suurus.

Kontrollimiseks Android sihtversiooni ja seadme teabe jaoks saate brauseris käivitada järgmise URL-i: http://localhost:4444/wd/hub/status.

Algatama Selendroid

Selendroid põhikäsk

See jaotis tutvustab teile mõnda põhilist Selendroid- Eraldi käsurida. Saate neid kasutada seadistamiseks Selendroid testimiskeskkond

  1. Port of Selendroid

    Vaikimisi port Selendroid on 4444. Kuid saate minna teisele pordile, lisades käivitamiskäsule parameetri Selendroid

    Parameeter: -port [pordi number]

    Näiteks:

    Selendroid Põhiline käsk

    Ülaltoodud käsus on 5555 uus port.

Nii et URL, mida kontrollida Android sihtversiooniks on muudetud: http://localhost:5555/wd/hub/status

  1. Määrake testitava rakenduse asukoht (binaarne APK-fail). Selendroid sageli nõuti selle faili absoluutset teed

    Parameeter: -app [faili tee]

    Näiteks:

    Selendroid Põhiline käsk

    Ülaltoodud käsus on Selendroid otsib testitava rakenduse teabe hankimiseks automaatselt binaarfailide baasi failist „C:\Guru99App.apk”.

    Kontrollige URL-i http://localhost:4444/wd/hub/status, näete seda teavet

    Selendroid Põhiline käsk

  2. Muutke porti Selendroid kasutab instrumentatsiooniserveriga suhtlemiseks. Selendroid kasutab vaikimisi porti 8080

    Parameeter: -selenroidServerPort [pordi number]

    Näide

    Selendroid Põhiline käsk

    Port on nüüd muudetud 9000-ks

  3. Muutke emulaatorite käivitamise ajalõpu. Ühik on millisekundid.

    Parameeter: -timeoutEmulatorStart

    Vaikimisi Selendroid ootab 300,000 200,000 millisekundit, kuni emulaator käivitub. Saate käsuga lülituda uuele ajalõpule (XNUMX XNUMX ms).

    Selendroid Põhiline käsk

    Selle aja möödudes aegunud, kui emulaator ei saa käivituda, Selendroid kuvab erandi vea (seadmete/emulaatorite otsimisel ilmnes viga.) ja seejärel peatab töötamise

  4. Kui alustate Selendroid terminalis, näete ekraanil väljaprinditud logi. Saate muuta kuvatava logi tüüpi, lisades järgmise parameetri

    Parameeter: -logLevel [logi tüüp]

    Logitaseme väärtused on ERROR, WARNING, INFO, DEBUG ja VERBOSE. Vaikimisi: ERROR.

    Näiteks seadke Selendroid ainult HOIATUSlogi printimiseks võite kasutada seda käsku

    Selendroid Põhiline käsk

    . Selendroid printige ainult HOIATUS logi

Alustage oma esimest testi Selendroid

See jaotis on samm-sammult juhis esimese testskripti loomisel Selendroid

Oletame, et meil on Android rakendus testnime Guru99App all. Rakendus sisaldab tekstivälja ja nupu nime "Näita teksti".

Laadige APK alla SIIT

Esimene test koos Selendroid

Peame ellu viima järgmise Testjuhtum kasutamine Selendroid

Testjuhtumid Tingimus Eeldatav väljund
  1. Käivitage rakendus
  2. Sisestage tekst "Guru99 test” tekstiväljale
  3. Vajutage nuppu "Kuva tekst".
Testitava rakenduse binaarfail on saadaval

Seade on arvutiga ühendatud

Tekst “Tekstishow siin” muudetakse tekstiks

mille kasutaja tekstiväljale sisestab

Step 1) Loo Java projekt sisse Eclipse

Step 2) Lisa seleen ja Selendroid jar-fail eclipse'i keskkondades

Paremklõpsake Guru99Test Project -> Ehitage rada -> Lisa väline Archives

Esimene test koos Selendroid

Liikuge kausta, kuhu jar-failid salvestati

Lisada tuleks 3 jar-faili

  • selenroid-klient-0.10.0.jar: Selendroid java kliendi raamatukogu
  • Selenroid-eraldi-0.11.0-sõltuvustega: Selendroid eraldiseisva serveri raamatukogu
  • seleen-java-2.40.0.jar : Selenium Veebidraiveri raamatukogu

Vali kõik -> Jar-faili projekti lisamiseks valige Ava

Esimene test koos Selendroid

Step 3) pärast ülaltoodud teegi lisamist lisatakse need teegid testprojekti viiteteekidesse. Testija saab testiprogrammi arendamiseks kasutada nende teekide API-sid

Looge pakett "com.guru.test" ja lisage java fail "Guru99Test.java" nagu allpool

Paremklõpsake Guru99Test -> Uus -> Pakend

Esimene test koos Selendroid

Tippige valiku Uus väljale Nimi tekst com.guru.test Java Paketi dialoog à Lõpeta

Esimene test koos Selendroid

. Eclipse loob lähtekoodi struktuuris sellised loendikaustad ja alamkaustad

Esimene test koos Selendroid

Step 4) paigaldama TestNG eest Eclipse

In Eclipse, Abi -> Installi uus tarkvara, klõpsake installidialoogis nuppu Lisa ja sisestage järgmine

Vajutage OK -> Järgmisena installige TestNG

Esimene test koos Selendroid

Step 5) Kopeerige Guru99App.apk testirakenduse kausta

Esimene test koos Selendroid

Step 6) Hankige testitava rakenduse ID.

Oletame, et meil on APK-faili nimi Guru99App.apk. Järgige eelmises jaotises kirjeldatud sammu, täitke terminalis käsk

Esimene test koos Selendroid

Avage brauseris järgmine link: http://localhost:4444/wd/hub/status.

Kuvatakse seadme teave, kopeerige appId väärtus “com.guru99app:1.0”

Esimene test koos Selendroid

Step 7) Avage fail Guru99Test.java (näidiskoodis) ja muutke seda järgmiselt

Esimene test koos Selendroid

Uue testiseansi loomiseks rakendusega Selendroid, peate esitama rakenduse ID vormingus: com.guru99app:1.0. See rakenduse ID saab tuvastada sammus 6. Kui te ei määra rakenduse ID-d, mis vastavad Android seadmes, testiseanss ilmub tõrketeate ja ei käivitu.

Pärast leitud seadme lähtestamist Selendroid loob kohandatud selenroid-serveri ja installib selle Selendroid server sellel

Selendroid installib ka testitava rakenduse ja käivitab seadmes selenroid-serveri

Pärast testiseansi edukat initsialiseerimist alustatakse testikäskluse täitmist seadmes. (Näiteks teksti sisestamiseks vajutage nuppu...). Kui test lisab testiseansi, peatub emulaator automaatselt

Step 8) Alustage uut testiseanssi

Käivitage Selendroid server, kasutades terminalis järgmist käsku, nagu samm 6

Esimene test koos Selendroid

Pärast Selendroid Server käivitub, avage näidistestprojekt Guru99test Eclipse, määrake katkestuspunkt failis Guru77Test.java reale 99 topeltklõpsuga reale 77 -> Kuvatakse punkt nagu allpool

Esimene test koos Selendroid

Guru99Testi projekti käivitamiseks paremklõpsake testseanssi -> Silumine kui -> Testng Test.

Testiseanss algab nagu allpool

Esimene test koos Selendroid

Step 9) Hankige testitava rakenduse GUI elemendi ID

Pärast testiseansi edukat käivitamist avage brauser ja navigeerige URL-ile http://localhost:4444/inspector

Näete, et testitav rakendus käivitatakse nagu allpool

Esimene test koos Selendroid

Hõljutage hiirt iga AUT kasutajaliidese elemendi (nupp, tekstiväli, tekstisilt) peale, iga elemendi ID tõstetakse paremal paanil esile

Esimene test koos Selendroid

Pärast seda sammu saate iga ülaltoodud kasutajaliidese elemendi ID-d

  • Nupp Kuva teksti ID: “btnShow"
  • Tekstivälja ID: "edtText"
  • Sildi teksti ID: “txtView"

Neid ID-sid kasutatakse järgmises etapis

Step 10) Sisestage testprogramm nagu allpool

Testprogramm, mis kasutab Selendroid sisaldab 3 sektsiooni

Seadistustest:

Järgmine on häälestustesti kood, mis seab testiseansi tingimuse. Vea korral Selendroid teeb erandi ja testrakendus peatub.

Kood sisaldab iga avalduse selgitamiseks kommentaare.

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

Käivitage test

Allpool on kood testi läbiviimiseks. Kood sisaldab kommentaare

Siin on jälle testi sammud

  1. Sisesta tekst "Tere Guru"
  2. Klõpsake nuppu Kuva teksti nupp
  3. Oota veidi
  4. Veenduge, et rakendus kuvab teksti kasutaja tekstiväljale sisestamisel (nt kuvage tekst „Tere 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());        
		
     }

Lõpeta test

Järgmine kood lõpetab testi, peatades Selendroid juht.

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

Üksikasju näete selles artiklis sisalduvas näidiskoodis.

Step 10) Võta meiega ühendust Android seade arvutisse USB-kaabli kaudu. Punktid, mida jälgida –

  • Veenduge, et seadmel poleks ekraanilukku konfigureeritud.
  • Seadmed peavad olema USB kaudu ühendatud arvutiga, milles töötab seleroidi eraldiseisev komponent.
  • Seade peaks installima vähemalt Android Target API versioon 10

Step 11) Käivitage testirakendus: paremklõpsake Guru99test -> Jookse nagu -> TestNG test

Esimene test koos Selendroid

Step 10) Skript käivitatakse järgmiselt

Esimene test koos Selendroid

Step 12) Kui test on täitmise lõpetanud, TestNG auto genereerib testiaruande järgmiselt

Esimene test koos Selendroid

Esimene test koos Selendroid

Hea töö, olete nüüd testi läbinud.

kokkuvõte

  • Selendroid on testimiseks väga võimas tööriist Android omarakendus, hübriidrakendus ja ka veebirakendus.
  • Seda saab kasutada nii päris seadmetes kui ka simulaatoris.
  • Samuti võimaldab see testida paralleelselt, käivitades testi mitmes seadmes.
  • Kogu Selendroid komplekt koosneb neljast komponendist:
    • Veebidraiveri klient,
    • Selendroid-server,
    • Android Draiveri rakendus
    • Selendroid- seisa üksi
  • Kasutada Selendroid teil on vaja Java JDK, Android SDK ja Eclipse paigaldatud.