selendroid tutorial android mobile test automation framework
Mobilna avtomatizacija s pomočjo Selendroida (1. del):
Do zdaj so že razvili milijone aplikacij, ki uporabljajo Android kot platformo, število pa se še vedno povečuje iz dneva v dan.
Ulov je, kako potrditi vsako aplikacijo? Ker bomo potrebovali namenske vire, kot so delovna sila, prave naprave (recimo mobilne naprave) itd., Je spet dolgotrajna naloga. Po drugi strani različica android, različica aplikacij (.apk), dimenzija naprave itd. Niso konstantne.
Zato je zelo težko določiti merila za izhod iz testa, saj ne moremo določiti celotnega obsega testiranja, zato ni mogoče natančno oceniti napora pri testiranju.
Da bi premagali odvisnost od naprave, se razvijajo emulatorji, ki lahko zagotavljajo okolju v realnem času, kjer lahko preizkusimo aplikacijo, ne da bi skrbeli za različico androida, naprave in njihovo različico. Toda preskušanje aplikacij (.apk) prek emulatorja je ročna dejavnost in celo zamudno opravilo. Zato se razvija ideja o avtomatizaciji mobilnega testiranja.
Za izvedbo mobilne avtomatizacije je razvit testni sistem za avtomatizacijo, ki omogoča avtomatizacijo aplikacij, ki temeljijo na Androidu, s pomočjo skriptnega jezika.
Razvitih je veliko sistemov za avtomatizacijo, kot so Selendroid, Appium, Robotium, Espresso.
Ta vadnica je razdeljena na dva dela:
Vadnica # 1 : Uvod v Selendroid: Android Mobile Test Automation Framework
Vadnica # 2: Kako uporabiti ogrodje Selendroid za avtomatizacijo uporabniških interakcij prek mobilne aplikacije (kmalu)
Kaj se boste naučili:
- Kaj je Selendroid?
- Komponente Selendroid
- Nastavitev okolja
- Pisanje prvega skripta z uporabo datotek APK prek resničnih naprav
- Zaključek
- Priporočeno branje
Kaj je Selendroid?
Selendroid je neverjetno orodje za avtomatizacijo preizkusov mobilnih aplikacij za Android z več pomembnimi funkcijami. Selendroid je zelo zmogljivo orodje za avtomatizacijo, ki lahko hkrati komunicira z več napravami, program pa je mogoče preizkusiti brez kakršnih koli sprememb ali sprememb s pomočjo Selendroida.
vprašanja in odgovori za intervju z angularjs za izkušene v .netu
Imenuje se tudi »Selen za Android« za testiranje izvornih in hibridnih mobilnih aplikacij in mobilnega spleta.
Zakaj Selendroid?
- Je odprtokodna (brezplačna za uporabo)
- Podpira selen kot skriptni jezik
- Podpira jezike, združljive s spletnimi gonilniki, kot so Java, C #, Perl
- Podpira vse različice Androida
- Deluje tako na emulatorju kot tudi na pravi napravi
- Deluje na izvorni, hibridni in spletni aplikaciji
- Učinkovito pri izvajanju izvornih aplikacij, pa tudi aplikacij v oblaku. saj podpira selenovo mrežo
- Podpira prepoznavanje predmetov z uporabo lastnosti objekta
- Enostaven za izvedbo
- Strojne naprave lahko med izvajanjem preizkusa priključite, izključite iz računalnika, ne da bi ga znova zagnali ali ustavili. Selendroid lahko samodejno prepozna nove naprave. Ta funkcija je znana kot 'Hotplugging'
Preprosta arhitektura Selendroida
Komponente Selendroid
Selendroid - odjemalec
V bistvu gre za knjižnico odjemalcev Java. Iz te komponente se zahteva HTTP in WebDriver pošlje z uporabo JSON na samostojni strežnik Selendroid.
Selendroid - samostojen
Ta komponenta upravlja različne naprave, kot tudi .apk, z namestitvijo strežnika Selendroid in preskušane aplikacije. Zahteva Http (ki jo je treba izvesti prek resnične naprave / simulatorja) se pošlje iz samostojnega strežnika Selendroid v napravo in preskušeni apk.
Selendroid - strežnik
Ta strežnik teče nad napravo skupaj s preizkušeno aplikacijo. Med strežnikom in preizkušeno aplikacijo obstaja dvosmerna komunikacija.
AndroidDriverApp
Je vgrajen gonilnik za Android in tudi aplikacija Web View za testiranje mobilnega spleta.
Še en testni okvir, imenovan APPI deluje podobno kot Selendroid.
Tu je majhna primerjava med obema.
Značilnost | Selendroid | apij |
---|---|---|
Podpora za spodnjo različico za android (<4.1) | Da | Ne |
Vroč vtič | Da | Ne |
Testiranje uporabniškega agenta | Ne | Da |
Podpora za aplikacijo na osnovi iOS | Ne | Da |
Okoljske zahteve | Za Android - Mac, Linux, Windows (katera koli različica) | Za iOS - Mac OSX 107. Za Android - Windows 7+, Linux, Mac OSX 107. |
Predpogoji:
Če želite začeti s predvideno publiko, bi se morali dobro zavedati uporabe selena, kakršnih koli orodij IDE, kot je Eclipse itd. Osnovni koncepti programiranja pravijo Java, C itd ... in se morajo zavedati uporabe Maven in drugih orodij TESTING.
- Za ogled simulatorja namestite Intel x86 Emulator Accelerator (ni obvezno) tukaj
- Java SDK, JRE je že nameščen v testnem okolju. Lahko ga prenesete tudi iz tukaj
Med nameščanjem si zapišite pot SDK.
Nastavite spremenljivke okolja, ki so prisotne v Mojem računalniku -> kliknite z desno miškino tipko -> Lastnosti -> Napredne nastavitve sistema
- Eclipse je že nameščen na vaši napravi. Če ne, lahko isto prenesete tudi iz tukaj
- Datoteke kozarcev selena je treba prenesti. Lahko prenesete isto od tu tudi
- Kozarci TestNG so že preneseni
- Android SDK za prenos in namestitev. Lahko ga tudi prenesete iz tukaj
Med nameščanjem si zapišite pot Android SDK
Po prenosu je treba ANDROID_HOME nastaviti v okoljske spremenljivke, ki so prisotne nad:
Moj računalnik -> z desno miškino tipko kliknite -> Lastnosti -> Napredne nastavitve sistema
- Prenesite datoteke Selendroid jar. Lahko ga tudi prenesete iz tukaj
Ne pozabite za prenos samostojne datoteke jarka Selendroid z zgornjega mesta. Običajno je ime kot selendroid-standalone-0.9.0-with-dependencies.jar. Prenesite tudi eno vzorčno datoteko APK, recimo selendroid-test-app-0.8.0.apk z zgornje lokacije
Opomba:
- Lahko tudi uporabimo repozitorij maven da se sklicuje na vse kozarce, sicer pa jih morate prenesti ročno in jih pritrditi na pot gradnje (Over Eclipse Project)
- Naprave / emulatorji - V androidu bo imela vsa nameščena aplikacija končnico .apk. Na druge načine lahko prenesete aplikacije, kot je APK Info, ki vas bodo obvestile o seznamu aplikacij, nameščenih v vaši napravi Android, in dejanskem imenu, velikosti itd.
Nastavitev okolja
# 1) APK, ki ga je treba namestiti, shranite na ustreznem mestu
V mojem primeru sem ga obdržal G: \ Kozarci \ selendroid-test-app-0.8.0.apk
# 2) Nato imejte aplikacijo nad mapo projekta
V mojem primeru je 500: AppiumAutomation SelendroidFirst
# 3) Realno napravo priključite na računalnik
Prepričajte se, da je omogočen način za odpravljanje napak USB, in tudi, če dovolite namestitev zunanjih aplikacij prek povezave USB.
Nasveti:
- Prosimo, glejte nastavitev za odpravljanje napak USB, ki je potrebna za mobilni telefon, recimo Redmi Note 3 od tukaj
- Dovoli zunanjo aplikacijo, nameščeno prek USB-ja, recimo Redmi note 3 iz tukaj
# 4) Odprite ukazni poziv v sistemu Windows
Pomaknite se do mape, v kateri sta samostojna posoda Selendroid in prenesena datoteka apk.
Zdaj podajte podoben ukaz in v ukazni poziv pritisnite enter
brezplačno izvlecite e-poštne naslove s spletnega mesta
Npr. java --jar selendroid-standalone-0.15.0-with-dependencies.jar -aut selendroid-test-app-0.8.0.apk
Ali java –jar selendroid-standalone-0.15.0-with-dependencies.jar
Datoteka APK: selendroid-test-app-0.8.0.apk
Opomba: Ko se zgornji ukaz izvede, se prepričajte, da je APK podpisan in da je tudi resnična naprava priključena na osebni računalnik ter omogočeno odpravljanje napak v napravi.
(Opomba: Kliknite sliko za povečan pogled)
Preverite naslednje točke v ukaznem pozivu in se prepričajte, da je okolje pripravljeno za avtomatizacijo:
- Preverite za sporočilo »Naprava določena z veljavno številko«
- Preverite za sporočilo »strežnik se zažene v privzetih vratih recimo (4444)…«
- Preverite za sporočilo »Seja se ustvarja…«
Spet lahko vedno znova potrdimo, ali je strežnik zagnan ali ne, z uporabo naslednjega URL-ja prek katerega koli vašega spletnega brskalnika.
npr. http: // localhost: 4444 / wd / hub / status
# 5) Pregled APK-jev
- Real Apps lahko uporabljamo tako, da povežemo prave mobilne naprave
- Uporabimo lahko vse prenesene datoteke APK brez povezave
Selendroid Inspector je koristen pri odpravljanju napak / pregledu spletnih elementov APK.
Ko je naprava prepoznana in zagnana, si lahko ogledamo APK (v navideznem načinu) in poiščemo reference, kar je koristno za pisanje skriptov, z uporabo naslednjega URL-ja v katerem koli spletnem brskalniku.
Npr .: http: // localhost: 4444 / inšpektor
Tu imamo posnetek zaslona aplikacije, ki se preizkuša, in možnost, da element tudi pregledamo.
Ali pa lahko vedno uporabite uiautomatorviewer najti predmete iz preizkušene aplikacije.
Privzeta pot za to je navedena spodaj:
C: Uporabniki skrbnik android-sdks tools
C: Uporabniki skrbnik - Na tem mestu sem namestil SDK za Android, vendar se lahko razlikuje glede na lokacijo, določeno med namestitvijo.
Pisanje prvega skripta z uporabo datotek APK prek resničnih naprav
Cilj:
vprašanja in odgovori v zvezi z računalniško arhitekturo pdf
- Zaženite strežnik (na privzetih vratih je recimo 4444)
- Ustvari sejo
- Namestite aplikacijo (.apk datoteka) prek povezane resnične naprave
- Avtomatizirajte besedilno polje z nekaj podatki
- Samodejno kliknite na gumb
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); }
Zaključek
Selendroid je zelo zmogljivo orodje za preizkus avtomatizacije, ki se lahko uporablja za preizkušanje izvornih, hibridnih in spletnih aplikacij na kateri koli napravi Android in simulatorju.
Podpira Hotplugging, kar pomeni, da lahko uporabnik hkrati preskusi več naprav, zato je možno vzporedno izvajanje preizkusov v več napravah. Podpira različne vrste interakcij, kot so dolgi pritiski, akcije na dotik itd.
Edina zapletenost je okoljska postavitev, ki je prisotna tudi v drugih okvirih. Ko je pravilno nastavljena, lahko brez težav izvajamo skripte.
V2. delte vadnice Selendoid bomo obravnavali - Kako uporabljati ogrodje Selendroid za avtomatizacijo uporabniških interakcij prek mobilne aplikacije.
V naslednjem članku bomo razpravljali več o tem pCloudy Vadnica za praktični pregled.
Priporočeno branje
- Vadnice za globinsko zasenčenje za začetnike
- SeeTest Vadnica za avtomatizacijo: Priročnik za orodje za avtomatizacijo mobilnih testov
- Vadnica za Java Collections Framework (JCF)
- Vadnica za odsev Java s primeri
- Ranorexova vadnica: zmogljivo orodje za testiranje namizja, spleta in mobilnih naprav
- Appium Vadnica za testiranje mobilnih aplikacij za Android in iOS
- Uporaba Selendroida za avtomatizacijo interakcij uporabnikov prek mobilne aplikacije (2. del)
- Napredna uporaba SeeTest avtomatizacije v realnem času Mobile Automation Project