Selendroid bemutató kezdőknek példával

Tartalomjegyzék:

Anonim

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

  1. 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

  1. 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

  2. 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

  3. 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

  4. 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:

  1. Indítsa el az alkalmazást
  2. Írjon be egy " Guru99 teszt " szöveget a szövegmezőbe
  3. Nyomja meg a "Szöveg megjelenítése" gombot

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áll

8. 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

  1. Írja be a "Hello Guru" szöveget
  2. Kattintson a Szöveg gomb megjelenítése elemre
  3. Várj mig
  4. 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.