Selendroid apmācība iesācējiem ar piemēru

Satura rādītājs:

Anonim

Vai esat kādreiz izstrādājis Android lietojumprogrammu un publicējis to pakalpojumā Google Play? Ko jūs darīsit, ja saņemsit tādu lietotāja atsauksmi kā -

Publicējot lietotni pakalpojumā Google Play, tā ir labi jāpārbauda, ​​lai izvairītos no iespējamām kļūdām. Pirms lietotnes publicēšanas ir jāizpilda ļoti daudz testa scenāriju. Lai saglabātu testēšanas darbu, jums ir nepieciešams testēšanas rīks. Viens no labākajiem Android lietotnes testēšanas rīkiem ir Selendroid.

  • Kas ir Selendroid?
  • Kāpēc mums vajadzīgs Selendroid?
  • Selendroid arhitektūra
  • Darba sākšana ar Selendroid
  • Selendroid vides iestatīšana
  • Kā palaist Selendroid
  • Selendroid pamata komanda
  • Sāciet savu pirmo testu ar Selendroid

Kas ir Selendroid?

Selendroid ir testa automatizācijas sistēma daudzu veidu mobilajām lietojumprogrammām: vietējai un hibrīdai Android lietotnei un mobilajam tīmeklim.

Testus varat rakstīt, izmantojot Selenium 2 klienta API. Tā kā Selendroid joprojām atkārtoti izmanto esošo Selenium infrastruktūru tīmeklim

Selendroid ir spēcīgs testēšanas rīks. To var izmantot emulatoros un reālās ierīcēs

Kāpēc mums vajadzīgs Selendroid?

Selendroid ir lielisks testēšanas rīks. Bet jūs joprojām varat šaubīties par tā lietderību.

Šajā sadaļā tiks iepazīstinātas ar svarīgākajām Selendroid funkcijām, lai atbildētu uz jautājumu, kāpēc jums ir nepieciešama Selendroid.

  • Testējamo lietojumprogrammu varat pārbaudīt, izmantojot Selendroid, bez lietotnes pārveidošanas. Jums vienkārši nepieciešams datorā instalēts binārais fails (APK). Lai ierīcē instalētu bināro failu, testa lietotnei un mobilajai lietotnei jābūt parakstītai ar to pašu parakstīšanas atslēgu
  • Selendroid testa lietotne var vienlaikus mijiedarboties ar vairākām ierīcēm vai simulatoriem. Tā ir lieliska Selendroid priekšrocība. Tātad, lai pārbaudītu savietojamību, varat pārbaudīt savu lietotni ar dažādām Android ierīcēm.
  • Selendroid var simulēt cilvēka un lietotāja darbības lietotnē, piemēram, pieskārienu, vilkšanu, vilkšanu un nomešanu ierīcēs
  • Pārbaudes laikā varat mainīt aparatūras ierīces (Pievienojiet un atvienojiet), neatsākot testu un neapturot to. Selendroid automātiski atpazīst jaunās ierīces
  • Atbilstoši jaunākajai Android API versijai Selendroid atbalsta arī jauno Android API (no API 10 līdz API 19)
  • Selendroid ir arī iebūvēts inspektora rīks, kas palīdzēs jums noteikt pārbaudāmās lietojumprogrammas lietotāja saskarnes elementu. Piemēram, poga ID, teksta lauks, teksta skats ...

Selendroid arhitektūra

Selendroid pamatā ir Android instrumentu ietvars. Selendroid testi ir rakstīti uz Selenium Web draivera klienta API bāzes, tāpēc tie atbalsta pilnīgu integrāciju ar pašreizējiem Selenium ietvariem.

Šajā attēlā aprakstīta Selendroid arhitektūra

Selendroid satur 4 galvenos komponentus:

  • Web Driver Client - Java klienta bibliotēka, kuras pamatā ir Selenium. Šī bibliotēka ir jāinstalē datorā (ko izmanto testa gadījumu izstrādei)
  • Selendroid-Server - palaistais serveris atrodas pārbaudāmajā lietotnē Android ierīcē vai simulatorā. Šī ir Selendroid arhitektūras galvenās sastāvdaļas
  • Android draiveris-lietotne - iebūvēts Android draiveris, lietotne Web View, lai pārbaudītu mobilo tīmekli.
  • Selendroid-Standalone - Šis komponents tiek izmantots, lai instalētu Selendroid serveri un testējamo lietojumprogrammu (AUT)

Darba sākšana ar Selendroid

Jūs jau zināt Selendroid nozīmi. Tagad sasmērēsim rokas ar Selendroid.

Pirms pirmā testa ar Selendroid jāveic 3 darbības

Selendroid vides iestatīšana

Selendroid var strādāt ar Windows, Linux un Mac OS. Šajā apmācībā mēs iestatīsim Selendroid Windows OS.

Pirms Selendroid izmantošanas vispirms jāinstalē šāda pakotne

  • Java SDK (vismaz 1,6)

    Jums jāpieņem licences līgums un jāielādē Java instalēšanas programma (operētājsistēmā izvēlieties x64 vai x86 bāzi)

    Lejupielādējiet un instalējiet Java SDK kā parastu programmatūru

  • Jaunākā Android SDK versija
  • Jūsu datorā jābūt vismaz vienai Android virtuālajai ierīcei (AVD) vai īstai Android ierīcei, kas pievienota datoram.
  • Selendroid Standalone ar atkarībām, Selendroid Client un Selenium Client
  • Eclipse programmatūra
  • Iestatiet JAVA_HOME un ANDROID_HOME

    1. solis) Logā ar peles labo pogu noklikšķiniet uz Computer -> Properties -> Advanced System Setting

    2. solis. Loga Sistēmas rekvizīti logā atlasiet cilni Papildu -> Vides mainīgie

    3. solis . Vides loga displejā noklikšķiniet uz Jauns -> Ievadiet mainīgo ANDROID_HOME šādi

    Mainīgā vērtība ir ceļš uz jau instalētajiem android-sdks.

    Atrodiet sistēmas mainīgo Ceļš -> Rediģēt -> Pievienojiet šādu rindu aiz pašreizējās rindas

    Līdzīgi kā ANDROID_HOME, pievienojiet jaunu mainīgo JAVA_HOME ar vērtību, kā norādīts zemāk

    Vērtība ir ceļš uz jūsu Java JDK instalāciju

    4. solis) Restartējiet datoru -> Gatavs

Kā palaist Selendroid

1. darbība. Lietojumprogrammas iegūšana pārbaudē

Varat izmantot esošo Selendroid testa lietotni, lai pārbaudītu, kā darbojas Selendroid (saite uz pārbaudāmās lietojumprogrammas paraugu)

Kad lejupielāde ir pabeigta, kopējiet šo APK un iepriekš minēto Selendroid Standalone burkas failu mapē ar nosaukumu " Guru99"

2. solis) Palaidiet Selendroid

Atveriet termināli operētājsistēmā Windows un dodieties uz mapi Guru99, kas izveidota 1. darbībā.

Palaidiet šo komandu

Rezultāts tiks parādīts šādi

Pēc šīs komandas izpildes sākas Selendroid-standalone HTTP serveris! Šī servera noklusējuma porta numurs ir 4444. Visa aparatūras ierīce, kā arī Android virtuālā ierīce tiks automātiski skenēta un atpazīta. Selendroid identificēs Android mērķa versiju un ierīces ekrāna izmēru.

Lai pārbaudītu Android mērķa versiju, kā arī informāciju par ierīci, pārlūkprogrammā varat palaist šādu URL:

http: // localhost: 4444 / wd / hub / status.

Selendroid pamata komanda

Šajā sadaļā jūs iepazīstināt ar pamata Selendroid-Standalone komandrindu. Jūs varat tos izmantot, lai iestatītu Selendroid testēšanas vidi

  1. Selendroid porta iestatīšana

    Selendroid noklusējuma ports ir 4444. Bet jūs varat pāriet uz citu portu, komandai pievienojot parametru, lai palaistu Selendroid

    Parametrs: -port [porta numurs]

    Piemēram:

    Iepriekš minētajā komandā 5555 ir jaunā osta.

Tāpēc URL, lai pārbaudītu Android mērķa versiju, tiek mainīts uz: http: // localhost: 5555 / wd / hub / status

  1. Norādiet pārbaudāmās lietojumprogrammas atrašanās vietu (binārā APK fails). Selendroid bieži pieprasīja absolūto ceļu šim failam

    Parametrs: -app [faila ceļš]

    Piemēram:

    Iepriekš minētajā komandā Selendroid automātiski atrod bināro failu bāzi "C: \ Guru99App.apk", lai iegūtu informāciju par testējamo lietojumprogrammu.

    Pārbaudiet vietrādi URL http: // localhost: 4444 / wd / hub / status, jūs redzēsiet šo informāciju

  2. Mainiet portu, kuru Selendroid izmanto, lai sazinātos ar instrumentu serveri. Selendroid kā noklusējumu izmanto portu 8080

    Parametrs: -selendroidServerPort [porta numurs]

    Piemērs

    Tagad osta ir mainīta uz 9000

  3. Mainiet taimautu, lai sāktu emulatorus. Mērvienība ir milisekundes.

    Parametrs: -timeoutEmulatorStart

    Pēc noklusējuma Selendroid gaidīs 300 000 milisekundes, līdz sāksies emulators. Pēc komandas varat pāriet uz jaunu taimautu (200 000 ms)

    Pēc šī laika beigām, ja emulators nevar palaist, Selendroid izmet izņēmuma kļūdu (kļūda radās, meklējot ierīces / emulatorus.), Pēc tam pārtrauks darboties

  4. Startējot komandu Selendroid terminālā, ekrānā redzēsit izdrukātu žurnālu. Varat mainīt redzamā žurnāla veidu, pievienojot šādu parametru

    Parametrs: -logLevel [žurnāla tips]

    Žurnāla līmeņa vērtības ir ERROR, WARNING, INFO, DEBUG un VERBOSE. Noklusējums: ERROR.

    Piemēram, iestatiet Selendroid drukāt tikai BRĪDINĀJUMU žurnālu, varat izmantot šo komandu

    Selendroid drukā tikai BRĪDINĀJUMA žurnālu

Sāciet savu pirmo testu ar Selendroid

Šī sadaļa ir soli pa solim, lai izveidotu savu pirmo testa skriptu, izmantojot Selendroid

Pieņemsim, ka mums ir Android lietojumprogramma ar testa nosaukumu Guru99App. Lietojumprogramma ietver teksta lauku un pogas nosaukumu "Rādīt tekstu".

Lejupielādējiet APK failu šeit

Mums ir jāizpilda šāds testa gadījums, izmantojot Selendroid

Pārbaudes gadījumi

Stāvoklis

Paredzamā izlaide:

  1. Palaidiet lietojumprogrammu
  2. Teksta laukā ievadiet tekstu " Guru99 tests "
  3. Nospiediet pogu "Rādīt tekstu"

Pārbaudāmās lietojumprogrammas binārā versija ir pieejama

Ierīce ir savienota ar datoru

Teksts "Teksts parādīt šeit" tiek mainīts uz tekstu

kuru lietotāju ievadīt teksta laukā

1. solis. Izveidojiet Java projektu programmā Eclipse

2. solis. Pievienojiet selēnu un Selendroid jar failu aptumsuma vidēs

Ar peles labo pogu noklikšķiniet uz Guru99Test Project -> Build Path -> Add External Archives

Pārejiet uz mapi, kurā tika saglabāti burku faili

Jāpievieno 3 burku faili

  • selendroid-client-0.10.0.jar: Selendroid java klienta bibliotēka
  • selendroid-standalone-0.11.0-with-atkarības: Selendroid atsevišķā servera bibliotēka
  • selenium-java-2.40.0.jar: Selenium Web Driver bibliotēka

Atlasīt visu -> Izvēlieties Atvērt, lai projektam pievienotu burkas failu

3. solis) pēc iepriekš minētās bibliotēkas pievienošanas šīs bibliotēkas tiks pievienotas testa projekta atsauces bibliotēkām. Testētājs var izmantot šo bibliotēku API, lai izstrādātu testa programmu

Izveidojiet paketi "com.guru.test" un pievienojiet java failu "Guru99Test.java" tāpat kā zemāk

Ar peles labo pogu noklikšķiniet uz Guru99Test -> New -> Package

Dialoglodziņā Jauna Java pakete ierakstiet com.guru.test laukā Nosaukums à Pabeigt

Eclipse avota koda struktūrā izveidos līdzīgas saraksta mapes un apakšmapes

4. solis. Instalējiet TestNG Eclipse

Programmas Eclipse sadaļā Palīdzība -> Instalēt jaunu programmatūru dialoglodziņā Instalēt noklikšķiniet uz Pievienot un ievadiet šo

  • Nosaukums: TestNG
  • Atrašanās vieta: http://selendroid.io/

Nospiediet OK -> Next, lai instalētu TestNG

5. solis. Kopējiet Guru99App.apk testa lietotnes mapē

6. solis. Iegūstiet pārbaudāmās lietojumprogrammas ID.

Pieņemsim, ka mums ir APK faila nosaukums Guru99App.apk. Izpildiet iepriekšējā sadaļā aprakstīto darbību, izpildiet komandu terminālā

Pārlūkprogrammā atveriet šo saiti

http: // localhost: 4444 / wd / hub / status.

Tiek parādīta ierīces informācija, nokopējiet appId vērtību "com.guru99app: 1.0"

7. solis) Atveriet failu Guru99Test.java (koda paraugā) un mainiet šādi

Lai izveidotu jaunu testa sesiju ar Selendroid, jums ir jānorāda lietotnes ID šādā formātā: com.guru99app: 1.0. Šis lietotnes ID var ir noteikts 6. darbībā. Ja neiestatāt lietotnes ID, kas atbilst Android ierīcei, testa sesija radīs kļūdu un netiks sākta.

Pēc atrastās ierīces inicializācijas Selendroid izveido pielāgotu selendroid serveri un tajā instalē Selendroid serveri

Selendroid arī instalē testējamo lietojumprogrammu un ierīcē palaiž selendroid serveri

Pēc testa sesijas veiksmīgas inicializācijas testa komandu sāk izpildīt ierīcē. (Piemēram, ievadot tekstu, nospiediet pogu

…). Ja tests pievienos testa sesiju, emulators automātiski apstāsies

8. solis) Sāciet jauno testa sesiju

Palaidiet Selendroid serveri, izmantojot šādu komandu terminālā, piemēram, 6. solis

Pēc Selendroid servera palaišanas atveriet testa projekta Guru99test paraugu Eclipse, iestatiet pārtraukuma punktu faila Guru99Test.java 77. rindiņā, veicot dubultklikšķi uz 77. rindiņas -> Tiks parādīts punkts kā zemāk

Sāciet testa sesiju ar peles labo pogu Click to Guru99Test -> Debug As -> Testng Test.

Testa sesija sāksies tāpat kā zemāk

9. solis. Iegūstiet pārbaudāmās lietojumprogrammas GUI elementa ID

Kad testa sesija ir veiksmīgi sākusies, atveriet pārlūkprogrammu, dodieties uz vietrādi URL http: // localhost: 4444 / inspector

Jūs redzēsiet, ka pārbaudāmā lietojumprogramma ir palaista tāpat kā zemāk

Izmantojiet peles kursoru uz katra AUT lietotāja interfeisa elementa (poga, teksta lauks, teksta iezīme), katra elementa ID tiks iezīmēts labajā rūtī

Pēc šīs darbības jūs varat iegūt katra iepriekš norādītā lietotāja interfeisa elementa ID

  • Pogas rādīt teksta ID: " btnShow "
  • Teksta lauka ID: " edtText "
  • Iezīmes teksta ID: " txtView "

Šie ID tiks izmantoti nākamajā darbībā

10. solis) Ievadiet testa programmu, piemēram, zemāk

Testa programma, kurā tiek izmantots Selendroid, ietver 3 sadaļas

Iestatīšanas pārbaude:

Tālāk ir iestatīšanas testa kods, tas iestatīs testa sesijas nosacījumu. Kļūdas gadījumā Selendroid izmet izņēmumu un testa lietotne tiks apturēta.

Kods ietver komentārus, lai izskaidrotu katru apgalvojumu.

pakete com.guru.test;importēt io.selendroid.SelendroidCapabilities;importēt io.selendroid.SelendroidConfiguration;importēt io.selendroid.SelendroidDriver;importēt io.selendroid.SelendroidLauncher;importēt io.selendroid.device.DeviceTargetPlatform;importēt org.openqa.selenium.By;importēt org.openqa.selenium.WebDriver;importēt org.openqa.selenium.WebElement;importēt org.testng.Assert;importēt org.testng.annotations.AfterSuite;importēt org.testng.annotations.BeforeSuite;importēt org.testng.annotations.Test;/ *** @author Guru99 testa lietotne, izmantojot Selendroid* Testējamā lietojumprogramma: Guru99App** /publiskiklase Guru99Test {// Paziņot tīmekļa draivera mainīgoprivāts WebDriver draiveris;/ *** Pirms testēšanas iestatiet vidi* @ throws izņēmums* /@BeforeSuitepubliskivoid setUp () izmet izņēmumu {// Sāciet selendroid-standalone testa laikāSelendroidConfiguration config = jauns SelendroidConfiguration ();// Pievienojiet selendroid-test-app savrupajam serverimconfig.addSupportedApp ("Guru99App.apk");// sākt atsevišķo serveriSelendroidLauncher selendroidServer = jauns SelendroidLauncher (config);selendroidServer.launchSelendroid ();// Izveidojiet selendroid iespējasSelendroidCapabilities capa = jauns SelendroidCapabilities ();// Norādiet, lai izmantotu selendroid testa lietotnicapa.setAut ("com.guru99app: 1.0");// Norādiet, lai izmantotu Android ierīces API 19capa.setPlatformVersion (DeviceTargetPlatform.ANDROID19);// Nepieprasiet simulatoru, izmantojiet reālu ierīcicapa.setEmulator (false);//capa.wait(10000000);// Izveidot Selendroid draivera instancidraiveris = jauns SelendroidDriver (capa);}

Izpildīt testu

Zemāk ir kods testa izpildei. Kods ietver komentārus

Šeit ir vēlreiz testa darbības

  1. Ievadiet tekstu "Hello Guru"
  2. Noklikšķiniet uz Rādīt teksta pogu
  3. Pagaidi mirklīti
  4. Pārbaudiet, vai lietotne parāda tekstu, kad lietotājs ievada tekstu laukā (piem., Parādiet tekstu "Hello Guru")
 / *** Sāciet izpildīt testa gadījumu* 01. Teksta laukā ievadiet tekstu "Selendroid"* 02. Nospiediet pogu Labi* @ throws izņēmums* /@Pārbaudepubliskivoid selendroidTest () izmet izņēmumu {// Izdrukājiet žurnāluSystem.out.print ("Sākt testa izpildi");// Ekrānā atrodiet ievades teksta lauku// Šī teksta lauka ID tika iegūts no 9. darbībasWebElement inputField = draiveris.findElement (By.id ("edtText"));// Pārbaudiet, vai ir iespējots teksta lauks, lai lietotājs varētu ievadīt tekstuAssert.assertEquals ("true", inputField.getAttribute ("iespējots"));// Ievadiet tekstu teksta laukāinputField.sendKeys ("Sveiks Guru");// noklikšķiniet uz pogas Rādīt tekstu// Šīs pogas ID tika iegūts no 9. darbībasWebElement poga = driver.findElement (By.id ("btnShow"));poga.klikšķis ();// Kavēšanās laiks, lai tas stātos spēkāThread.sleep (5000);// Ekrānā atrodiet etiķeti "Teksts parādīt šeit"// Šīs etiķetes ID tika iegūts no 9. darbībasWebElement txtView = draiveris.findElement (By.id ("txtView"));// Iegūstiet teksta displeju ekrānāParedzētā virkne = txtView.getText ();// Pārbaudiet, vai teksts, kuru lietotājs ievada teksta laukā, ir tāds pats kā teksts, kas tiek parādīts ekrānāAssert.assertEquals (paredzams, inputField.getText ());}

Pabeigt testu

Šis kods aizpildīs testu, apturot Selendroid draiveri.

 / *** Pārtrauciet Selendroid draiveri** /@AfterSuitepubliskivoid tearDown () {vadītājs.iziet ();}

Sīkāku informāciju varat skatīt šajā rakstā iekļautajā koda paraugā.

10. solis. Savienojiet Android ierīci ar datoru, izmantojot USB kabeli. Novērojami punkti -

  • Lūdzu, pārliecinieties, vai ierīcē nav konfigurēta ekrāna bloķēšana.
  • Ierīces caur USB jāpievieno datoram, kurā darbojas selendroid-standalone komponents.
  • Ierīcei jāinstalē vismaz Android Target Version API 10

11. solis) Palaidiet testa lietotni: ar peles labo pogu noklikšķiniet uz Guru99test -> Run as -> TestNG test

10. solis . Skripts tiek izpildīts šādi

12. solis. Pēc testa pabeigšanas TestNG automātiski ģenerē testa ziņojumu šādi

Labais darbs, tagad pārbaudījums ir izdarīts.

Kopsavilkums

Kopsavilkums

  • Selendroid ir ļoti spēcīgs rīks, lai pārbaudītu Android vietējo lietotni, hibrīdo lietotni, kā arī tīmekļa lietotni.
  • To var izmantot reālās ierīcēs, kā arī simulatorā.
  • Tas arī ļauj jums veikt testus paralēli, veicot testu ar vairākām ierīcēm.
  • Viss Selendroid komplekts sastāv no četriem komponentiem:
    • Web draivera klients,
    • Selendroid-Server,
    • Android draivera lietotne
    • Selendroid-atsevišķi
  • Lai izmantotu Selendroid, ir jāinstalē Java JDK, Android SDK un Eclipse.