Selendroid Oktatóanyag kezdőknek példával
Kifejlesztett-e valaha egy Android alkalmazást, és közzéteszi azt Google Játssz? Mit fogsz tenni, ha kapsz egy felhasználói értékelést, például:
Amikor közzéteszel egy alkalmazást Google A játékot alaposan tesztelni kell, hogy elkerüljük a lehetséges hibákat. Egy alkalmazás közzététele előtt rengeteg tesztforgatókönyvet kell végrehajtani. A mentéshez 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 módosíthatja a hardvereszközöket (csatlakoztathatja és kihúzhatja) újraindítás vagy leállítás nélkül.ping a teszt. 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álj a mappához Guru99 az 1. lépésben létrehozva.
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ó, valamint az eszközinformációk alapján elindíthatja a következőket URL 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.
Így a URL ellenőrizni 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ájlt a „C:\” könyvtárbanGuru99App.apk” fájlra kattintva lekérheti a tesztelt alkalmazás adatait.
Ellenőrizd a URL
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
Az 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 tesztnév alatti alkalmazás Guru99App. Az alkalmazás tartalmaz egy szövegmezőt és egy „Szöveg megjelenítése” nevű gombot.
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 Guru99Test projekt -> É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
Hozd létre a „com.guru.test” csomagot, és add hozzá a következő Java fájlt:Guru99Test.java” fájlt, mint az alábbi példában
Jobb klikk Guru99Teszt -> Újszerű -> Csomag
Írja be a com.guru.test parancsot a Név mezőbe az Új oldalon Java Csomag párbeszédablak à Befejezés
Az 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 APK fájlnevünk Guru99App.apk. Kövesse az előző szakaszban leírt lépést, futtassa 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 fájlt Guru99Test.java (a mintakódban) és módosítsa a következőképpen
Ú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 minta tesztprojektet Guru99teszt be Eclipse, állítson be egy töréspontot a fájl 77. sorában Guru99Test.java fájlba duplán kattintva a 77-es sorra -> Egy pont jelenik meg az alábbiak szerint
Jobb klikkel indítsa el a tesztet Guru99Test projekt -> 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 tesztmenet sikeres indítása után nyissa meg a böngészőt, és keresse meg a következőt: URL 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
- Írd be a „Szia” szöveget Guru"
- 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írja a szövegmezőbe (pl. Jelenítse meg a „Hello” szöveget 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());
}
Teszt befejezése
A következő kód a stop paranccsal fejezi be a tesztet.ping a 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 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.


































