Selendroid Oktatóanyag kezdőknek példával

Kifejlesztett-e valaha egy Android alkalmazást, és közzéteszi a Google Playen? Mit fog tenni, ha olyan felhasználói véleményt kap, mint

Selendroid Kezdőknek

Amikor közzétesz egy alkalmazást a Google Playen, alaposan tesztelni kell az esetleges hibák elkerülése érdekében. Rengeteg tesztforgatókönyvet kell végrehajtani egy alkalmazás közzététele előtt. Menteni a Tesztelés erőfeszítést igényel, tesztelőeszközre van szüksége. Az egyik legjobb tesztelőeszköz a Android az Selendroid.

Mi a Selendroid?

Selendroid egy tesztautomatizálási keretrendszer több típusú mobilalkalmazáshoz: bennszülött és a hibrid Android app és Mozgó web.

Mi a Selendroid

A teszteket a Selenium 2 ügyfél API. Mert Selendroid továbbra is újrafelhasználja a meglévőt Selenium infrastruktúra az internethez

Selendroid egy hatékony tesztelési eszköz. Használható rajta emulátorok és valódi készülékek

Mi a Selendroid

Miért van szükségünk Selendroid?

Selendroid egy nagyszerű tesztelőeszköz. De még mindig kételkedhet a hasznosságában.

Miért van szükségünk Selendroid

Ez a rész bemutatja a legfontosabb jellemzőit Selendroid válaszolni arra a kérdésre, hogy miért van szükséged Selendroid.

Miért van szükségünk Selendroid

  • A tesztelés alatt álló alkalmazást a használatával tesztelheti Selendroid az alkalmazás módosítása nélkül. Csak a bináris fájlra van szüksége (APK) telepítve a számítógépre. A bináris fájl eszközre történő telepítéséhez a tesztalkalmazást és a mobilalkalmazást ugyanazzal az aláírási kulccsal kell aláírni
  • Selendroid A tesztalkalmazás egyszerre több eszközzel vagy szimulátorral is kölcsönhatásba léphet. Ez egy nagy előnye Selendroid. Így különböző eszközökkel tesztelheti alkalmazását Android eszközöket a kompatibilitás ellenőrzéséhez.
  • Selendroid szimulálhatja az ember-felhasználó műveleteket egy alkalmazáson, például érintést, csúsztatást, húzást és húzást az eszközökön
  • A tesztelés során a hardvereszközöket (Plug and Unplug) cserélheti a teszt újraindítása vagy leállítása nélkül. Selendroid automatikusan felismeri az új eszközöket
  • Megfelelő a Android API verzió felfelé, Selendroid is támogatja az újat Android API (API 10-től API 19-ig)
  • Selendroid beépített ellenőrző eszközzel is rendelkezik, amely segít azonosítani a tesztelt alkalmazás felhasználói felület elemét. Például az azonosító gomb, szövegmező, szöveges nézet…

Selendroid Architectúra

Selendroid alapul Android műszeres keret. Selendroid tesztek alapján íródnak a Selenium Web illesztőprogram-kliens API, így támogatja a teljes integrációt a jelenlegivel Selenium keretek.

A következő ábra a felépítését mutatja be Selendroid

Selendroid Architectúra

Selendroid 4 fő összetevőt tartalmaz:

Selendroid Architectúra

  • Web Driver Client – ​​A Java klienskönyvtár alapján Selenium. Ezt a könyvtárat telepíteni kell a számítógépre (amelyet a tesztesetek fejlesztésére használnak)
  • Selendroid-Szerver – A tesztelés alatt álló alkalmazásban futó szerver Android eszköz vagy szimulátor. Ez a fő összetevői a Selendroid építészet
  • Android Illesztőprogram-alkalmazás – Beépített Android illesztőprogram, Web View alkalmazás a mobilweb teszteléséhez.
  • Selendroid-Önálló – Ez az összetevő a telepítéshez használható Selendroid szerver és a tesztelés alatt álló alkalmazás (AUT)

Első lépések Selendroid

Ön már tudta a fontosságát Selendroid. Most pedig piszkáljuk be a kezünket Selendroid.

Az első teszt előtt 3 lépést kell elvégezni Selendroid

Első lépések Selendroid

A Selendroid környezet

Selendroid működhet a Windowson, Linux és Mac OS. Ebben az oktatóanyagban beállítjuk Selendroid Windows operációs rendszerben.

Használat előtt Selendroid, először telepítenie kell a következő csomagot

  • Java SDK (minimum 1.6)

    El kell fogadnia a licencszerződést, és le kell töltenie a java telepítőt (az operációs rendszeren válassza az x64 vagy x86 alapot)

    A Selendroid Környezet

    Töltse le és telepítse a Java SDK, mint a normál szoftver

  • Legutolsó verziója Android SDK
  • A számítógépen legalább egynek kell lennie Android Virtuális eszköz (AVD), vagy valódi Android a számítógéphez csatlakoztatott eszköz.
  • Selendroid Önálló függőséggel, Selendroid Vásárlóés Selenium Vásárló
  • Eclipse szoftver
  • Állítsa be a JAVA_HOME-ot és az ANDROID_HOME-ot

    Step 1) Az ablakban kattintson a jobb gombbal a Számítógép elemre -> Ingatlanok -> Speciális rendszerbeállítások

    A Selendroid Környezet

    Step 2) A Rendszer tulajdonságai ablak megjelenítéséhez válassza a Speciális fület -> Környezeti változók

    A Selendroid Környezet

    Step 3) A Környezet ablakban kattintson az Új gombra -> Adjon meg egy ANDROID_HOME változót a következőképpen

    A Selendroid Környezet

    A változó értéke a már telepített android-sdks elérési útja.

    Keresse meg a Path rendszerváltozót -> Szerkesztés -> Adja hozzá a következő sort az aktuális sor után

    A Selendroid Környezet

    A Selendroid Környezet

    Az ANDROID_HOME-hoz hasonlóan adjon hozzá új JAVA_HOME változót az alábbi értékkel

    A Selendroid Környezet

    Az érték a Hozzád vezető Út Java JDK telepítés

    4. lépés) Indítsa újra a számítógépet -> csinált

Hogyan kell elindítani Selendroid

1. lépés) Egy alkalmazás tesztelése

Használhatja a meglévőt Selendroid tesztalkalmazást, hogy ellenőrizze, hogyan Selendroid működik (Link minta alkalmazás tesztelése alatt)

A letöltés befejeztével másold ki ezt az APK-t és a fentieket Selendroid Önálló tégely fájlt egy " nevű mappábaGuru99″

2. lépés) Indítsa el a Selendroid

Nyissa meg a terminált Windows & navigáljon az 99. lépésben létrehozott Guru1 mappához.

Futtassa a következő parancsot

Indít Selendroid

A kimenet a következőképpen jelenik meg

Indít Selendroid

A parancs futtatása után Selendroid-az önálló HTTP szerver elindul! Ennek a szervernek az alapértelmezett portszáma 4444. Minden hardvereszköz, valamint Android Virtuális eszköz, a rendszer automatikusan megvizsgálja és felismeri. Selendroid azonosítani fogja a Android a célverziót és az eszköz képernyőméretét.

A Android a célverziót és az eszközinformációkat, a következő URL-t indíthatja el egy böngészőben: http://localhost:4444/wd/hub/status.

Indít Selendroid

Selendroid alapparancs

Ez a rész néhány alapvető elemet mutat be Selendroid-Önálló parancssor. Használhatja őket a Selendroid tesztelési környezet

  1. Port beállítása Selendroid

    Az alapértelmezett port Selendroid 4444. Átválthat másik portra, ha az indítási parancshoz ad egy paramétert Selendroid

    Paraméter: -port [portszám]

    Például:

    Selendroid Alapparancs

    A fenti parancsban az 5555 az új port.

Tehát az URL ellenőrzéséhez Android a célverzió a következőre módosult: http://localhost:5555/wd/hub/status

  1. Adja meg a tesztelés alatt álló alkalmazás helyét (bináris APK-fájl). Selendroid gyakran megkövetelte a fájl abszolút elérési útját

    Paraméter: -app [fájl elérési út]

    Például:

    Selendroid Alapparancs

    A fenti parancsban a Selendroid automatikusan megtalálja a bináris fájlbázist a „C:\Guru99App.apk” fájlban, hogy megkapja a tesztelt alkalmazás információit.

    Ellenőrizze az URL-t http://localhost:4444/wd/hub/status, látni fogja ezt az információt

    Selendroid Alapparancs

  2. Változtassa meg a portot Selendroid a műszerkiszolgálóval való kommunikációhoz használja. Selendroid a 8080-as portot használja alapértelmezettként

    Paraméter: -selenroidServerPort [portszám]

    Példa

    Selendroid Alapparancs

    A port most 9000-re módosult

  3. Módosítsa az emulátorok indításához szükséges időtúllépést. A mértékegység ezredmásodperc.

    Paraméter: -timeoutEmulatorStart

    Alapértelmezésben, Selendroid 300,000 200,000 ezredmásodpercet vár, amíg az emulátor elindul. Az új időtúllépésre (XNUMX XNUMX ms) paranccsal válthat

    Selendroid Alapparancs

    Ezen idő lejárta után, ha az emulátor nem tud elindulni, a Selendroid kivételes hibát (Hiba történt az eszközök/emulátorok keresése közben.), majd leállítja a futást

  4. Amikor elindítja a Selendroid parancsot a terminálon, megjelenik egy napló kinyomtatva a képernyőn. A következő paraméter hozzáadásával módosíthatja a megjelenő napló típusát

    Paraméter: -logLevel [napló típusa]

    A naplózási szintű értékek a következők: ERROR, WARNING, INFO, DEBUG és VERBOSE. Alapértelmezés: ERROR.

    Például állítsa be Selendroid csak a FIGYELMEZTETÉS napló kinyomtatásához használja ezt a parancsot

    Selendroid Alapparancs

    A Selendroid csak a FIGYELMEZTETÉS naplót nyomtassa ki

Kezdje az első tesztet ezzel Selendroid

Ez a rész egy lépésről lépésre bemutatja az első tesztszkriptet Selendroid

Tegyük fel, hogy van egy Android alkalmazás Guru99App tesztnév alatt. Az alkalmazás tartalmaz egy szövegmezőt és egy „Szöveg megjelenítése” gombnevet.

AZ APK LETÖLTÉSE ITT

Első teszt vele Selendroid

A következőket kell végrehajtanunk Teszt eset segítségével Selendroid

Tesztsorozat Állapot Várható kimenet
  1. Indítsa el az alkalmazást
  2. Írjon be egy szöveget "Guru99 teszt” a szövegmezőbe
  3. Nyomja meg a „Szöveg megjelenítése” gombot
A tesztelt alkalmazás bináris fájlja elérhető

Egy eszköz csatlakozik a számítógéphez

A „Szöveg megjelenítése itt” szöveg szövegre módosul

hogy melyik felhasználó írja be a szövegmezőbe

Step 1) Hozzon létre egy Java projekt in Eclipse

Step 2) Adjunk hozzá szelént és Selendroid jar fájl eclipse környezetben

Kattintson a jobb gombbal a Guru99Test Project -> Építsd meg az útvonalat -> Külső hozzáadása Archives

Első teszt vele Selendroid

Keresse meg a mappát, amely a jar fájlokat tárolta

3 jar fájlt kell hozzáadni

  • Selenroid-client-0.10.0.jar : Selendroid java kliens könyvtár
  • Selenroid-önálló-0.11.0-függőségek: Selendroid önálló szerver könyvtár
  • szelén-java-2.40.0.jar: Selenium Web Driver könyvtár

Jelölje ki az összes -> Válassza a Megnyitás lehetőséget, ha egy jar fájlt szeretne hozzáadni a projekthez

Első teszt vele Selendroid

Step 3) a fenti könyvtár hozzáadása után ezek a könyvtárak hozzáadódnak a tesztprojekt referenciakönyvtáraihoz. A tesztelő ezen könyvtárak API-jait használhatja a tesztprogram fejlesztéséhez

Hozzon létre „com.guru.test” csomagot, és adja hozzá a „Guru99Test.java” java fájlt az alábbiak szerint

Kattintson a jobb gombbal a Guru99Test -> Újszerű -> Csomag

Első teszt vele Selendroid

Írja be a com.guru.test parancsot a Név mezőbe az Új oldalon Java Csomag párbeszédablak à Befejezés

Első teszt vele Selendroid

A Eclipse ehhez hasonló listás mappákat és almappákat hoz létre a forráskód szerkezetében

Első teszt vele Selendroid

Step 4) Telepítés TestNG mert Eclipse

In Eclipse, Súgó -> Új szoftver telepítése, a Telepítés párbeszédpanelen kattintson a Hozzáadás gombra, és írja be a következőket

Nyomja meg az OK gombot -> Következő telepíteni a TestNG

Első teszt vele Selendroid

Step 5) Másolja a Guru99App.apk fájlt a Test App mappájába

Első teszt vele Selendroid

Step 6) Szerezze meg a tesztelés alatt álló alkalmazás azonosítóját.

Tegyük fel, hogy van egy Guru99App.apk nevű APK-fájlunk. Kövesse az előző részben leírt lépést, és hajtsa végre a parancsot a terminálon

Első teszt vele Selendroid

Nyissa meg a következő hivatkozást a böngészőben: http://localhost:4444/wd/hub/status.

Megjelennek az eszköz adatai, másolja ki az appId értéket: „com.guru99app:1.0”

Első teszt vele Selendroid

Step 7) Nyissa meg a Guru99Test.java fájlt (a mintakódban), és módosítsa az alábbiak szerint

Első teszt vele Selendroid

Új tesztmunka létrehozásához Selendroid, meg kell adnia az alkalmazásazonosítót a következő formátumban: com.guru99app:1.0. Ezt az alkalmazásazonosítót a 6. lépésben azonosította. Ha nem állítja be az alkalmazásazonosítót, amely megegyezik a Android eszközön, a tesztmenet hibát fog kiadni, és nem indul el.

A talált eszköz inicializálása után Selendroid létrehoz egy személyre szabott Selenroid-szervert, és telepíti a Selendroid szerver rajta

Selendroid telepíti a tesztelt alkalmazást is, és elindítja a Selenroid-szervert az eszközön

A tesztmunka sikeres inicializálása után a tesztparancs végrehajtása elindul egy eszközön. (Például szöveg bevitele, nyomja meg a gombot…). Ha a teszt hozzáfűzi a tesztmenetet, az emulátor automatikusan leáll

Step 8) Indítsa el az új tesztmenetet

Indítsa el a Selendroid szerver a következő paranccsal a terminálon, mint a 6. lépésben

Első teszt vele Selendroid

Azután Selendroid A szerver elindult, nyissa meg a Guru99test minta tesztprojektet Eclipse, állítson be egy töréspontot a Guru77Test.java fájl 99. sorában dupla kattintással a 77. sorra -> Egy pont jelenik meg az alábbiak szerint

Első teszt vele Selendroid

Indítson el egy tesztet a jobb gombbal a Guru99Test projekthez -> Debug As -> Testng Test.

A teszt munkamenet az alábbiak szerint kezdődik

Első teszt vele Selendroid

Step 9) Szerezze meg a tesztelés alatt álló alkalmazás GUI elemének azonosítóját

A tesztmunka sikeres elindítása után nyissa meg a böngészőt, és keresse meg az URL-t http://localhost:4444/inspector

Látni fogja, hogy a tesztelés alatt lévő alkalmazás az alábbiak szerint indul el

Első teszt vele Selendroid

Vigye az egeret az AUT egyes felhasználói felületi elemeire (Button, TextField, Text Label), az egyes elemek azonosítója kiemelve jelenik meg a jobb oldali panelen

Első teszt vele Selendroid

Ezt a lépést követően minden fenti UI-elem azonosítóját megkaphatja

  • Gomb Szövegazonosító megjelenítése: “btnShow"
  • Szövegmező azonosítója: "edtText"
  • Címke szövegazonosítója: "txtView"

Ezeket az azonosítókat használjuk fel a következő lépésben

Step 10) Lépjen be a tesztprogramba az alábbiak szerint

Egy tesztprogramot használ Selendroid 3 szakaszt tartalmaz

Beállítási teszt:

A következő a beállítási teszt kódja, amely beállítja a tesztmunka feltételét. Hiba esetén a Selendroid kivételt dob, és a tesztalkalmazás leáll.

A kód tartalmazza a megjegyzéseket az egyes állítások magyarázatához.

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

Teszt végrehajtása

Az alábbiakban található a teszt végrehajtásához szükséges kód. A kód tartalmazza a megjegyzéseket

Ismét itt vannak a teszt lépései

  1. Írja be a „Hello Guru” szöveget
  2. Kattintson a Szöveg megjelenítése gombra
  3. Várj mig
  4. Ellenőrizze, hogy az alkalmazás megjeleníti-e a szöveget, amikor a felhasználó beír egy szövegmezőbe (pl. jelenítse meg a „Hello Guru” szöveget)
 /**
		     * 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());        
		
     }

Teszt befejezése

A következő kód leállítja a tesztet Selendroid sofőr.

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

A részleteket a cikkben található mintakódban tekintheti meg.

Step 10) Csatlakozás Android eszközt a számítógéphez USB-kábellel. Figyelembe veendő pontok –

  • Győződjön meg arról, hogy az eszközön nincs konfigurálva képernyőzár.
  • Az eszközöket USB-n keresztül kell csatlakoztatni ahhoz a számítógéphez, amelyen a Selenroid-önálló összetevő fut.
  • Az eszközt legalább telepíteni kell Android Target API 10. verzió

Step 11) Futtassa a tesztalkalmazást: kattintson a jobb gombbal a Guru99test -> Fusson -> TestNG teszt

Első teszt vele Selendroid

Step 10) A szkript a következőképpen indul el

Első teszt vele Selendroid

Step 12) Miután a teszt befejeződött, TestNG auto elkészíti a tesztjelentést az alábbiak szerint

Első teszt vele Selendroid

Első teszt vele Selendroid

Jó munkát, most befejezte a tesztet.

Összegzésként

  • Selendroid nagyon hatékony eszköz a teszteléshez Android natív alkalmazás, a hibrid alkalmazás, valamint a webalkalmazás.
  • Valódi eszközökön és szimulátoron is használható.
  • Lehetővé teszi a tesztek párhuzamos futtatását is, ha tesztet futtat több eszközön.
  • Az egész Selendroid A csomag négy összetevőből áll:
    • Web Driver kliens,
    • Selendroid-Szerver,
    • Android Driver alkalmazás
    • Selendroid- állj egyedül
  • Használata Selendroid van szüksége Java JDK, Android SDK és Eclipse telepítve.