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
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.
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ért van szükségünk Selendroid?
Selendroid egy nagyszerű tesztelőeszköz. De még mindig kételkedhet a hasznosságában.
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.
- 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 4 fő összetevőt tartalmaz:
- 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
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)
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
Step 2) A Rendszer tulajdonságai ablak megjelenítéséhez válassza a Speciális fület -> Környezeti változók
Step 3) A Környezet ablakban kattintson az Új gombra -> Adjon meg egy ANDROID_HOME változót a következőképpen
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
Az ANDROID_HOME-hoz hasonlóan adjon hozzá új JAVA_HOME változót az alábbi értékkel
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
A kimenet a következőképpen jelenik meg
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
.
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
- 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:
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
- 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:
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 - 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
A port most 9000-re módosult
- 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
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
- 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
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.
A következőket kell végrehajtanunk Teszt eset segítségével Selendroid
Tesztsorozat | Állapot | Várható kimenet |
---|---|---|
|
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
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
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
Írja be a com.guru.test parancsot a Név mezőbe az Új oldalon Java Csomag párbeszédablak à Befejezés
A Eclipse ehhez hasonló listás mappákat és almappákat hoz létre a forráskód szerkezetében
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
- Név: TestNG
- Bérleti díj: https://github.com/selendroid/selendroid
Nyomja meg az OK gombot -> Következő telepíteni a TestNG
Step 5) Másolja a Guru99App.apk fájlt a Test App mappájába
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
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”
Step 7) Nyissa meg a Guru99Test.java fájlt (a mintakódban), és módosítsa az alábbiak szerint
Ú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
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
Indítson el egy tesztet a jobb gombbal a Guru99Test projekthez -> Debug As -> Testng Test.
A teszt munkamenet az alábbiak szerint kezdődik
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
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
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
- Írja be a „Hello Guru” szöveget
- Kattintson a Szöveg megjelenítése gombra
- Várj mig
- 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
Step 10) A szkript a következőképpen indul el
Step 12) Miután a teszt befejeződött, TestNG auto elkészíti a tesztjelentést az alábbiak szerint
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.