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
- 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
- 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
- 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
- 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
- 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: |
|
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āsies8. 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
- Ievadiet tekstu "Hello Guru"
- Noklikšķiniet uz Rādīt teksta pogu
- Pagaidi mirklīti
- 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.