Tutorial Selendroid pentru începători cu exemplu

Cuprins:

Anonim

Ați dezvoltat vreodată o aplicație Android și o publicați pe Google Play? Ce veți face dacă primiți o recenzie a utilizatorului ca -

Când publicați o aplicație pe Google Play, aceasta trebuie să fie bine testată pentru a evita posibilele erori. Există o mulțime de scenarii de testare care ar trebui executate înainte de publicarea unei aplicații. Pentru a economisi efortul de testare, aveți nevoie de un instrument de testare. Unul dintre cele mai bune instrumente de testare pentru aplicația Android este Selendroid.

  • Ce este Selendroid?
  • De ce avem nevoie de Selendroid?
  • Arhitectura Selendroid
  • Noțiuni introductive despre Selendroid
  • Configurarea unui mediu Selendroid
  • Cum se lansează Selendroid
  • Comandă de bază Selendroid
  • Începeți primul test cu Selendroid

Ce este Selendroid?

Selendroid este un cadru de automatizare de testare pentru mai multe tipuri de aplicații mobile: aplicație Android nativă și hibridă și web mobil .

Puteți scrie testele folosind API-urile client Selenium 2. Deoarece Selendroid reutilizează în continuare infrastructura Selenium existentă pentru web

Selendroid este un instrument puternic de testare. Poate fi folosit pe emulatoare și dispozitive reale

De ce avem nevoie de Selendroid?

Selendroid este un instrument excelent de testare. Dar s-ar putea să te îndoiești de utilitatea sa.

Această secțiune va introduce caracteristicile importante ale Selendroid pentru a răspunde la întrebarea de ce aveți nevoie de Selendroid.

  • Puteți testa aplicația testată folosind Selendroid fără nicio modificare a aplicației. Aveți nevoie doar de fișierul binar (APK) instalat pe computer. Pentru a instala fișierul binar pe dispozitiv, aplicația de testare și aplicația mobilă trebuie să fie semnate cu aceeași cheie de semnare
  • Aplicația de testare Selendroid poate interacționa simultan cu mai multe dispozitive sau simulatoare. Este un mare avantaj al Selendroid. Astfel, puteți testa aplicația dvs. cu diferite dispozitive Android pentru a verifica compatibilitatea.
  • Selendroid poate simula acțiunile utilizatorului uman pe o aplicație, cum ar fi atingerea, glisarea, glisarea și fixarea pe dispozitive
  • Puteți schimba dispozitivele hardware (conectați și deconectați) în timpul testării fără a reporni sau opri testul. Selendroid recunoaște automat noile dispozitive
  • Corespunzător versiunii API Android în sus, Selendroid acceptă, de asemenea, noua API Android (De la API 10 la API 19)
  • Selendroid are, de asemenea, un instrument de inspecție încorporat pentru a vă ajuta să identificați elementul de interfață al unei aplicații supuse testului. De exemplu, butonul ID, câmpul de text, vizualizarea textului ...

Arhitectura Selendroid

Selendroid se bazează pe cadrul de instrumentare Android. Testele Selendroid sunt scrise de bază pe API-ul clientului driverului Selenium Web, deci acceptă integrarea completă cu cadrele Selenium actuale.

Următoarea figură descrie arhitectura lui Selendroid

Selendroid conține 4 componente majore:

  • Web Driver Client - Biblioteca client Java bazată pe Selenium. Această bibliotecă ar trebui instalată pe computer (care este utilizată pentru a dezvolta cazurile de testare)
  • Selendroid-Server - Serverul care rulează se află în aplicația testată pe dispozitivul sau simulatorul Android. Aceasta este componenta principală a unei arhitecturi Selendroid
  • Android Driver-App - Un driver Android încorporat, aplicația Web View pentru a testa web-ul mobil.
  • Selendroid-Standalone - Această componentă este utilizată pentru a instala serverul Selendroid și aplicația testată (AUT)

Noțiuni introductive despre Selendroid

Ați cunoscut deja importanța Selendroidului. Acum să ne murdărim mâinile cu Selendroid.

Trebuie să faceți 3 pași înainte de primul test cu Selendroid

Configurarea unui mediu Selendroid

Selendroid poate funcționa pe Windows, Linux și Mac OS. În acest tutorial, vom configura Selendroid în Windows OS.

Înainte de a utiliza Selendroid, trebuie mai întâi să instalați următorul pachet

  • SDK Java (minim 1,6)

    Trebuie să acceptați acordul de licență și să descărcați programul de instalare Java (alegeți baza x64 sau x86 pe sistemul dvs. de operare)

    Descărcați și instalați SDK-ul Java ca software normal

  • Cea mai recentă versiune de Android SDK
  • Computerul dvs. trebuie să aibă cel puțin un dispozitiv virtual Android (AVD) sau un dispozitiv Android real conectat la computer.
  • Selendroid Standalone cu dependențe, Selendroid Client și Selenium Client
  • Software Eclipse
  • Configurați JAVA_HOME și ANDROID_HOME

    Pasul 1) În fereastră, faceți clic dreapta pe Computer -> Proprietăți -> Setări avansate de sistem

    Pasul 2) Afișarea ferestrei Proprietăți sistem, selectați fila Avansat -> Variabile de mediu

    Pasul 3) Afișarea ferestrei de mediu, faceți clic pe Nou -> Introduceți o variabilă ANDROID_HOME după cum urmează

    Valoarea variabilă este calea către android-sdks pe care ați instalat-o deja.

    Găsiți variabila de sistem Cale -> Editare -> Adăugați următoarea linie după linia curentă

    Similar cu ANDROID_HOME, adăugați o nouă variabilă JAVA_HOME cu valoarea de mai jos

    Valoarea este calea către instalarea Java JDK

    Pasul 4) Reporniți computerul -> Terminat

Cum se lansează Selendroid

Pasul 1) Obținerea unei aplicații sub test

Puteți utiliza aplicația de testare Selendroid existentă pentru a verifica modul în care funcționează Selendroid (Link către aplicația eșantion sub test)

După finalizarea descărcării, copiați acest APK și fișierul jar Selendroid Standalone de mai sus într-un folder cu numele „ Guru99”

Pasul 2) Lansați Selendroid

Deschideți terminalul pe Windows și navigați la folderul Guru99 creat la pasul 1.

Rulați următoarea comandă

Ieșirea se va afișa după cum urmează

După rularea acestei comenzi, pornește serverul HTTP independent Selendroid! Numărul de port implicit al acestui server este 4444. Toate dispozitivele hardware, precum și dispozitivul virtual Android, vor fi scanate și recunoscute automat. Selendroid va identifica versiunea țintă Android și dimensiunea ecranului dispozitivului.

Pentru a verifica versiunea țintă Android, precum și informațiile despre dispozitiv, puteți lansa următoarea adresă URL pe un browser:

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

Comandă de bază Selendroid

Această secțiune vă prezintă câteva linii de comandă de bază Selendroid-Standalone. Le puteți folosi pentru a configura mediul de testare Selendroid

  1. Setarea portului Selendroid

    Portul implicit al Selendroid este 4444. Dar puteți trece la alt port adăugând un parametru la comandă pentru a lansa Selendroid

    Parametru: -port [numărul portului]

    De exemplu:

    În comanda de mai sus, 5555 este noul port.

Deci, adresa URL pentru a verifica versiunea țintă Android este schimbată în: http: // localhost: 5555 / wd / hub / status

  1. Specificați locația aplicației supuse testului (fișier APK binar). Selendroid a solicitat adesea calea absolută pentru acest fișier

    Parametru: -app [calea fișierului]

    De exemplu:

    În comanda de mai sus, Selendroid găsește automat baza de fișiere binare pe „C: \ Guru99App.apk” pentru a obține informațiile aplicației testate.

    Verificați adresa URL http: // localhost: 4444 / wd / hub / status, veți vedea aceste informații

  2. Schimbați portul pe care Selendroid îl folosește pentru a comunica cu serverul de instrumente. Selendroid folosește portul 8080 ca implicit

    Parametru: -selendroidServerPort [numărul portului]

    Exemplu

    Portul acum este schimbat la 9000

  3. Schimbați expirarea pentru a porni emulatoarele. Unitatea este de milisecunde.

    Parametru: -timeoutEmulatorStart

    În mod implicit, Selendroid va aștepta 300.000 de milisecunde până când va începe emulatorul. Puteți trece la un nou timeout (200.000 ms) prin comandă

    După această perioadă a expirat, dacă emulatorul nu poate porni, Selendroid va arunca eroarea de excepție (a apărut o eroare în timp ce căutați dispozitive / emulatoare.)

  4. Când porniți comanda Selendroid pe terminal, veți vedea un jurnal imprimat pe ecran. Puteți modifica tipul de jurnal pe care îl vedeți adăugând următorul parametru

    Parametru: -logLevel [tip de jurnal]

    Valorile nivelului jurnalului sunt ERROR, WARNING, INFO, DEBUG și VERBOSE. Implicit: EROARE.

    De exemplu, setați Selendroid să imprime numai jurnalul de AVERTISMENT, puteți utiliza această comandă

    Selendroid tipărește doar jurnalul de AVERTISMENT

Începeți primul test cu Selendroid

Această secțiune este un ghid pas cu pas pentru crearea primului script de testare folosind Selendroid

Să presupunem că avem o aplicație Android sub numele de test Guru99App. Aplicația include un câmp de text și un nume de buton „Afișare text”.

DESCARCĂ APK-ul AICI

Trebuie să executăm următorul Test Case folosind Selendroid

Cazuri de testare

Condiție

Ieșire preconizată:

  1. Lansați aplicația
  2. Introduceți un text „ Test Guru99 ” în câmpul de text
  3. Apăsați butonul „Afișare text”

Binarul aplicației supuse testului este disponibil

Un dispozitiv este conectat la computer

Textul „Arată text aici” este schimbat în text

ce utilizator introduce într-un câmp text

Pasul 1) Creați un proiect Java în Eclipse

Pasul 2) Adăugați fișierul seleniu și borcanul Selendroid în mediile eclipse

Faceți clic dreapta pe proiectul Guru99Test -> Construiți calea -> Adăugați arhive externe

Navigați la folderul care a stocat fișierele jar

Trebuie adăugate 3 fișiere jar

  • selendroid-client-0.10.0.jar: biblioteca client client Selendroid
  • selendroid-standalone-0.11.0-cu-dependențe: bibliotecă server autonom Selendroid
  • selenium-java-2.40.0.jar: biblioteca Selenium Web Driver

Selectați toate -> Alegeți Deschidere pentru a adăuga un fișier jar la proiect

Pasul 3) după adăugarea bibliotecii de mai sus, acele biblioteci vor fi adăugate la Bibliotecile de referință ale proiectului de testare. Un tester poate utiliza API-urile bibliotecilor respective pentru a dezvolta programul de testare

Creați pachetul „com.guru.test” și adăugați fișierul java „Guru99Test.java” ca mai jos

Faceți clic dreapta pe Guru99Test -> Nou -> Pachet

Tastați com.guru.test în câmpul Nume din dialogul Pachet Java nou à Finish

Eclipse va crea foldere de listă și subfoldere ca aceasta în structura codului sursă

Pasul 4) Instalați TestNG pentru Eclipse

În Eclipse, Ajutor -> Instalare software nou, în dialogul Instalare, faceți clic pe Adăugare și introduceți următoarele

  • Nume: TestNG
  • Locație: http://selendroid.io/

Apăsați OK -> Next pentru a instala TestNG

Pasul 5) Copiați Guru99App.apk în dosarul aplicației de testare

Pasul 6) Obțineți ID-ul unei aplicații testate.

Să presupunem că avem un nume de fișier APK Guru99App.apk. Urmați pasul descris în secțiunea anterioară, executați comanda pe terminal

Deschideți următorul link într-un browser

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

Informațiile dispozitivului sunt afișate, copiați valoarea appId "com.guru99app: 1.0"

Pasul 7) Deschideți fișierul Guru99Test.java (în codul eșantion) și modificați-l după cum urmează

Pentru a crea o nouă sesiune de testare cu Selendroid, trebuie să furnizați ID-ul aplicației în format: com.guru99app: 1.0. Acest ID al aplicației este identificat la pasul 6. Dacă nu setați ID-ul aplicației care se potrivește cu dispozitivul Android, sesiunea de test va genera o eroare și nu va începe.

După inițializarea dispozitivului găsit, Selendroid creează un server selendroid personalizat și instalează serverul Selendroid pe acesta

Selendroid instalează, de asemenea, aplicația testată și pornește selendroid-server pe dispozitiv

După inițializarea cu succes a sesiunii de test, comanda de testare începe să se execute pe un dispozitiv. (Cum ar fi introducerea textului, apăsați butonul

…). Dacă testul adaugă sesiunea de test, emulatorul se va opri automat

Pasul 8) Începeți noua sesiune de testare

Lansați serverul Selendroid folosind următoarea comandă pe terminal, cum ar fi pasul 6

După pornirea serverului Selendroid, deschideți proiectul de testare Guru99test pe Eclipse, setați un punct de întrerupere la linia 77 din fișierul Guru99Test.java făcând dublu clic pe linia 77 -> Un punct se va afișa ca mai jos

Începeți o sesiune de testare dreapta Faceți clic pe proiectul Guru99Test -> Depanare ca -> Testare test.

O sesiune de test va începe ca mai jos

Pasul 9) Obțineți ID-ul elementului GUI al unei aplicații testate

După ce sesiunea de test începe cu succes, deschideți browserul, navigați la adresa URL http: // localhost: 4444 / inspector

Veți vedea că aplicația sub test este lansată ca mai jos

Utilizați cursorul mouse-ului la fiecare element de interfață AUT (AUT, Buton, TextField, Text Label), ID-ul fiecărui element va fi evidențiat în panoul din dreapta

După acest pas, puteți obține ID-ul fiecărui element de interfață de mai sus

  • Buton Afișare ID text: " btnShow "
  • ID câmp text: „ edtText
  • ID text etichetă: " txtView "

Aceste ID-uri vor fi utilizate în pasul următor

Pasul 10) Introduceți programul de testare ca mai jos

Un program de testare care utilizează Selendroid include 3 secțiuni

Test de configurare:

Următorul este codul pentru testul de configurare, acesta va configura condiția pentru o sesiune de testare. În caz de eroare, Selendroid va arunca excepția și aplicația de testare se va opri.

Codul include comentariile pentru a explica fiecare declarație.

pachet 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 folosind Selendroid* Aplicație sub test: Guru99App** /publicclasa Guru99Test {// Declarați variabila driverului webdriver WebDriver privat;/ *** Configurați mediul înainte de testare* Excepție @throws* /@BeforeSuitepublicvoid setUp () aruncă Excepție {// Porniți selendroid-standalone în timpul testuluiSelendroidConfiguration config = new SelendroidConfiguration ();// Adăugați aplicația selendroid-test pe serverul independentconfig.addSupportedApp ("Guru99App.apk");// porniți serverul independentSelendroidLauncher selendroidServer = nou SelendroidLauncher (config);selendroidServer.launchSelendroid ();// Creați capacitățile de selendroidSelendroidCapabilities capa = new SelendroidCapabilities ();// Specificați să utilizați aplicația de testare a selendroidcapa.setAut ("com.guru99app: 1.0");// Specificați să utilizați dispozitivul Android API 19capa.setPlatformVersion (DeviceTargetPlatform.ANDROID19);// Nu solicitați simulator, utilizați dispozitivul realcapa.setEmulator (fals);//capa.wait(10000000);// Creați o instanță a driverului Selendroiddriver = nou SelendroidDriver (capa);}

Executați testul

Mai jos este codul pentru a executa un test. Codul include comentariile

Iată din nou pașii de testare

  1. Introduceți textul „Hello Guru”
  2. Faceți clic pe Afișare buton text
  3. Așteaptă un pic
  4. Verificați dacă aplicația afișează textul pe măsură ce utilizatorul intră într-un câmp de text (de exemplu, afișează textul „Hello Guru”)
 / *** Începeți să executați cazul de testare* 01. Introduceți textul „Selendroid” în câmpul text* 02. Apăsați butonul OK* Excepție @throws* /@Testpublicvoid selendroidTest () aruncă Excepție {// Imprimați jurnalulSystem.out.print („Începeți executarea testului”);// Găsiți câmpul de text de intrare pe ecran// ID-ul acestui câmp text a fost obținut de la pasul 9WebElement inputField = driver.findElement (By.id ("edtText"));// Verificați dacă câmpul de text este activat, astfel încât utilizatorul să poată introduce textAssert.assertEquals ("adevărat", inputField.getAttribute ("activat"));// Introduceți un câmp text în textinputField.sendKeys ("Hello Guru");// faceți clic pe butonul Afișare text// ID-ul acestui buton a fost obținut de la pasul 9Buton WebElement = driver.findElement (By.id ("btnShow"));button.click ();// Întârziți timpul pentru a intra în vigoareThread.sleep (5000);// Găsiți eticheta „Text Show Here” pe ecran// ID-ul acestei etichete a fost obținut de la pasul 9WebElement txtView = driver.findElement (By.id ("txtView"));// Afișați textul pe ecranȘirul așteptat = txtView.getText ();// Verificați dacă textul pe care utilizatorul îl introduce în câmpul de text este același cu textul afișat pe ecranAssert.assertEquals (expected, inputField.getText ());}

Finalizați testul

Următorul cod va finaliza testul oprind driverul Selendroid.

 / *** Opriți driverul Selendroid** /@AfterSuitepublicvoid tearDown () {driver.quit ();}

Puteți vedea detaliile în exemplul de cod inclus în acest articol.

Pasul 10) Conectați dispozitivul Android la computer prin cablu USB. Puncte de observat -

  • Asigurați-vă că dispozitivul nu are configurată nicio blocare a ecranului.
  • Dispozitivele trebuie conectate prin USB la computerul pe care se execută componenta autonomă.
  • Dispozitivul ar trebui să instaleze cel puțin Android Target Version API 10

Pasul 11) Rulați aplicația Test: Faceți clic dreapta pe Guru99test -> Run as -> TestNG test

Pasul 10) Scriptul începe executat după cum urmează

Pasul 12) După terminarea executării testului, TestNG auto generează raportul de testare după cum urmează

Bun Job, ai terminat testul acum.

rezumat

rezumat

  • Selendroid este un instrument foarte puternic pentru testarea aplicației native Android, a aplicației hibride, precum și a aplicației web.
  • Poate fi folosit pe dispozitive reale, precum și pe simulator.
  • De asemenea, vă permite să rulați teste în paralel, executând un test pe mai multe dispozitive.
  • Întreaga suită Selendroid cuprinde patru componente:
    • Client Driver Web,
    • Selendroid-Server,
    • Aplicația Android Driver
    • Selendroid-stand alone
  • Pentru a utiliza Selendroid aveți nevoie de Java JDK, Android SDK și Eclipse instalate.