Fejlesztett már valaha Android-alkalmazást és közzétette 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, azt jól tesztelni kell, hogy elkerülje a lehetséges hibákat. Rengeteg teszthelyzetet kell végrehajtani az alkalmazás közzététele előtt. A tesztelési erőfeszítések mentéséhez tesztelő eszközre van szüksége. Az Android alkalmazás egyik legjobb tesztelő eszköze a Selendroid.
- Mi az a Selendroid?
- Miért van szükségünk Selendroidra?
- Selendroid építészet
- Kezdő lépések a Selendroiddal
- Selendroid környezet beállítása
- Hogyan indítsuk el a Selendroidot
- Selendroid alapparancs
- Kezdje az első tesztet a Selendroiddal
Mi az a Selendroid?
A Selendroid egy teszt automatizálási keretrendszer többféle mobilalkalmazáshoz: natív és hibrid Android-alkalmazáshoz és mobilwebhez .
A teszteket a Selenium 2 kliens API-k segítségével írhatja meg. Mivel a Selendroid továbbra is újból felhasználja a webes Selenium infrastruktúrát
A Selendroid egy hatékony tesztelő eszköz. Használható emulátorokon és valós eszközökön
Miért van szükségünk Selendroidra?
A Selendroid egy nagyszerű tesztelő eszköz. De még mindig kételkedhet a hasznosságában.
Ez a szakasz bemutatja a Selendroid fontos funkcióit, hogy megválaszolja azt a kérdést, hogy miért van szüksége a Selendroidra.
- A tesztelt alkalmazást a Selendroid segítségével tesztelheti az alkalmazás módosítása nélkül. Csak a bináris fájlra (APK) van szükség a számítógépre telepítve. A bináris fájl eszközre történő telepítéséhez a tesztalkalmazást és a mobilalkalmazást ugyanazzal a jelkulccsal kell aláírni
- A Selendroid tesztalkalmazás egyszerre képes több eszközzel vagy szimulátorral kölcsönhatásba lépni. A Selendroid nagy előnye. Így tesztelheti alkalmazását különféle Android-eszközökkel a kompatibilitás ellenőrzéséhez.
- A Selendroid szimulálhatja az emberek és a felhasználók által végrehajtott műveleteket egy alkalmazásban, például érintést, ellopást, áthúzást eszközön
- A tesztelés során megváltoztathatja a hardvereszközöket (Csatlakoztassa és kihúzza) a teszt újraindítása vagy leállítása nélkül. A Selendroid automatikusan felismeri az új eszközöket
- Az Android API verziójának megfelelően a Selendroid támogatja az új Android API-t is (API 10-től API 19-ig)
- A Selendroid rendelkezik egy beépített ellenőrző eszközzel is, amely segít azonosítani a tesztelt alkalmazás felhasználói felületének elemét. Például az ID gomb, szövegmező, szövegnézet…
Selendroid építészet
A Selendroid az Android műszeres keretrendszerén alapszik. A Selendroid tesztek a Selenium Web driver kliens API-ra vannak írva, így támogatja a teljes Selenium keretrendszerekkel való teljes integrációt.
Az alábbi ábra a Selendroid architektúráját írja le
A Selendroid 4 fő összetevőt tartalmaz:
- Web Driver Client - A Seleniumon alapuló Java kliens könyvtár. Ezt a könyvtárat telepíteni kell a számítógépre (amelyet a tesztesetek fejlesztésére használnak)
- Selendroid-Server - A futó kiszolgáló a tesztelt alkalmazásban található Android-eszközön vagy szimulátoron. Ez a Selendroid architektúra fő alkotóeleme
- Android Driver-App - Beépített Android illesztőprogram, Web View alkalmazás a mobil internet teszteléséhez.
- Selendroid-önálló - Ez az összetevő a Selendroid szerver és a tesztelés alatt álló alkalmazás (AUT) telepítésére szolgál.
Kezdő lépések a Selendroiddal
Már tudta a Selendroid fontosságát. Most piszkoljuk be a kezünket Selendroiddal.
Három lépést kell elvégezni az első teszt előtt a Selendroiddal
Selendroid környezet beállítása
A Selendroid működhet Window, Linux és Mac OS rendszereken. Ebben az oktatóanyagban a Selendroidot telepítjük a Windows operációs rendszerben.
A Selendroid használata előtt 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 (válassza az operációs rendszeren az x64 vagy x86 bázist)
Töltse le és telepítse a Java SDK-t normál szoftverként
- Az Android SDK legújabb verziója
- A számítógépnek legalább egy Android virtuális eszközzel (AVD) vagy valódi Android eszközzel kell lennie csatlakoztatva a számítógéphez.
- Selendroid önálló függőségekkel, Selendroid Client és Selenium Client
- Eclipse szoftver
- Állítsa be a JAVA_HOME és az ANDROID_HOME alkalmazást
1. lépés: Az ablakon kattintson a jobb gombbal a Számítógép -> Tulajdonságok -> Speciális rendszerbeállítás elemre
2. lépés: A Rendszer tulajdonságai ablak megjelenítése, válassza a Speciális -> Környezeti változók fület
3. lépés: A Környezet ablakban kattintson az Új -> Írja be az ANDROID_HOME változót az alábbiak szerint
A változó értéke a már telepített android-sdks elérési útja.
Keresse meg az Útvonal -> Szerkesztés -> Adja hozzá a következő sort az aktuális sor után
Az ANDROID_HOME-hoz hasonlóan adjon hozzá egy új JAVA_HOME változót az alábbi értékkel
Az érték a Java JDK telepítés elérési útja
4. lépés: Indítsa újra a számítógépet -> Kész
Hogyan indítsuk el a Selendroidot
1. lépés: Az alkalmazás tesztelése
A meglévő Selendroid tesztalkalmazással ellenőrizheti a Selendroid működését (Link a teszt alatt lévő mintaalkalmazáshoz)
A letöltés befejezése után másolja ezt az APK-t és a fenti Selendroid Standalone jar fájlt egy " Guru99" nevű mappába
2. lépés: Indítsa el a Selendroid alkalmazást
Nyissa meg a terminált Windows rendszeren, és keresse meg az 1. lépésben létrehozott Guru99 mappát.
Futtassa a következő parancsot
A kimenet a következőképpen jelenik meg
A parancs futtatása után elindul a Selendroid-standalone HTTP szerver! A kiszolgáló alapértelmezett portszáma 4444. Az összes hardvereszközt, valamint az Android virtuális eszközt automatikusan beolvassa és felismeri. A Selendroid azonosítja az Android célverzióját és az eszköz képernyőméretét.
Az Android célverziójának és az eszközinformációk ellenőrzéséhez elindíthatja a következő URL-t egy böngészőben:
http: // localhost: 4444 / wd / hub / status.
Selendroid alapparancs
Ez a szakasz néhány alapvető Selendroid-Standalone parancssort mutat be. Használhatja őket a Selendroid tesztelési környezet beállításához
- A Selendroid portjának beállítása
A Selendroid alapértelmezett portja 4444. De átállhat másik portra, ha hozzáad egy paramétert a Selendroid indításához szükséges parancshoz
Paraméter: -port [portszám]
Például:
A fenti parancsban az 5555 az új port.
Tehát az Android célverziójának ellenőrzésére szolgáló URL a következőre változik: http: // localhost: 5555 / wd / hub / status
- Adja meg a tesztelt alkalmazás helyét (bináris APK fájl). A Selendroid gyakran megkövetelte az abszolút elérési utat ehhez a fájlhoz
Paraméter: -app [fájl elérési útja]
Például:
A fenti parancsban a Selendroid automatikusan megtalálja a "C: \ Guru99App.apk" bináris fájlbázist, hogy megkapja a tesztelt alkalmazás információit.
Ellenőrizze az URL-t: http: // localhost: 4444 / wd / hub / status, látni fogja ezeket az információkat
- Módosítsa azt a portot, amelyet a Selendroid használ a műszerkiszolgálóval való kommunikációhoz. A Selendroid alapértelmezés szerint a 8080-as portot használja
Paraméter: -selendroidServerPort [portszám]
Példa
A port most 9000-re változott
- Módosítsa az emulátorok indításának időkorlátját. Az egység milliszekundum.
Paraméter: -timeoutEmulatorStart
Alapértelmezés szerint a Selendroid 300 000 ezredmásodpercet vár, amíg az emulátor elindul. Váltás parancsra új időkorlátra (200 000 ms) válthat
Ezen idő lejárta után, ha az emulátor nem tud elindulni, a Selendroid dobja a kivétel hibát (hiba történt az eszközök / emulátorok keresésekor.), Majd leáll
- Amikor elindítja a Selendroid parancsot a terminálon, látni fogja a képernyőn kinyomtatott naplót. A megjelenő napló típusát a következő paraméter hozzáadásával módosíthatja
Paraméter: -logLevel [napló típusa]
A naplószint értékek: ERROR, WARNING, INFO, DEBUG és VERBOSE. Alapértelmezés: HIBA.
Például állítsa be a Selendroidot, hogy csak a WARNING naplót nyomtassa ki, használhatja ezt a parancsot
A Selendroid csak a WARNING naplót nyomtatja ki
Kezdje az első tesztet a Selendroiddal
Ez a szakasz lépésről lépésre ismerteti az első tesztfájl létrehozását a Selendroid segítségével
Tegyük fel, hogy van egy Android alkalmazásunk Guru99App tesztnév alatt. Az alkalmazás tartalmaz egy szövegmezőt és egy gombnevet "Szöveg megjelenítése".
ITT Töltse le az APK-t
A következő tesztesetet a Selendroid segítségével kell végrehajtanunk
Teszt esetek |
Feltétel |
Várható teljesítmény: |
|
A tesztelés alatt álló alkalmazás bináris változata elérhető Egy eszköz csatlakoztatva van a számítógéphez |
A "Szöveg megjelenítése itt" szöveg szövegre változik mely felhasználó írja be a szövegmezőt |
1. lépés: Hozzon létre egy Java projektet az Eclipse programban
2. lépés: Adjon hozzá szelént és Selendroid jar fájlt napfogyatkozási környezetben
Kattintson a jobb gombbal a Guru99Test Project -> Build Path -> External Archives hozzáadása elemre
Keresse meg azt a mappát, amely a jar fájlokat tárolta
Három jar fájlt kell hozzáadni
- selendroid-client-0.10.0.jar: Selendroid java kliens könyvtár
- selendroid-standalone-0.11.0-with-dependencies: Selendroid önálló kiszolgáló könyvtár
- selenium-java-2.40.0.jar: Selenium Web Driver könyvtár
Összes kijelölése -> Válassza a Megnyitás lehetőséget egy jar fájl hozzáadásához a projekthez
3. lépés) 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ő az adott könyvtárak API-jait felhasználhatja a tesztprogram fejlesztéséhez
Hozzon létre egy "com.guru.test" csomagot, és adja hozzá a "Guru99Test.java" Java fájlt, mint az alábbiakban
Kattintson a jobb gombbal a Guru99Test -> New -> Package elemre
Írja be a com.guru.test parancsot a Név mezőbe az Új Java csomag párbeszédpanelen à Befejezés
Az Eclipse ehhez hasonló listamappákat és almappákat hoz létre a forráskód struktúrában
4. lépés: Telepítse a TestNG for Eclipse alkalmazást
Az Eclipse Súgó -> Új szoftver telepítése elemében kattintson a Telepítés párbeszédpanelen a Hozzáadás gombra, és írja be a következőket
- Név: TestNG
- Helyszín: http://selendroid.io/
A TestNG telepítéséhez nyomja meg az OK -> Next gombot
5. lépés: Másolja a Guru99App.apk fájlt a Test App mappájába
6. lépés: Szerezze be a tesztelt alkalmazás azonosítóját.
Tegyük fel, hogy van egy APK fájlnév Guru99App.apk. Kövesse az előző szakaszban leírt lépést, hajtsa végre a parancsot a terminálon
Nyissa meg a következő linket egy böngészőben
http: // localhost: 4444 / wd / hub / status.
Megjelennek az eszköz információi, másolja az appId értéket "com.guru99app: 1.0"
7. lépés: Nyissa meg a Guru99Test.java fájlt (a mintakódban), és az alábbiak szerint módosítsa
Új teszt munkamenet létrehozásához a Selendroiddal meg kell adnia az alkalmazás azonosítóját a következő formátumban: com.guru99app: 1.0. Ezt az alkalmazásazonosítót a 6. lépésben lehet azonosítani. Ha nem állítja be az Android-eszközhöz illő alkalmazásazonosítót, akkor a teszt munkamenet hibát okoz, és nem indul el.
A megtalált eszköz inicializálása után a Selendroid létrehoz egy testreszabott selendroid-szervert és telepíti rá a Selendroid szervert
A Selendroid telepíti a tesztelt alkalmazást és elindítja a selendroid-szervert az eszközön
A teszt munkamenet sikeres inicializálása után a teszt parancs végrehajtása megkezdődik egy eszközön. (Például szöveg beviteléhez nyomja meg a gombot
…). Ha a teszt hozzáadja a teszt munkamenetet, az emulátor automatikusan leáll8. lépés: Indítsa el az új tesztszakaszt
Indítsa el a Selendroid szervert a következő paranccsal a terminálon, mint a 6. lépés
A Selendroid Server elindítása után nyissa meg a Guru99test mintaprojektet az Eclipse-n, állítson be töréspontot a Guru99Test.java fájl 77. sorában duplán kattintva a 77. sorra -> Egy pont jelenik meg, mint az alábbiakban
Indítson el egy tesztet a jobb gombbal a Guru99Test projekthez -> Debug As -> Testng Test.
A tesztfolyamat az alábbiakhoz hasonlóan kezdődik
9. lépés: Szerezze be a tesztelt alkalmazás GUI elemének azonosítóját
A teszt munkamenet sikeres elindítása után nyissa meg a böngészőt, és keresse meg a http: // localhost: 4444 / inspector URL-t
Látni fogja, hogy a teszt alatt lévő alkalmazás elindul, mint az alábbiak
Az egérrel vigye az egérmutatót az AUT minden felhasználói felületére (gomb, szövegmező, szövegcímke), az egyes elemek azonosítója kiemelkedik a jobb oldali ablaktáblán
Ezt a lépést követően megszerezheti a fenti felhasználói felület minden elemének azonosítóját
- Gomb megjelenítése szövegazonosítója : " btnShow "
- Szövegmező azonosító: " edtText "
- Címke szövegazonosítója : " txtView "
Ezeket az azonosítókat a következő lépésben fogjuk használni
10. lépés: Írja be a tesztprogramot az alábbiak szerint
A Selendroidot használó tesztprogram 3 szakaszt tartalmaz
Telepítési teszt:
Az alábbiakban a telepítési teszt kódja állítja be a tesztfolyamat feltételeit. Hiba esetén a Selendroid dobja a kivételt, és a tesztalkalmazás leáll.
A kód tartalmaz megjegyzéseket az egyes állítások magyarázatához.
csomag com.guru.test;import io.selendroid.SelendroidCapabilities;import io.selendroid.SelendroidConfiguration;import io.selendroid.SelendroidDriver;io.selendroid.SelendroidLauncher importálása;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 Tesztalkalmazás a Selendroid használatával* Teszt alatt álló alkalmazás: Guru99App** /nyilvánososztály Guru99Test {// A webillesztő-változó deklarálásasaját WebDriver illesztőprogram;/ *** Tesztelés előtt állítsa be a környezetet* @ dob kivétel* /@BeforeSuitenyilvánosvoid setUp () dobja a Kivételt {// A selendroid-standalone indítása a teszt soránSelendroidConfiguration config = new SelendroidConfiguration ();// Adja hozzá a selendroid-test-alkalmazást az önálló kiszolgálóhozconfig.addSupportedApp ("Guru99App.apk");// az önálló kiszolgáló elindításaSelendroidLauncher selendroidServer = új SelendroidLauncher (config);selendroidServer.launchSelendroid ();// Hozza létre a selendroid képességeitSelendroidCapilities capa = új SelendroidCapilities ();// Adja meg a selendroid tesztalkalmazásának használatátcapa.setAut ("com.guru99app: 1.0");// Adja meg az Android eszköz API 19 használatátcapa.setPlatformVersion (DeviceTargetPlatform.ANDROID19);// Ne kérjen szimulátort, használjon valós eszköztcapa.setEmulator (hamis);//capa.wait(10000000);// Selendroid illesztőprogram példányának létrehozásadriver = új SelendroidDriver (capa);}
Teszt végrehajtása
Az alábbiakban a teszt végrehajtására szolgáló kód található. A kód tartalmazza a megjegyzéseket
Itt vannak ismét a tesztlépések
- Írja be a "Hello Guru" szöveget
- Kattintson a Szöveg gomb megjelenítése elemre
- Várj mig
- Ellenőrizze, hogy az alkalmazás megjeleníti-e a szöveget, amikor a felhasználó belép a szövegmezőbe (pl. A "Hello Guru" szöveg megjelenítése)
/ *** Indítsa el a teszteset végrehajtását* 01. Írja be a "Selendroid" szöveget a szövegmezőbe* 02. Nyomja meg az OK gombot* @ dob kivétel* /@Tesztnyilvánosvoid selendroidTest () dobja a Kivételt {// Nyomtassa ki a naplótSystem.out.print ("A teszt végrehajtásának megkezdése");// Keresse meg a képernyőn a beviteli szövegmezőt// Ennek a szövegmezőnek az azonosítója a következő lépés volt:WebElement inputField = driver.findElement (By.id ("edtText"));// Ellenőrizze, hogy a szövegmező engedélyezve van-e, hogy a felhasználó beírhassa a szövegetAssert.assertEquals ("true", inputField.getAttribute ("engedélyezve"));// Írjon szöveget a szövegmezőbeinputField.sendKeys ("Hello Guru");// kattintson a Szöveg megjelenítése gombra// A gomb azonosítója a 9. lépéstől kapottWebElement gomb = driver.findElement (By.id ("btnShow"));button.click ();Késleltetési idő a hatálybalépéshezSzál.alszik (5000);// Keresse meg a képernyőn a "Text Show Here" feliratot// A címke azonosítója a 9. lépéstől kapottWebElement txtView = driver.findElement (By.id ("txtView"));// A szöveges kijelző megjelenítése a képernyőnString várható = txtView.getText ();// Ellenőrizze, hogy a felhasználó által a szövegmezőbe beírt szöveg megegyezik-e a képernyőn megjelenő szöveggelAssert.assertEquals (várható, inputField.getText ());}
Befejezés teszt
A következő kód befejezi a tesztet a Selendroid illesztőprogram leállításával.
/ *** Állítsa le a Selendroid illesztőprogramot** /@AfterSuitenyilvánosvoid tearDown () {driver.quit ();}
A részleteket a cikkben található mintakódban láthatja.
10. lépés: Csatlakoztassa az Android-eszközt a számítógéphez USB-kábelen keresztül. Megfigyelhető pontok -
- Győződjön meg arról, hogy az eszközön nincs beállítva a képernyőzár.
- Az eszközöket USB-n keresztül kell csatlakoztatni ahhoz a számítógéphez, amelyen a selendroid-standalone komponens fut.
- Az eszköznek telepítenie kell legalább az Android Target Version API 10-et
11. lépés : Futtassa a tesztalkalmazást: Kattintson a jobb gombbal a Guru99test -> Run as -> TestNG test elemre
10. lépés: A szkript a következő módon indul el
12. lépés: Miután a teszt befejezte a végrehajtást, a TestNG automatikusan elkészíti a tesztjelentést az alábbiak szerint
Jó munka, most elvégezted a tesztet.
Összegzés
Összegzés
- A Selendroid egy nagyon hatékony eszköz az Android natív alkalmazásának, a hibrid alkalmazásnak, valamint a webes alkalmazásnak a tesztelésére.
- Valódi eszközökön, valamint a szimulátoron is használható.
- Ez lehetővé teszi a tesztek párhuzamos futtatását is egy teszt futtatásával több eszközön.
- A teljes Selendroid csomag négy összetevőből áll:
- Web Driver kliens,
- Selendroid-Server
- Android Driver App
- Selendroid-önálló
- A Selendroid használatához Java JDK, Android SDK és Eclipse kell telepítve.