Kas olete kunagi Androidi rakenduse välja töötanud ja selle Google Plays avaldanud? Mida teete, kui saate kasutajale ülevaate nagu -
Kui avaldate rakenduse Google Plays, peab see võimalike vigade vältimiseks olema hästi testitud. Enne rakenduse avaldamist tuleks läbi viia hulk teststsenaariume. Testimisvajaduse salvestamiseks vajate testimistööriista. Android-rakenduse üks parimaid testimisvahendeid on Selendroid.
- Mis on Selendroid?
- Miks me vajame Selendroidi?
- Selendroidi arhitektuur
- Selendroidiga alustamine
- Selendroidi keskkonna seadistamine
- Kuidas Selendroid käivitada
- Selendroidi põhikäsk
- Alustage oma esimest testi Selendroidiga
Mis on Selendroid?
Selendroid on testimisautomaatika raamistik mitut tüüpi mobiilirakendustele: natiivne ja hübriidne Androidi rakendus ning mobiilne veeb.
Testid saate kirjutada Selenium 2 kliendi API-de abil. Sest Selendroid kasutab endiselt veebi jaoks olemasolevat Seleniumi infrastruktuuri uuesti
Selendroid on võimas testimisvahend. Seda saab kasutada emulaatorites ja reaalsetes seadmetes
Miks me vajame Selendroidi?
Selendroid on suurepärane testimisvahend. Kuid võite siiski kahelda selle kasulikkuses.
Selles jaotises tutvustatakse Selendroidi olulisi funktsioone, et vastata küsimusele, miks Te Selendroidit vajate.
- Selendroidi abil saate testitavat rakendust testida ilma rakendust muutmata. Peate lihtsalt arvutisse installima binaarfaili (APK). Binaarfaili seadmesse installimiseks peavad testrakendus ja mobiilirakendus olema allkirjastatud sama märgivõtmega
- Selendroidi testrakendus võib samaaegselt suhelda mitme seadme või simulaatoriga. See on Selendroidi suur eelis. Nii saate ühilduvuse kontrollimiseks oma rakendust erinevate Android-seadmetega testida.
- Selendroid suudab simuleerida rakenduses inimese ja kasutaja toiminguid, näiteks seadmetel puudutamist, pühkimist, lohistamist ja kukutamist
- Tarkvara ajal saate riistvaraseadmeid muuta (ühendage ja ühendage) ilma testi taaskäivitamata või peatamata. Selendroid tunneb uued seadmed automaatselt ära
- Vastavalt Androidi API versioonile toetab Selendroid ka uut Androidi API-d (alates API 10 kuni API 19)
- Selendroidil on ka sisseehitatud inspektoritööriist, mis aitab teil testitava rakenduse kasutajaliidese elementi tuvastada. Näiteks ID-nupp, tekstiväli, tekstivaade ...
Selendroidi arhitektuur
Selendroid põhineb Androidi seadmete raamistikul. Selendroidi testid on kirjutatud Seleniumi veebidraiveri kliendi API baasil, nii et see toetab täielikku integreerimist praeguste Seleniumi raamistikega.
Järgmine joonis kirjeldab Selendroidi arhitektuuri
Selendroid sisaldab 4 põhikomponenti:
- Veebidraiveri klient - Java klienditeek, mis põhineb seleenil. See teek peaks olema arvutisse installitud (mida kasutatakse testjuhtumite väljatöötamiseks)
- Selendroid-Server - töötav server peab olema Android-seadmes või simulaatoris testitavas rakenduses. See on Selendroidi arhitektuuri põhikomponendid
- Android Driver-App - sisseehitatud Android-draiver, rakendus Web View, et testida mobiilset veebi.
- Selendroid-Standalone - seda komponenti kasutatakse Selendroidi serveri ja testitava rakenduse (AUT) installimiseks
Selendroidiga alustamine
Olete juba teadnud Selendroidi olulisust. Nüüd laseme oma käed Selendroidiga määrduda.
Enne esimest katset Selendroidiga tuleks teha 3 sammu
Selendroidi keskkonna seadistamine
Selendroid saab töötada Windowsi, Linuxi ja Mac OS-i puhul. Selles õpetuses seadistame Selendroidi Window OS-is.
Enne Selendroidi kasutamist peate kõigepealt installima järgmise paketi
- Java SDK (vähemalt 1,6)
Peate nõustuma litsentsilepinguga ja laadima alla Java installeri (valige oma operatsioonisüsteemis x64 või x86 baas)
Laadige alla ja installige Java SDK tavalise tarkvarana
- Androidi SDK uusim versioon
- Teie arvutis peab olema vähemalt üks Androidi virtuaalne seade (AVD) või arvutisse ühendatud päris Android-seade.
- Selendroid iseseisev sõltuvustega, Selendroid klient ja seleen klient
- Eclipse tarkvara
- Seadistage JAVA_HOME ja ANDROID_HOME
Samm 1) Paremklõpsake aknas nuppu Arvuti -> Atribuudid -> Täpsem süsteemi seade
Samm 2) Süsteemi atribuutide akna kuva, valige sakk Täpsem -> Keskkonna muutujad
3. samm . Klõpsake akna Keskkond nuppu Uus -> Sisestage muutuja ANDROID_HOME järgmiselt
Muutuja väärtus on tee juba installitud android-sdks-i.
Leidke süsteemimuutuja Path -> Edit -> lisage järgmine rida praeguse rea järele
Sarnaselt ANDROID_HOME'iga lisage uus muutuja JAVA_HOME väärtusega nagu allpool
Väärtus on teie Java JDK installi tee
Samm 4) Taaskäivitage arvuti -> Valmis
Kuidas Selendroid käivitada
1. samm. Rakenduse testimine
Selendroidi toimimise kontrollimiseks saate kasutada olemasolevat Selendroidi testirakendust (link testitava proovirakendusega)
Kui allalaadimine on lõpule jõudnud, kopeerige see APK ja ülaltoodud Selendroid Standalone'i purgifail kausta nimega " Guru99"
2. samm. Käivitage Selendroid
Avage Windowsis terminal ja navigeerige 1. toimingus loodud kausta Guru99.
Käivitage järgmine käsk
Väljund kuvatakse järgmiselt
Pärast selle käsu käivitamist algab Selendroidi eraldiseisev HTTP-server! Selle serveri pordi vaikenumber on 4444. Kõik riistvaraseadmed ja ka Androidi virtuaalseade skannitakse ja tuvastatakse automaatselt. Selendroid tuvastab Androidi sihtversiooni ja seadme ekraani suuruse.
Androidi sihtversiooni ja seadme teabe kontrollimiseks võite brauseris käivitada järgmise URL-i:
http: // localhost: 4444 / wd / hub / status.
Selendroidi põhikäsk
Selles jaotises tutvustatakse mõnda põhilist Selendroid-Standalone käsurida. Võite neid kasutada Selendroidi testimiskeskkonna seadistamiseks
- Selendroidi pordi seadistamine
Selendroidi vaikeport on 4444. Kuid saate teiseks porti minna, lisades Selendroidi käsklusele parameetri
Parameeter: -port [pordi number]
Näiteks:
Ülalolevas käsus on uus port 5555.
Seega muudetakse Androidi sihtversiooni kontrollimise URL-i aadressiks: http: // localhost: 5555 / wd / hub / status
- Määrake testitava rakenduse asukoht (binaarne APK-fail). Selendroid nõudis selle faili jaoks sageli absoluutset teed
Parameeter: -app [faili tee]
Näiteks:
Ülalolevas käsus leiab Selendroid testitava rakenduse teabe saamiseks binaarfailibaasi kaustast "C: \ Guru99App.apk".
Kontrollige URL-i http: // localhost: 4444 / wd / hub / status, näete seda teavet
- Muutke porti, mida Selendroid kasutab seadmete serveriga suhtlemiseks. Selendroid kasutab vaikimisi porti 8080
Parameeter: -selendroidServerPort [pordi number]
Näide
Sadam on nüüd 9000-le muudetud
- Emulaatorite käivitamiseks muutke ajalõppu. Ühik on millisekundit.
Parameeter: -timeoutEmulatorStart
Vaikimisi ootab Selendroid emulaatori käivitamiseni 300 000 millisekundit. Käsu abil saate uuele ajalõppele (200 000 ms) minna
Selle aja möödudes, kui emulaator ei saa käivituda, viskab Selendroid erandi tõrke (seadmete / emulaatorite otsimisel ilmnes tõrge) ja lõpetab töötamise
- Kui käivitate Selendroidi käsu terminalis, näete ekraanile välja prinditud logi. Nähtava logi tüüpi saate muuta järgmise parameetri lisamisega
Parameeter: -logLevel [logi tüüp]
Logitaseme väärtused on ERROR, WARNING, INFO, DEBUG ja VERBOSE. Vaikimisi: VIGA.
Näiteks määrake Selendroid printima ainult HOIATUSLogi, saate seda käsku kasutada
Selendroid printib ainult HOIATUSLogi
Alustage oma esimest testi Selendroidiga
See jaotis on samm-sammuline juhend esimese testiskripti loomiseks Selendroidi abil
Oletame, et meil on Androidi rakendus testnimega Guru99App. Rakendus sisaldab tekstivälja ja nupu nime "Kuva tekst".
APK laadige alla siit
Peame järgima Test Case'i, kasutades Selendroidi
Katsejuhtumid |
Seisund |
Eeldatav väljund: |
|
Testitava rakenduse binaarkaart on saadaval Seade on arvutiga ühendatud |
Tekst "Teksti kuvamine siin" muudetakse tekstiks milline kasutaja sisestab tekstivälja |
Samm 1) Looge Eclipses Java-projekt
Samm 2) Lisage seleeni ja Selendroidi purgifail varjutuskeskkondades
Paremklõpsake Guru99Test Project -> Ehituse tee -> Lisa välised arhiivid
Liikuge kausta, kuhu jar-failid salvestati
Seal peaks olema 3 purgifaili
- selendroid-klient-0.10.0.jar: Selendroidi java kliendikogu
- selendroid-standalone-0.11.0-with-dependencies: Selendroidi iseseisva serveri teek
- seleen-java-2.40.0.jar: seleeni veebidraiveri teek
Vali kõik -> purgifaili lisamiseks projekti valige Ava
Samm 3) pärast ülaltoodud teegi lisamist lisatakse need teegid testprojekti viitraamatukogudesse. Testija saab testprogrammi väljatöötamiseks kasutada nende teekide API-sid
Looge pakett "com.guru.test" ja lisage java fail "Guru99Test.java" nagu allpool
Paremklõpsake valikul Guru99Test -> New -> Package
Tippige dialoogi Uus Java pakett väljale Nimi välja com.guru.test à Lõpeta
Eclipse loob lähtekoodi struktuuris sellised loendikaustad ja alamkaustad
Samm 4) Installige TestNG Eclipse'i jaoks
Klõpsake jaotises Eclipse jaotises Abi -> Uue tarkvara installimise dialoogiboksis Install nuppu Lisa ja sisestage järgmine
- Nimi: TestNG
- Asukoht: http://selendroid.io/
TestNG installimiseks vajutage OK -> Next
Samm 5) Kopeerige Guru99App.apk Test App kausta
6. samm. Hankige testitava rakenduse ID.
Oletame, et meil on APK-faili nimi Guru99App.apk. Järgige eelmises osas kirjeldatud sammu, käivitage 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"
Samm 7) Avage fail Guru99Test.java (näidiskoodis) ja muutke järgmiselt
Selendroidiga uue testiseansi loomiseks peate esitama rakenduse ID vormingus: com.guru99app: 1.0. Selle rakenduse ID saab tuvastada 6. etapis. Kui te ei määra Android-seadmele vastavat rakenduse ID-d, viskab testiseanss vea ja seda ei alustata.
Pärast leitud seadme lähtestamist loob Selendroid kohandatud selendroid-serveri ja installib selle Selendroidi serveri
Selendroid installib ka testitava rakenduse ja käivitab seadmes selendroid-serveri
Pärast testiseansi edukat lähtestamist alustatakse testkäsklust seadmes. (Näiteks teksti sisestamiseks vajutage nuppu
…). Kui test lisab testiseansi, peatub emulaator automaatselt8. samm. Alustage uut testiseanssi
Käivitage Selendroidi server, kasutades terminalis järgmist käsku, nagu 6. samm
Pärast Selendroidi serveri käivitamist avage Eclipse'i prooviprojekt Guru99test, määrake faili Guru99Test.java real 77 murdepunkt topeltklõpsuga reale 77 -> kuvatakse punkt nagu allpool
Testi seansi alustamiseks paremklõpsake projekti Guru99Test -> Silumine nimega -> Testng Test.
Testiseanss algab nagu allpool
9. samm. Hankige testitava rakenduse GUI elemendi ID
Kui testiseanss on edukalt alanud, avage brauser, navigeerige URL-ile http: // localhost: 4444 / inspector
Näete, et testitav rakendus käivitatakse nagu allpool
Kasutage hiirekursorit AUT iga kasutajaliidese elemendi (nupp, tekstivälja, tekstisilt) kohal, iga elemendi ID tõstetakse paremal paanil esile
Pärast seda sammu saate iga ülaltoodud kasutajaliidese elemendi ID
- Nupu Kuva teksti ID: " btnShow "
- Tekstivälja ID: " edtText "
- Sildi teksti ID: " txtView "
Neid ID-sid kasutatakse järgmises etapis
10. samm. Sisestage testprogramm nagu allpool
Selendroidi kasutav testiprogramm sisaldab 3 jaotist
Seadistustest:
Järgmine on seadistustesti kood, see seab testi seansi tingimuse. Vea korral viskab Selendroid erandi ja testrakendus peatub.
Kood sisaldab kommentaare iga väite selgitamiseks.
pakett com.guru.test;import io.selendroid.SelendroidCapilities;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, kasutades Selendroidi* Testitav rakendus: Guru99App** /avalikklass Guru99Test {// Veebidraiveri muutuja deklareerimineprivaatne WebDriveri draiver;/ *** Enne katsetamist seadistage keskkond* @throws Erand* /@BeforeSuiteavalikvoid setUp () viskab erandi {// Alustage selendroid-standalone testi ajalSelendroidConfiguration config = uus SelendroidConfiguration ();// Lisage selendroid-test-app eraldiseisvasse serverisseconfig.addSupportedApp ("Guru99App.apk");// käivitage eraldiseisev serverSelendroidLauncher selendroidServer = uus SelendroidLauncher (config);selendroidServer.launchSelendroid ();// Looge selendroidi võimalusedSelendroidCapilities capa = uus SelendroidCapilities ();// Määrake, et kasutada selendroidi testrakendustcapa.setAut ("com.guru99app: 1.0");// Määrake Android-seadme API 19 kasutamisekscapa.setPlatformVersion (DeviceTargetPlatform.ANDROID19);// Ärge taotlege simulaatorit, kasutage reaalset seadetcapa.setEmulator (vale);//capa.wait(10000000);// Selendroidi draiveri eksemplari loominedraiver = uus SelendroidDriver (capa);}
Käivita test
Allpool on kood testi sooritamiseks. Kood sisaldab kommentaare
Siin on veel kord testi etapid
- Sisestage tekst "Tere Guru"
- Klõpsake nuppu Kuva tekstinupp
- Oota veidi
- Veenduge, et rakendus kuvaks teksti, kui kasutaja sisestab tekstiväljale (nt. Kuva tekst "Tere Guru")
/ *** Alustage testjuhtumi käivitamist* 01. Sisestage tekstiväljale tekst "Selendroid"* 02. Vajutage nuppu OK* @throws Erand* /@Testavalikvoid selendroidTest () viskab erandi {// Trüki logiSystem.out.print ("Alusta testi käivitamist");// Leidke ekraanilt sisendtekstiväli// Selle tekstivälja ID oli saada sammust 9WebElement inputField = driver.findElement (By.id ("edtText"));// Veenduge, et tekstiväli oleks lubatud, et kasutaja saaks teksti sisestadaAssert.assertEquals ("true", inputField.getAttribute ("lubatud"));// Sisestage tekstiväljale tekstinputField.sendKeys ("Tere Guru");// klõpsake nuppu Kuva tekst// Selle nupu ID oli saada sammust 9Nupp WebElement = driver.findElement (By.id ("btnShow"));nupp.klõps ();// Viivitamise aeg jõustumiseksNiit.unne (5000);// Leidke ekraanilt silt "Teksti kuvamine siin"// Selle sildi ID oli saada etapist 9WebElement txtView = driver.findElement (By.id ("txtView"));// Teksti kuvamine ekraanileString eeldatav = txtView.getText ();// Veenduge, et kasutaja tekstiväljale sisestatav tekst oleks sama mis ekraanil kuvatav tekstAssert.assertEquals (eeldatav, inputField.getText ());}
Lõpeta test
Järgmine kood lõpetab testi, peatades Selendroidi draiveri.
/ *** Peatage Selendroidi draiver** /@AfterSuiteavalikvoid tearDown () {juht.ulge ();}
Üksikasju näete selles artiklis sisalduvas näidiskoodis.
10. samm. Ühendage Android-seade USB-kaabli abil arvutiga. Tähelepanuväärsed punktid -
- Veenduge, et seadmel pole ekraanilukku konfigureeritud.
- Seadmed peavad olema USB kaudu ühendatud arvutisse, kus selendroid-standalone komponent töötab.
- Seade peaks installima vähemalt Android Target Version API 10
Samm 11) Käivitage testirakendus: paremklõpsake Guru99test -> Run as -> TestNG test
10. samm . Skript käivitatakse järgmiselt
Samm 12) Pärast testi lõpetamist loob TestNG automaatselt testiaruande järgmiselt
Hea töö, sa oled nüüd testi teinud.
Kokkuvõte
Kokkuvõte
- Selendroid on väga võimas tööriist nii Androidi omarakenduse, hübriidrakenduse kui ka veebirakenduse testimiseks.
- Seda saab kasutada nii reaalsetes seadmetes kui ka simulaatoris.
- See võimaldab teil teste käivitada ka paralleelselt, käivitades testi mitmel seadmel.
- Kogu Selendroidi komplekt koosneb neljast komponendist:
- Veebidraiveri klient,
- Selendroid-Server,
- Androidi draiveri rakendus
- Selendroid-iseseisev
- Selendroidi kasutamiseks peate installima Java JDK, Android SDK ja Eclipse.