Už ste niekedy vyvinuli aplikáciu pre Android a zverejnili ju v službe Google Play? Čo urobíte, ak získate hodnotenie od používateľa, ako napríklad -
Keď zverejňujete aplikáciu v službe Google Play, musí byť dobre otestovaná, aby sa predišlo možným chybám. Existuje veľa testovacích scenárov, ktoré by sa mali vykonať pred zverejnením aplikácie. Ak chcete ušetriť úsilie na testovanie, potrebujete testovací nástroj. Jedným z najlepších testovacích nástrojov pre aplikáciu pre Android je Selendroid.
- Čo je Selendroid?
- Prečo potrebujeme Selendroid?
- Selendroidná architektúra
- Začíname so Selendroidom
- Nastavenie prostredia Selendroid
- Ako spustiť Selendroid
- Selendroid základný príkaz
- Začnite svoj prvý test so Selendroidom
Čo je Selendroid?
Selendroid je rámec automatizácie testov pre rôzne typy mobilných aplikácií: natívnu a hybridnú aplikáciu pre Android a mobilný web.
Testy môžete písať pomocou klientských rozhraní API Selenium 2. Pretože Selendroid stále znovu využíva existujúcu selénovú infraštruktúru pre web
Selendroid je výkonný testovací nástroj. Môže byť použitý na emulátoroch a skutočných zariadeniach
Prečo potrebujeme Selendroid?
Selendroid je skvelý testovací nástroj. Stále však môžete pochybovať o jeho užitočnosti.
Táto časť predstaví dôležité vlastnosti Selendroidu, aby ste odpovedali na otázku, prečo Selendroid potrebujete.
- Testovanú aplikáciu môžete otestovať pomocou aplikácie Selendroid bez akýchkoľvek úprav aplikácie. Potrebujete iba binárny súbor (APK) nainštalovaný v počítači. Na inštaláciu binárneho súboru do zariadenia musia byť testovacia a mobilná aplikácia podpísané rovnakým podpisovým kľúčom
- Testovacia aplikácia Selendroid môže interagovať s viacerými zariadeniami alebo simulátormi súčasne. Je to veľká výhoda Selendroidu. Môžete teda vyskúšať svoju aplikáciu na rôznych zariadeniach s Androidom a skontrolovať kompatibilitu.
- Aplikácia Selendroid dokáže simulovať akcie človeka a používateľa v aplikácii, ako napríklad dotyky, potiahnutie prstom, pretiahnutie a pustenie na zariadeniach
- Počas testovania môžete zmeniť hardvérové zariadenia (zapojiť a odpojiť) bez reštartovania alebo zastavenia testu. Selendroid rozpozná nové zariadenia automaticky
- V súlade s verziou Android API vyššie podporuje Selendroid aj nové Android API (od API 10 po API 19)
- Selendroid má tiež vstavaný nástroj na kontrolu, ktorý vám pomôže identifikovať prvok používateľského rozhrania testovanej aplikácie. Napríklad tlačidlo ID, textové pole, textové zobrazenie ...
Selendroidná architektúra
Selendroid je založený na prístrojovom rámci Androidu. Selendroidné testy sú písané na základe API klienta Selenium Web driver, takže podporuje úplnú integráciu s aktuálnymi selénovými frameworkami.
Nasledujúci obrázok popisuje architektúru Selendroidu
Selendroid obsahuje 4 hlavné komponenty:
- Web Driver Client - Knižnica klientov Java založená na seléne. Táto knižnica by mala byť nainštalovaná v počítači (ktorý sa používa na vývoj testovacích prípadov).
- Selendroid-Server - server, ktorý beží, je v testovanej aplikácii na zariadení Android alebo na simulátore. Toto sú hlavné komponenty architektúry Selendroid
- Aplikácia Android Driver - vstavaný ovládač Android, aplikácia Web View na testovanie mobilného webu.
- Selendroid-Standalone - tento komponent sa používa na inštaláciu servera Selendroid a testovanej aplikácie (AUT)
Začíname so Selendroidom
Dôležitosť Selendroidu ste už vedeli. Teraz si pošpiníme ruky Selendroidom.
Pred prvým testom so Selendroidom by mali byť urobené 3 kroky
Nastavenie prostredia Selendroid
Selendroid môže pracovať v systémoch Windows, Linux a Mac OS. V tomto tutoriále nastavíme Selendroid v Window OS.
Pred použitím Selendroidu je potrebné najskôr nainštalovať nasledujúci balík
- Java SDK (minimálne 1,6)
Musíte akceptovať licenčnú zmluvu a stiahnuť inštalačný program java (vo vašom operačnom systéme vyberte základňu x64 alebo x86)
Stiahnite a nainštalujte si Java SDK ako bežný softvér
- Najnovšia verzia súpravy Android SDK
- Váš počítač musí mať najmenej jedno virtuálne zariadenie so systémom Android (AVD) alebo skutočné zariadenie so systémom Android zapojené do počítača.
- Selendroid Samostatný so závislosťami, klient Selendroid a klient Selenium
- Softvér Eclipse
- Nastaviť JAVA_HOME a ANDROID_HOME
Krok 1) V okne kliknite pravým tlačidlom myši na Počítač -> Vlastnosti -> Pokročilé nastavenie systému
Krok 2) Zobrazenie okna Vlastnosti systému, vyberte kartu Rozšírené -> Premenné prostredia
Krok 3) V okne prostredia kliknite na Nové -> Zadajte premennú ANDROID_HOME nasledovne
Hodnota premennej je cesta k súborom android-sdks, ktoré ste už nainštalovali.
Vyhľadajte systémovú premennú Cesta -> Upraviť -> Pridať nasledujúci riadok za aktuálny riadok
Podobne ako v systéme ANDROID_HOME, pridajte novú premennú JAVA_HOME s hodnotou uvedenou nižšie
Hodnota je Cesta k vašej inštalácii Java JDK
Krok 4) Reštartujte počítač -> Hotovo
Ako spustiť Selendroid
Krok 1) Získanie testovanej aplikácie
Pomocou existujúcej testovacej aplikácie Selendroid môžete skontrolovať, ako funguje Selendroid (odkaz na testovanú aplikáciu)
Po dokončení sťahovania skopírujte tento súbor APK a vyššie uvedený súbor samostatnej nádoby Selendroid do priečinka s názvom „ Guru99“.
Krok 2) Spustite Selendroid
Otvorte terminál v systéme Windows a prejdite do priečinka Guru99 vytvoreného v kroku 1.
Spustite nasledujúci príkaz
Výstup sa zobrazí nasledovne
Po spustení tohto príkazu sa spustí samostatný server HTTP HTTP! Predvolené číslo portu tohto servera je 4444. Všetky hardvérové zariadenia, ako aj virtuálne zariadenia Android, budú skenované a rozpoznané automaticky. Selendroid identifikuje cieľovú verziu systému Android a veľkosť obrazovky zariadenia.
Ak chcete skontrolovať cieľovú verziu systému Android a informácie o zariadení, môžete v prehliadači spustiť nasledujúcu adresu URL:
http: // localhost: 4444 / wd / hub / status.
Selendroid základný príkaz
Táto časť vám predstavuje niekoľko základných príkazových riadkov samostatného samostatného príkazu. Môžete ich použiť na nastavenie testovacieho prostredia Selendroid
- Nastavenie portu Selendroid
Predvolený port Selendroidu je 4444. Môžete však zmeniť iný port pridaním parametra do príkazu na spustenie Selendroidu
Parameter: -port [číslo portu]
Napríklad:
Vo vyššie uvedenom príkaze je 5555 nový port.
Takže adresa URL na kontrolu cieľovej verzie systému Android sa zmení na: http: // localhost: 5555 / wd / hub / status
- Zadajte umiestnenie testovanej aplikácie (binárny súbor APK). Selendroid často vyžadoval pre tento súbor absolútnu cestu
Parameter: -app [cesta k súboru]
Napríklad:
Vo vyššie uvedenom príkaze Selendroid automaticky nájde základňu binárneho súboru na „C: \ Guru99App.apk“, aby získal informácie o testovanej aplikácii.
Skontrolujte adresu URL http: // localhost: 4444 / wd / hub / status, tieto informácie sa zobrazia
- Zmeňte port, ktorý používa Selendroid na komunikáciu s prístrojovým serverom. Selendroid používa ako predvolený port 8080
Parameter: -selendroidServerPort [číslo portu]
Príklad
Port je teraz zmenený na 9000
- Zmeňte časový limit spustenia emulátorov. Jednotka je milisekundy.
Parameter: -timeoutEmulatorStart
V predvolenom nastavení bude Selendroid čakať 300 000 milisekúnd, kým sa emulátor spustí. Príkazom môžete zmeniť nový časový limit (200 000 ms)
Po uplynutí tejto doby, ak náš emulátor nemôže byť spustený, Selendroid vyhodí chybu výnimky (chyba sa vyskytla pri hľadaní zariadení / emulátorov) a potom prestane bežať
- Po spustení príkazu Selendroid na termináli uvidíte na obrazovke vytlačený protokol. Typ protokolu, ktorý sa zobrazuje, môžete zmeniť pridaním nasledujúceho parametra
Parameter: -logLevel [typ protokolu]
Hodnoty úrovne denníka sú CHYBA, VÝSTRAHA, INFO, DEBUG a VERBÓZA. Predvolené: CHYBA.
Napríklad nastavte Selendroid tak, aby tlačil iba protokol VAROVANIE, môžete použiť tento príkaz
Selendroid vytlačí iba protokol VÝSTRAHA
Začnite svoj prvý test so Selendroidom
Táto časť je krok za krokom sprievodcom vytvorením prvého testovacieho skriptu pomocou nástroja Selendroid
Predpokladajme, že máme aplikáciu pre Android pod testovacím názvom Guru99App. Aplikácia obsahuje textové pole a názov tlačidla „Zobraziť text“.
STIAHNUŤ APK TU
Nasledujúci testovací prípad musíme vykonať pomocou Selendroidu
Testovacie prípady |
Stav |
Očakávaný výstup: |
|
Binárny súbor testovanej aplikácie je k dispozícii K PC je pripojené zariadenie |
Text „Zobraziť text tu“ sa zmení na text ktoré užívateľ zadá do textového poľa |
Krok 1) Vytvorte projekt Java v Eclipse
Krok 2) Pridajte selén a súbor Selendroid jar do prostredí zatmenia
Kliknite pravým tlačidlom myši na projekt Guru99Test -> Cesta zostavenia -> Pridať externé archívy
Prejdite do priečinka, v ktorom boli uložené súbory jar
Mali by sa pridať 3 súbory jar
- selendroid-client-0.10.0.jar: Selendroid java klientská knižnica
- selendroid-standalone-0.11.0-with-dependencies: Samostatná knižnica servera Selendroid
- selenium-java-2.40.0.jar: knižnica selenového webového ovládača
Vyberte všetky -> zvoľte Otvoriť, ak chcete do projektu pridať súbor jar
Krok 3) Po pridaní vyššie uvedenej knižnice sa tieto knižnice pridajú do referenčných knižníc testovacieho projektu. Tester môže na vývoj testovacieho programu použiť API týchto knižníc
Vytvorte balíček „com.guru.test“ a pridajte java súbor „Guru99Test.java“, ako je uvedené nižšie
Kliknite pravým tlačidlom myši na Guru99Test -> Nové -> Balíček
Zadajte com.guru.test do poľa Názov v dialógovom okne Nový balík Java à Dokončiť
Eclipse vytvorí podobné priečinky a podpriečinky v štruktúre zdrojového kódu
Krok 4) Nainštalujte TestNG pre Eclipse
V aplikácii Eclipse, Pomocník -> Inštalovať nový softvér, v dialógovom okne Inštalácia kliknite na položku Pridať a zadajte nasledujúce
- Názov: TestNG
- Umiestnenie: http://selendroid.io/
Stlačením OK -> Ďalej nainštalujte TestNG
Krok 5) Skopírujte Guru99App.apk do priečinka Test App
Krok 6) Získajte ID testovanej aplikácie.
Predpokladajme, že máme názov súboru APK Guru99App.apk. Postupujte podľa pokynov v predchádzajúcej časti a vykonajte príkaz na termináli
Otvorte nasledujúci odkaz v prehliadači
http: // localhost: 4444 / wd / hub / status.
Zobrazia sa informácie o zariadení, skopírujte hodnotu aplikácie „com.guru99app: 1,0“.
Krok 7) Otvorte súbor Guru99Test.java (vo vzorovom kóde) a zmeňte nasledujúci postup
Ak chcete vytvoriť novú testovaciu reláciu so Selendroidom, musíte zadať ID aplikácie vo formáte: com.guru99app: 1.0. Toto ID aplikácie je identifikované v kroku 6. Ak nenastavíte ID aplikácie zodpovedajúce zariadeniu Android, testovacia relácia spôsobí chybu a nespustí sa.
Po inicializácii nájdeného zariadenia Selendroid vytvorí prispôsobený server selendroid a nainštaluje naň server Selendroid.
Selendroid tiež nainštaluje testovanú aplikáciu a spustí selendroid-server na zariadení
Po úspešnej inicializácii testovacej relácie sa na zariadení začne vykonávať testovací príkaz. (Napríklad zadávanie textu, stlačte tlačidlo
…). Ak test pripojí testovaciu reláciu, emulátor sa automaticky zastavíKrok 8) Spustite nové testovacie sedenie
Spustite server Selendroid pomocou nasledujúceho príkazu na termináli, ako je krok 6
Po spustení servera Selendroid otvorte ukážkový testovací projekt Guru99test na Eclipse, nastavte bod prerušenia na riadok 77 v súbore Guru99Test.java dvojitým kliknutím na riadok 77 -> Zobrazí sa bodka ako nižšie
Začnite testovaciu reláciu pravým tlačidlom myši Kliknite na projekt Guru99Test -> Debug As -> Testng Test.
Spustí sa testovacia relácia, ako je uvedené nižšie
Krok 9) Získajte Id prvku GUI testovanej aplikácie
Po úspešnom spustení testovacej relácie otvorte prehliadač a prejdite na inšpektora URL http: // localhost: 4444 /
Uvidíte, že je spustená Testovaná aplikácia, ako je uvedené nižšie
Použite kurzor myši na každý prvok používateľského rozhrania AUT (tlačidlo, textové pole, textový štítok), ID každého prvku sa zvýrazní na pravom paneli.
Po tomto kroku môžete získať ID každého vyššie uvedeného prvku používateľského rozhrania
- Tlačidlo Zobraziť ID textu: " btnShow "
- ID textového poľa: " edtText "
- ID textu štítku: „ txtView “
Tieto identifikátory sa použijú v ďalšom kroku
Krok 10) Zadajte testovací program, ako je uvedené nižšie
Testovací program využívajúci Selendroid obsahuje 3 sekcie
Test nastavenia:
Nasleduje kód pre test nastavenia, ktorý nastaví podmienku testovacej relácie. V prípade chyby Selendroid zruší výnimku a testovacia aplikácia sa zastaví.
Tento kód obsahuje komentáre na vysvetlenie každého tvrdenia.
balíček 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 testovacia aplikácia využívajúca Selendroid* Testovaná aplikácia: Guru99App** /verejnétrieda Guru99Test {// Deklarovať premennú webového ovládačasúkromný ovládač WebDriver;/ *** Pred testovaním nastavte prostredie* @hodí výnimku* /@BeforeSuiteverejnévoid setUp () vyvolá výnimku {// Spustiť samostatný program počas testuKonfigurácia SelendroidConfiguration = nová SelendroidConfiguration ();// Pridajte aplikáciu selendroid-test-app na samostatný serverconfig.addSupportedApp ("Guru99App.apk");// spustiť samostatný serverSelendroidLauncher selendroidServer = nový SelendroidLauncher (konfigurácia);selendroidServer.launchSelendroid ();// Vytvorte možnosti selendroiduSelendroidCapabilities capa = nový SelendroidCapabilities ();// Zadajte použitie testovacej aplikácie selendroidcapa.setAut ("com.guru99app: 1,0");// Zadajte použitie rozhrania API zariadenia Android 19capa.setPlatformVersion (DeviceTargetPlatform.ANDROID19);// Nepožadujte simulátor, použite skutočné zariadeniecapa.setEmulator (false);//capa.wait(10000000);// Vytvorenie inštancie ovládača Selendroidvodič = nový SelendroidDriver (capa);}
Vykonať test
Nižšie je uvedený kód na vykonanie testu. Kód obsahuje komentáre
Tu sú opäť kroky testu
- Zadajte text „Hello Guru“
- Kliknite na tlačidlo Zobraziť text
- Počkaj chvíľu
- Overte, či aplikácia zobrazuje text, keď používateľ zadá textové pole (napr. Zobrazí text „Hello Guru“)
/ *** Začnite vykonávať testovací prípad* 01. Do textového poľa zadajte text „Selendroid“* 02. Stlačte tlačidlo OK* @hodí výnimku* /@Testverejnévoid selendroidTest () vyvolá výnimku {// Vytlačte denníkSystem.out.print ("Spustiť vykonávanie testu");// Na obrazovke nájdete pole na zadávanie textu// ID tohto textového poľa bolo získané z kroku 9WebElement inputField = driver.findElement (By.id ("edtText"));// Overte, či je textové pole povolené, aby mohol používateľ zadávať textAssert.assertEquals ("true", inputField.getAttribute ("povolené"));// Zadajte text do textového poľainputField.sendKeys ("Hello Guru");// kliknite na tlačidlo Zobraziť text// ID tohto tlačidla bolo získané z kroku 9Tlačidlo WebElement = driver.findElement (By.id ("btnShow"));button.click ();// Čas oneskorenia, aby sa prejaviliZávit. Spánok (5 000);// Na obrazovke nájdete štítok „Text Zobraziť tu“// ID tohto štítku bolo získané z kroku 9WebElement txtView = driver.findElement (By.id ("txtView"));// Zobrazenie textu na obrazovkeOčakávaný reťazec = txtView.getText ();// Overte, či je text zadávaný používateľom do textového poľa rovnaký ako text zobrazený na obrazovkeAssert.assertEquals (očakáva sa, inputField.getText ());}
Dokončiť test
Nasledujúci kód ukončí test zastavením ovládača Selendroid.
/ *** Zastavte ovládač Selendroid** /@AfterSuiteverejnévoid tearDown () {driver.quit ();}
Podrobnosti si môžete pozrieť vo vzorovom kóde zahrnutom v tomto článku.
Krok 10) Pripojte zariadenie s Androidom k počítaču pomocou kábla USB. Body, ktoré treba dodržiavať -
- Skontrolujte, či zariadenie nemá nakonfigurovaný žiadny zámok obrazovky.
- Zariadenia musia byť pripojené cez USB k počítaču, na ktorom je spustený samostatný samostatný komponent.
- Zariadenie by si malo nainštalovať minimálne Android Target Version API 10
Krok 11) Spustite testovaciu aplikáciu: Kliknite pravým tlačidlom myši na Guru99test -> Spustiť ako -> TestNG test
Krok 10) Skript sa spustí nasledovne
Krok 12) Po dokončení testu TestNG automaticky vygeneruje správu z testu nasledovne
Dobrá práca, teraz ste test vykonali.
Zhrnutie
Zhrnutie
- Selendroid je veľmi výkonný nástroj na testovanie natívnej aplikácie pre Android, hybridnej aplikácie aj webovej aplikácie.
- Môže byť použitý na skutočných zariadeniach, ako aj na simulátore.
- Umožňuje vám tiež spustiť testy paralelne spustením testu na viacerých zariadeniach.
- Celá sada Selendroid sa skladá zo štyroch komponentov:
- Klient webového ovládača,
- Selendroid-Server,
- Aplikácia Android Driver
- Osamelý
- Aby ste mohli používať Selendroid, musíte mať nainštalovanú Java JDK, Android SDK a Eclipse.