Selendroidi õpetus algajatele koos näitega

Lang L: none (table-of-contents):

Anonim

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

  1. 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

  1. 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

  2. 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

  3. 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

  4. 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:

  1. Käivitage rakendus
  2. Sisestage tekstiväljale tekst " Guru99 Test "
  3. Vajutage nuppu "Kuva tekst"

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 automaatselt

8. 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

  1. Sisestage tekst "Tere Guru"
  2. Klõpsake nuppu Kuva tekstinupp
  3. Oota veidi
  4. 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.