selendroid tutorial android mobile test automation framework
Mobilná automatizácia pomocou Selendroidu (časť I):
Doteraz boli milióny aplikácií vyvinutých pomocou systému Android ako platformy a ich počet sa každým dňom zvyšuje.
Háčik je v tom, ako overiť každú aplikáciu? Pretože budeme vyžadovať vyhradené zdroje, ako sú pracovná sila, skutočné zariadenia (povedzme napr. Mobilné telefóny) atď., Opäť ide o časovo náročnú úlohu. Na druhej strane verzia pre Android, verzia aplikácie (.apk), dimenzia zariadenia atď. Nie sú konštantné.
Preto je veľmi ťažké definovať výstupné kritériá testu, pretože nemôžeme definovať celý rozsah testovania, a preto nie je možné vykonať presný odhad testovacieho úsilia.
S cieľom prekonať závislosť zariadení sa vyvíjajú emulátory, ktoré poskytujú prostredie podobné real-time, kde môžeme aplikáciu testovať bez obáv o verziu systému Android, zariadenia a ich verziu. Stále je však testovanie aplikácií (.apk) cez emulátor manuálnou aktivitou a dokonca časovo náročnou úlohou. Preto sa vyvíja myšlienka automatizácie mobilného testovania.
Na vykonávanie mobilnej automatizácie je vyvinutý rámec automatizácie testov, ktorý umožňuje automatizáciu aplikácií založených na systéme Android pomocou skriptovacieho jazyka.
Existuje veľa vyvinutých automatizačných rámcov, ako napríklad Selendroid, Appium, Robotium, Espresso.
Tento výukový program je rozdelený na dve časti:
Výukový program č. 1 : Selendroid Úvod: Android Mobile Test Automation Framework
Výukový program č. 2: Ako používať rámec Selendroid na automatizáciu interakcií používateľov s mobilnou aplikáciou (čoskoro)
sql interview otázky a odpovede pre nováčikov
Čo sa dozviete:
- Čo je Selendroid?
- Selendroid komponenty
- Environmentálne nastavenie
- Písanie prvého skriptu pomocou súborov APK na skutočných zariadeniach
- Záver
- Odporúčané čítanie
Čo je Selendroid?
Selendroid je úžasný nástroj na automatizáciu testovacích aplikácií pre mobilné aplikácie pre Android s niekoľkými dôležitými funkciami. Selendroid je veľmi výkonný automatizačný nástroj, ktorý dokáže interagovať s viacerými zariadeniami súčasne a pomocou aplikácie Selendroid je možné testovať aplikáciu bez akýchkoľvek úprav alebo zmien.
Tiež sa nazýva „Selén pre Android“ na testovanie natívnych a hybridných mobilných aplikácií a mobilného webu.
Prečo Selendroid?
- Je to otvorený zdroj (zadarmo na použitie)
- Podporuje selén ako skriptovací jazyk
- Podporuje jazyky kompatibilné s webovými ovládačmi, ako sú Java, C #, Perl
- Podporuje všetky verzie pre Android
- Funguje ako na emulátore, tak aj na skutočnom zariadení
- Funguje na natívnej, hybridnej a webovej aplikácii
- Efektívne pri vykonávaní natívnych aj cloudových aplikácií. pretože podporuje selénovú mriežku
- Podporuje rozpoznávanie objektov pomocou vlastností objektu
- Ľahko implementovateľné
- Hardvérové zariadenia je možné počas vykonávania testu zapojiť alebo odpojiť od počítača bez nutnosti reštartovania alebo zastavenia testu. Selendroid dokáže nové zariadenia rozpoznať automaticky. Táto funkcia je známa ako „Hotplugging“.
Jednoduchá architektúra Selendroidu
Selendroid komponenty
Selendroid - klient
V zásade ide o klientsku knižnicu java. Z tohto komponentu sa požiadavka HTTP a WebDriver odosiela pomocou JSON na samostatný server Selendroid.
Selendroid - samostatný
Táto súčasť spravuje rôzne zariadenia aj .apk inštaláciou servera Selendroid a testovanej aplikácie. Http požiadavka (ktorá sa má vykonať cez skutočné zariadenie / simulátor) sa posiela zo samostatného servera Selendroid do zariadenia a do testovaného apk.
Selendroid - server
Tento server beží nad zariadením spolu s testovanou aplikáciou. Medzi serverom a testovanou aplikáciou existuje obojsmerná komunikácia.
AndroidDriverApp
Jedná sa o zabudovaný ovládač systému Android, ako aj aplikáciu Web View na testovanie mobilného webu.
Ďalší testovací rámec pomenovaný ako APPI funguje podobne ako Selendroid.
Tu je malé porovnanie medzi oboma.
Funkcia | Selendroid | appium |
---|---|---|
Podpora pre nižšiu verziu systému Android (<4.1) | Áno | Nie |
Pripojenie za tepla | Áno | Nie |
Testovanie agenta používateľa | Nie | Áno |
Podpora aplikácií založených na systéme iOS | Nie | Áno |
Environmentálne požiadavky | Pre Android - Mac, Linux, Windows (ľubovoľná verzia) | Pre iOS - Mac OSX 107. Pre Android - Windows 7+, Linux, Mac OSX 107. |
Predpoklady:
Ak chcete začať s cieľovým publikom, mali by ste si byť veľmi dobre vedomí použitia selénu, akýchkoľvek nástrojov IDE, ako je napríklad Eclipse atď. Základné koncepty programovania hovoria napríklad Java, C atď ... a musia si byť vedomí používania Mavenu a ďalších TESTOVACÍCH nástrojov.
- Nainštalujte si akcelerátor Intel x86 Emulator Accelerator (nie je povinný), aby ste si mohli simulátor pozrieť z tu
- Java SDK, JRE už nainštalované v testovacom prostredí. Prípadne si môžete stiahnuť to isté z tu
Počas inštalácie si poznamenajte cestu SDK.
Nastavte premenné prostredia, ktoré sa nachádzajú v priečinku Tento počítač -> kliknite pravým tlačidlom myši -> Vlastnosti -> Pokročilé nastavenie systému
- Eclipse je už vo vašom počítači nainštalovaný. Ak nie, môžete si ich tiež stiahnuť z adresy tu
- Súbory selenových nádob sa majú stiahnuť. Môžete si stiahnuť to isté aj odtiaľto
- Dózy TestNG sú už stiahnuté
- Android SDK, ktorá sa má stiahnuť a nainštalovať. To isté si môžete tiež stiahnuť z tu
Počas inštalácie si poznamenajte cestu Android SDK
Po stiahnutí by mal byť ANDROID_HOME nastavený v premenných prostredia prítomných v:
Tento počítač -> kliknite na ňu pravým tlačidlom myši -> Vlastnosti -> Pokročilé nastavenie systému
- Súbory Selendroid jar sa majú stiahnuť. To isté si môžete tiež stiahnuť z tu
Pamätaj na stiahnutie samostatného súboru jar Selendroid z vyššie uvedeného umiestnenia. Názov je zvyčajne ako selendroid-standalone-0.9.0-with-dependencies.jar. Stiahnite si tiež jeden ukážkový súbor APK povedzme selendroid-test-app-0.8.0.apk z vyššie uvedeného umiestnenia
Poznámka:
- Môžeme tiež použiť úložisko maven ak chcete dať odkaz na všetky tégliky, inak ich musíte stiahnuť ručne a pripojiť ich k ceste zostavenia (projekt Over Eclipse)
- Zariadenia / emulátory - V systéme Android bude mať nainštalovaná aplikácia príponu .apk. Inými spôsobmi si môžete stiahnuť aplikácie, napríklad APK Info, ktoré vás informujú o zozname aplikácií nainštalovaných na vašom zariadení so systémom Android a ich skutočnom názve, veľkosti atď.
Environmentálne nastavenie
# 1) Uchovajte súbor APK, ktorý je potrebné nainštalovať, na správnom mieste
V mojom prípade som to nechal G: \ Jars \ selendroid-test-app-0.8.0.apk
# 2) Ďalej ponechajte aplikáciu nad priečinkom projektu
V mojom prípade to tak je 500: AppiumAutomation SelendroidFirst
# 3) Pripojte skutočné zariadenie k počítaču
Uistite sa, že je povolený režim ladenia USB a tiež povoľujete inštaláciu externých aplikácií cez pripojenie USB.
Tipy:
- Prečítajte si nastavenie ladenia USB požadované pre mobilné zariadenia, povedzme Redmi Note 3 z tu
- Povoliť externú aplikáciu nainštalovanú pomocou USB, povedzte Redmi note 3 z tu
# 4) Otvorte príkazový riadok v systéme Windows
Prejdite do priečinka, kde je samostatný samostatný súbor Selendroid, ako aj stiahnutý súbor apk.
Teraz zadajte podobný príkaz a stlačte kláves Enter na príkazovom riadku
Napr. java --jar selendroid-standalone-0.15.0-with-dependencies.jar -aut selendroid-test-app-0.8.0.apk
Alebo java –jar selendroid-standalone-0.15.0-with-dependencies.jar
Súbor APK: selendroid-test-app-0.8.0.apk
Poznámka: Po vykonaní vyššie uvedeného príkazu skontrolujte, či je súbor APK podpísaný a či je skutočné zariadenie pripojené k počítaču a či je na zariadení povolené ladenie.
(Poznámka: Kliknite na obrázok pre zväčšené zobrazenie)
Skontrolujte nasledujúce body príkazového riadku a uistite sa, že je prostredie pripravené na automatizáciu:
- Overte na správu „Zariadenie je zadané s platným číslom“
- Overte pre správu „server je spustený v predvolenom porte povedzme (4444) ...“
- Overte správu „Relácia sa vytvára ...“
Opäť môžeme kedykoľvek potvrdiť, či je server spustený alebo nie, pomocou nasledujúcej adresy URL v ktoromkoľvek z vašich webových prehľadávačov.
ako vytvoriť java otvorené súbory jar
napr. http: // localhost: 4444 / wd / hub / status
# 5) Kontrola súborov APK
- Skutočné aplikácie môžeme používať pripojením skutočných mobilných zariadení
- Môžeme použiť akékoľvek stiahnuté súbory APK offline
Selendroid Inspector je užitočný pri ladení / kontrole webových prvkov APK.
Po identifikácii a spustení zariadenia môžeme zobraziť súbor APK (vo virtuálnom režime) a nájsť odkazy, ktoré sú užitočné na písanie skriptov, pomocou nasledujúcej adresy URL v ktoromkoľvek z vašich webových prehľadávačov.
Napr .: http: // localhost: 4444 / inšpektor
Tu máme snímku obrazovky testovanej aplikácie a máme zariadenie na kontrolu prvku tiež.
Alebo môžete vždy použiť uiautomatorviewer aby ste našli objekty z testovanej aplikácie.
Predvolená cesta je uvedená nižšie:
C: Users admin android-sdks tools
C: Users admin - Toto je miesto, kde som nainštaloval sady Android SDK, ale môže sa líšiť podľa umiestnenia určeného počas jeho inštalácie.
Písanie prvého skriptu pomocou súborov APK na skutočných zariadeniach
Cieľ:
- Spustite server (na predvolenom porte je 4444)
- Vytvorte reláciu
- Nainštalujte aplikáciu (súbor .apk) cez pripojené skutočné zariadenie
- Automatizujte textové pole pomocou niektorých údajov
- Automaticky kliknite na tlačidlo
package SelendroidFirst; import io.selendroid.client.SelendroidDriver; import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.HttpClientBuilder; import io.selendroid.common.SelendroidCapabilities; import io.selendroid.common.device.DeviceTargetPlatform; import io.selendroid.standalone.SelendroidConfiguration; import io.selendroid.standalone.SelendroidLauncher; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.testng.annotations.AfterSuite; import org.testng.annotations.BeforeSuite; import org.testng.annotations.Test; import java.net.MalformedURLException; import java.net.URL; import org.openqa.selenium.remote.*; import static org.openqa.selenium.remote.CapabilityType.BROWSER_NAME; import static org.openqa.selenium.remote.CapabilityType.PLATFORM; import static org.openqa.selenium.remote.CapabilityType.VERSION; public class RealDevices{ public SelendroidLauncher selendroidServer = null; public WebDriver driver = null; public void conf() throws Exception { //**Configuration**// SelendroidConfiguration config = new SelendroidConfiguration(); config.addSupportedApp('G:\Jars\selendroid-test-app-0.8.0.apk'); SelendroidLauncher selendroidServer = new SelendroidLauncher(config); selendroidServer.launchSelendroid(); //**Creating capabilities**// SelendroidCapabilities sc = new SelendroidCapabilities(); sc.setAut('io.selendroid.testapp:0.8.0'); sc.setEmulator(false); //**Instantiating new Selendroid driver**// WebDriver driver = new SelendroidDriver(sc); //**Sending data to the text field**// driver.findElement(By.id('my_text_field')).sendKeys('Selendroid Test'); //**Clicking on the button**// driver.findElement(By.id('visibleButtonTest')).click(); Thread.sleep(10000); }
Záver
Selendroid je veľmi výkonný rámcový nástroj na automatizáciu testov, ktorý sa dá použiť na testovanie natívnej, hybridnej aj webovej aplikácie na akomkoľvek zariadení so systémom Android i simulátora.
Podporuje Hotplugging, čo znamená, že používateľ môže mať testovaných viac zariadení súčasne, a preto je paralelné vykonávanie testu možné na viacerých zariadeniach. Podporuje rôzne druhy interakcií, ako je dlhé stlačenie, dotykové akcie atď.
Jedinou zložitosťou je environmentálne nastavenie, ktoré sa nachádza aj v iných rámcoch. Po správnom nastavení môžeme bez problémov spustiť naše skripty.
Včasť 2tohto Selendoid tutoriálu sa budeme venovať - Ako používať rámec Selendroid na automatizáciu interakcií používateľov s mobilnou aplikáciou.
V našom ďalšom článku si povieme viac o Výukový program pCloudy Hands-on Review.
Odporúčané čítanie
- Hĺbkové návody pre zatmenie pre začiatočníkov
- Výukový program pre automatizáciu SeeTest: Sprievodca nástrojom na automatizáciu mobilných testov
- Výukový program Java Collections Framework (JCF)
- Výukový program Java Reflection s príkladmi
- Výukový program Ranorex: Výkonný nástroj na testovanie automatizácie počítačov, webových stránok a mobilných zariadení
- Výukový program Appium na testovanie mobilných aplikácií pre Android a iOS
- Používanie Selendroidu na automatizáciu používateľských interakcií cez mobilnú aplikáciu (2. časť)
- Pokročilé použitie automatizácie SeeTest na projekte mobilnej automatizácie v reálnom čase