Selendroid Õpetus näitega algajatele
Kas olete kunagi välja töötanud Android rakendust ja avaldada see Google Plays? Mida teete, kui saate kasutajalt arvustuse nagu -
Kui avaldate rakenduse Google Plays, peab see potentsiaalsete vigade vältimiseks olema hästi testitud. Enne rakenduse avaldamist tuleks läbi viia palju teststsenaariume. Et salvestada Testimine jõupingutusi, vajate testimisvahendit. Üks parimaid testimisvahendeid Android rakendus on Selendroid.
Mis on Selendroid?
Selendroid on testimise automatiseerimise raamistik mitut tüüpi mobiilirakenduste jaoks: emakeelena ja hübriid Android rakendus ja liikuv veebis.
Teste saate kirjutada kasutades Selenium 2 kliendi API-d. Sest Selendroid ikka taaskasutab olemasolevat Selenium infrastruktuur veebi jaoks
Selendroid on võimas testimisvahend. Seda saab kasutada emulaatorid ja päris seadmed
Miks me vajame Selendroid?
Selendroid on suurepärane testimisvahend. Kuid võite siiski kahelda selle kasulikkuses.
Selles jaotises tutvustatakse selle olulisi funktsioone Selendroid et vastata küsimusele, miks seda vaja on Selendroid.
- Testitavat rakendust saate testida kasutades Selendroid ilma rakendust muutmata. Teil on vaja lihtsalt binaarfaili (APK) arvutisse installitud. Binaarfaili seadmesse installimiseks peavad testrakendus ja mobiilirakendus olema allkirjastatud sama märgivõtmega
- Selendroid testrakendus saab samaaegselt suhelda mitme seadme või simulaatoriga. See on suur eelis Selendroid. Nii saate oma rakendust testida erinevate rakendustega Android seadmeid ühilduvuse kontrollimiseks.
- Selendroid saab simuleerida inimese-kasutaja toiminguid rakenduses, nagu puudutamine, pühkimine, seadmetes pukseerimine
- Saate testimise ajal riistvaraseadmeid (Plug and Unplug) vahetada ilma testi uuesti käivitamata või peatamata. Selendroid tuvastab uued seadmed automaatselt
- Vastab Android API versioon üles, Selendroid toetab ka uut Android API (Alates API 10 kuni API 19)
- Selendroid Sellel on ka mõni sisseehitatud inspektori tööriist, mis aitab tuvastada testitava rakenduse kasutajaliidese elementi. Näiteks ID-nupp, tekstiväli, tekstivaade…
Selendroid Architektuur
Selendroid põhineb Android instrumentide raamistik. Selendroid testid on kirjutatud alusel Selenium Veebidraiveri kliendi API, nii et see toetab täielikku integreerimist praegusega Selenium raamistikud.
Järgmine joonis kirjeldab selle arhitektuuri Selendroid
Selendroid sisaldab 4 peamist komponenti:
- Veebidraiveri klient – The Java klienditeegi põhjal Selenium. See raamatukogu peaks olema arvutisse installitud (mida kasutatakse testjuhtumite väljatöötamiseks)
- Selendroid-Server – server, mis töötab testitavas rakenduses Android seade või simulaator. See on a Selendroid arhitektuur
- Android Draiveri rakendus – sisseehitatud Android draiver, veebivaate rakendus mobiilse veebi testimiseks.
- Selendroid- Eraldi – seda komponenti kasutatakse installimiseks Selendroid server ja testitav rakendus (AUT)
Alustamine koos Selendroid
Te olete juba teadnud, kui oluline on Selendroid. Nüüd määrime käed ära Selendroid.
Enne esimest testi tuleks teha 3 sammu Selendroid
A Selendroid keskkond
Selendroid saab töötada aknaga, Linux ja Mac OS. Selles õpetuses me seadistame Selendroid Windows OS-is.
Enne kasutamist Selendroid, peate esmalt installima järgmise paketi
- Java SDK (vähemalt 1.6)
Peate nõustuma litsentsilepinguga ja alla laadima java installeri (valige oma OS-is x64 või x86 baas)
Laadige alla ja installige Java SDK nagu tavaline tarkvara
- Uusim versioon Android SDK
- Teie arvutis peab olema vähemalt üks Android Virtual Device (AVD) või päris Android seade arvutiga ühendatud.
- Selendroid Sõltuvustega iseseisev, Selendroid klientja Selenium klient
- Eclipse tarkvara
- Seadistage JAVA_HOME ja ANDROID_HOME
Step 1) Paremklõpsake aknas Arvuti -> Kinnisvara -> Süsteemi täpsemad sätted
Step 2) Süsteemi atribuutide akna kuvamine, valige vahekaart Täpsemalt -> Keskkonna muutujad
Step 3) Kuvage keskkonnaaken, klõpsake nuppu Uus -> Sisestage muutuja ANDROID_HOME järgmiselt
Muutuja väärtus on tee android-sdks-i, mille olete juba installinud.
Leidke süsteemimuutuja Path -> Edit -> Lisage praeguse rea järele järgmine rida
Sarnaselt ANDROID_HOME-ga lisage uus muutuja JAVA_HOME, mille väärtus on allpool
Väärtus on tee sinu juurde Java JDK installimine
Samm 4) Taaskäivitage arvuti -> Tehtud
Kuidas käivitada Selendroid
Samm 1) Taotluse testimine
Saate kasutada olemasolevaid Selendroid testige rakendust, et kontrollida, kuidas Selendroid töötab (on siin testitava rakenduse näidiseks)
Kui allalaadimine on lõppenud, kopeerige see APK ja ülaltoodud Selendroid Iseseisev purk fail kausta nimega "Guru99"
Samm 2) Käivitage Selendroid
Avage terminal sisse Windows & navigeerige sammus 99 loodud kausta Guru1.
Käivitage järgmine käsk
Väljund kuvatakse järgmiselt
Pärast selle käsu käivitamist Selendroid- eraldiseisev HTTP-server käivitub! Selle serveri vaikimisi pordi number on 4444. Kõik riistvaraseadmed, samuti Android Virtuaalne seade skannitakse ja tuvastatakse automaatselt. Selendroid tuvastab Android sihtversiooni ja seadme ekraani suurus.
Kontrollimiseks Android sihtversiooni ja seadme teabe jaoks saate brauseris käivitada järgmise URL-i: http://localhost:4444/wd/hub/status
.
Selendroid põhikäsk
See jaotis tutvustab teile mõnda põhilist Selendroid- Eraldi käsurida. Saate neid kasutada seadistamiseks Selendroid testimiskeskkond
- Port of Selendroid
Vaikimisi port Selendroid on 4444. Kuid saate minna teisele pordile, lisades käivitamiskäsule parameetri Selendroid
Parameeter: -port [pordi number]
Näiteks:
Ülaltoodud käsus on 5555 uus port.
Nii et URL, mida kontrollida Android sihtversiooniks on muudetud: http://localhost:5555/wd/hub/status
- Määrake testitava rakenduse asukoht (binaarne APK-fail). Selendroid sageli nõuti selle faili absoluutset teed
Parameeter: -app [faili tee]
Näiteks:
Ülaltoodud käsus on Selendroid otsib testitava rakenduse teabe hankimiseks automaatselt binaarfailide baasi failist „C:\Guru99App.apk”.
Kontrollige URL-i
http://localhost:4444/wd/hub/status
, näete seda teavet - Muutke porti Selendroid kasutab instrumentatsiooniserveriga suhtlemiseks. Selendroid kasutab vaikimisi porti 8080
Parameeter: -selenroidServerPort [pordi number]
Näide
Port on nüüd muudetud 9000-ks
- Muutke emulaatorite käivitamise ajalõpu. Ühik on millisekundid.
Parameeter: -timeoutEmulatorStart
Vaikimisi Selendroid ootab 300,000 200,000 millisekundit, kuni emulaator käivitub. Saate käsuga lülituda uuele ajalõpule (XNUMX XNUMX ms).
Selle aja möödudes aegunud, kui emulaator ei saa käivituda, Selendroid kuvab erandi vea (seadmete/emulaatorite otsimisel ilmnes viga.) ja seejärel peatab töötamise
- Kui alustate Selendroid terminalis, näete ekraanil väljaprinditud logi. Saate muuta kuvatava logi tüüpi, lisades järgmise parameetri
Parameeter: -logLevel [logi tüüp]
Logitaseme väärtused on ERROR, WARNING, INFO, DEBUG ja VERBOSE. Vaikimisi: ERROR.
Näiteks seadke Selendroid ainult HOIATUSlogi printimiseks võite kasutada seda käsku
. Selendroid printige ainult HOIATUS logi
Alustage oma esimest testi Selendroid
See jaotis on samm-sammult juhis esimese testskripti loomisel Selendroid
Oletame, et meil on Android rakendus testnime Guru99App all. Rakendus sisaldab tekstivälja ja nupu nime "Näita teksti".
Peame ellu viima järgmise Testjuhtum kasutamine Selendroid
Testjuhtumid | Tingimus | Eeldatav väljund |
---|---|---|
|
Testitava rakenduse binaarfail on saadaval
Seade on arvutiga ühendatud |
Tekst “Tekstishow siin” muudetakse tekstiks
mille kasutaja tekstiväljale sisestab |
Step 1) Loo Java projekt sisse Eclipse
Step 2) Lisa seleen ja Selendroid jar-fail eclipse'i keskkondades
Paremklõpsake Guru99Test Project -> Ehitage rada -> Lisa väline Archives
Liikuge kausta, kuhu jar-failid salvestati
Lisada tuleks 3 jar-faili
- selenroid-klient-0.10.0.jar: Selendroid java kliendi raamatukogu
- Selenroid-eraldi-0.11.0-sõltuvustega: Selendroid eraldiseisva serveri raamatukogu
- seleen-java-2.40.0.jar : Selenium Veebidraiveri raamatukogu
Vali kõik -> Jar-faili projekti lisamiseks valige Ava
Step 3) pärast ülaltoodud teegi lisamist lisatakse need teegid testprojekti viiteteekidesse. Testija saab testiprogrammi arendamiseks kasutada nende teekide API-sid
Looge pakett "com.guru.test" ja lisage java fail "Guru99Test.java" nagu allpool
Paremklõpsake Guru99Test -> Uus -> Pakend
Tippige valiku Uus väljale Nimi tekst com.guru.test Java Paketi dialoog à Lõpeta
. Eclipse loob lähtekoodi struktuuris sellised loendikaustad ja alamkaustad
Step 4) paigaldama TestNG eest Eclipse
In Eclipse, Abi -> Installi uus tarkvara, klõpsake installidialoogis nuppu Lisa ja sisestage järgmine
- Nimi: TestNG
- Asukoht: https://github.com/selendroid/selendroid
Vajutage OK -> Järgmisena installige TestNG
Step 5) Kopeerige Guru99App.apk testirakenduse kausta
Step 6) Hankige testitava rakenduse ID.
Oletame, et meil on APK-faili nimi Guru99App.apk. Järgige eelmises jaotises kirjeldatud sammu, täitke terminalis käsk
Avage brauseris järgmine link: http://localhost:4444/wd/hub/status
.
Kuvatakse seadme teave, kopeerige appId väärtus “com.guru99app:1.0”
Step 7) Avage fail Guru99Test.java (näidiskoodis) ja muutke seda järgmiselt
Uue testiseansi loomiseks rakendusega Selendroid, peate esitama rakenduse ID vormingus: com.guru99app:1.0. See rakenduse ID saab tuvastada sammus 6. Kui te ei määra rakenduse ID-d, mis vastavad Android seadmes, testiseanss ilmub tõrketeate ja ei käivitu.
Pärast leitud seadme lähtestamist Selendroid loob kohandatud selenroid-serveri ja installib selle Selendroid server sellel
Selendroid installib ka testitava rakenduse ja käivitab seadmes selenroid-serveri
Pärast testiseansi edukat initsialiseerimist alustatakse testikäskluse täitmist seadmes. (Näiteks teksti sisestamiseks vajutage nuppu...). Kui test lisab testiseansi, peatub emulaator automaatselt
Step 8) Alustage uut testiseanssi
Käivitage Selendroid server, kasutades terminalis järgmist käsku, nagu samm 6
Pärast Selendroid Server käivitub, avage näidistestprojekt Guru99test Eclipse, määrake katkestuspunkt failis Guru77Test.java reale 99 topeltklõpsuga reale 77 -> Kuvatakse punkt nagu allpool
Guru99Testi projekti käivitamiseks paremklõpsake testseanssi -> Silumine kui -> Testng Test.
Testiseanss algab nagu allpool
Step 9) Hankige testitava rakenduse GUI elemendi ID
Pärast testiseansi edukat käivitamist avage brauser ja navigeerige URL-ile http://localhost:4444/inspector
Näete, et testitav rakendus käivitatakse nagu allpool
Hõljutage hiirt iga AUT kasutajaliidese elemendi (nupp, tekstiväli, tekstisilt) peale, iga elemendi ID tõstetakse paremal paanil esile
Pärast seda sammu saate iga ülaltoodud kasutajaliidese elemendi ID-d
- Nupp Kuva teksti ID: “btnShow"
- Tekstivälja ID: "edtText"
- Sildi teksti ID: “txtView"
Neid ID-sid kasutatakse järgmises etapis
Step 10) Sisestage testprogramm nagu allpool
Testprogramm, mis kasutab Selendroid sisaldab 3 sektsiooni
Seadistustest:
Järgmine on häälestustesti kood, mis seab testiseansi tingimuse. Vea korral Selendroid teeb erandi ja testrakendus peatub.
Kood sisaldab iga avalduse selgitamiseks kommentaare.
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); }
Käivitage test
Allpool on kood testi läbiviimiseks. Kood sisaldab kommentaare
Siin on jälle testi sammud
- Sisesta tekst "Tere Guru"
- Klõpsake nuppu Kuva teksti nupp
- Oota veidi
- Veenduge, et rakendus kuvab teksti kasutaja tekstiväljale sisestamisel (nt kuvage tekst „Tere 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()); }
Lõpeta test
Järgmine kood lõpetab testi, peatades Selendroid juht.
/** * Stop the Selendroid driver * */ @AfterSuite public void tearDown() { driver.quit(); }
Üksikasju näete selles artiklis sisalduvas näidiskoodis.
Step 10) Võta meiega ühendust Android seade arvutisse USB-kaabli kaudu. Punktid, mida jälgida –
- Veenduge, et seadmel poleks ekraanilukku konfigureeritud.
- Seadmed peavad olema USB kaudu ühendatud arvutiga, milles töötab seleroidi eraldiseisev komponent.
- Seade peaks installima vähemalt Android Target API versioon 10
Step 11) Käivitage testirakendus: paremklõpsake Guru99test -> Jookse nagu -> TestNG test
Step 10) Skript käivitatakse järgmiselt
Step 12) Kui test on täitmise lõpetanud, TestNG auto genereerib testiaruande järgmiselt
Hea töö, olete nüüd testi läbinud.
kokkuvõte
- Selendroid on testimiseks väga võimas tööriist Android omarakendus, hübriidrakendus ja ka veebirakendus.
- Seda saab kasutada nii päris seadmetes kui ka simulaatoris.
- Samuti võimaldab see testida paralleelselt, käivitades testi mitmes seadmes.
- Kogu Selendroid komplekt koosneb neljast komponendist:
- Veebidraiveri klient,
- Selendroid-server,
- Android Draiveri rakendus
- Selendroid- seisa üksi
- Kasutada Selendroid teil on vaja Java JDK, Android SDK ja Eclipse paigaldatud.