Testează aplicațiile web cu seleniu rc

Infrastructura de testare a unităților, cum ar fi JUnit, vă permite să testați codul care rulează pe partea serverului. Cu toate acestea, într-o aplicație Web tipică, codul de pe server este doar o mică parte a întregului cod de aplicație. În astfel de aplicații, poate exista o mulțime de cod care poate fi testat numai folosind un instrument care funcționează cu browserul.







În acest articol, vă veți familiariza cu instrumentul Selenium, cu ajutorul căruia puteți crea și automatiza testele aplicațiilor web. Veți învăța cum să creați rapid cazuri de testare, să le extindeți și cum să utilizați telecomanda Selenium pentru a le executa ca teste automate.

Familiarizați-vă cu Selenium RC

Selenium RC face parte din setul de instrumente disponibil în cadrul proiectului Selenium. Cu aceasta, puteți rula automat testele pe care le-ați creat. Selenium RC rulează pe mai multe sisteme de operare și cu browsere diferite, printre care Windows® Internet Explorer®, Mozilla Firefox și Opera.

Folosind Selenium RC, puteți rula automat testele ori de câte ori doriți. În plus, acest instrument vă permite să creați mai multe teste complexe decât cele care pot fi efectuate în seleniul IDE. În teste, puteți să adăugați instrucțiuni și să reîncercați instrucțiunile pe care le puteți utiliza dacă doriți să executați teste cu un anumit set de date. De asemenea, puteți rezolva excepțiile așteptate utilizând structurile disponibile în infrastructura de testare a unităților, cum ar fi JUnit.

Descărcați și instalați Selenium RC

Pentru a începe cu Selenium RC, trebuie să o descărcați și să o instalați. Serverul Selenium este un fișier JAR obișnuit care poate fi rulat într-un mediu de rulare (JRE sau Java ™ Runtime Environment). Puteți descărca fișierul JAR și alte fișiere necesare de pe site-ul SeleniumHQ (consultați linkul din secțiunea Resurse).

La sfârșitul descărcării, despachetați arhiva care conține Selenium RC și plasați-o undeva pe sistemul de fișiere. Acum puteți porni serverul Selenium executând următoarea comandă:

Exemple de aplicații pentru testare

Listing 1. Pagina index.jsp
Listing 2. Pagina enterInfo.jsp

Scriem primul test

Pentru a scrie rapid testele inițiale, care vor fi apoi utilizate ca bază pentru crearea testelor automate, puteți utiliza mediul de selecție IDE. Mediul Selenium IDE este un modul de extensie Firefox care vă permite să înregistrați teste. După înregistrare, testele pot fi exportate astfel încât să poată fi adăugate condiții, repetiții etc.

Pentru a începe cu Selenium IDE, descărcați-l din linkul din secțiunea Resurse. Faceți clic pe link și instalați Selenium IDE ca modul de extensie Firefox. Firefox vă va solicita să instalați modulul de extensie, după care va trebui să reporniți browserul pentru ca modificările să aibă efect.

După instalarea extensiei, porniți serverul, după care puteți începe să lucrați cu aplicația web. Pentru a deschide Selenium IDE, faceți clic pe Instrumente Firefox> Selenium IDE. Când se deschide ID-ul Selenium, faceți clic pe Înregistrare. Selenium IDE va ​​începe înregistrarea: va reține toate acțiunile pe care le efectuați în browser. Pentru a intra în aplicația de testare, urmați acești pași:

  1. Activați înregistrarea în Selenium IDE și accesați pagina index.jsp.
  2. Introduceți numele de utilizator.
  3. Introduceți parola corectă în câmpul Parolă.
  4. Faceți clic pe Conectare.

După conectarea cu succes la aplicația web, trebuie să se deschidă pagina enterInfo.jsp. În acest moment al testului există deja pași, dar nu există încă verificări care să fie efectuate cu succes. Mediul Selenium ar trebui să știe ce trebuie să se uite pentru a vedea dacă pagina enterInfo.jsp este afișată așa cum era de așteptat.

Puteți adăuga acțiuni de testare pentru a vă asigura că aplicația afișează conținutul corect. Nu opriți înregistrarea în Selenium, urmați acești pași:

  1. Faceți clic dreapta pe orice element HTML, cum ar fi numele dvs. și faceți clic pe verifyTextPresent Your name:.
  2. Repetați pasul 1 pentru "Data nașterii".
  3. Faceți clic pe Înregistrare. pentru a opri înregistrarea.

Dacă doriți să vedeți testul în acțiune, faceți clic pe Executare totală (a se vedea Figura 1). Testul începe și se termină cu succes.

Figura 1. Faceți clic pe Executare totală

Pentru a verifica dacă Selenium IDE testează de fapt aplicația noastră, deschideți IDE-ul și modificați valoarea codului de utilizator. Reporniți aplicația și faceți clic din nou pe Executare tot. De data aceasta testul nu va funcționa, deoarece aplicația web nu afișează pagina enterInfo.jsp cu inscripțiile corecte.







Exportim testul în JUnit

Am scris primul nostru test și acum îl putem exporta pentru utilizare în JUnit. Selectați testul în Selenium IDE, faceți clic pe File> Export Test Case As> Java (JUnit) - Selenium RC. Introduceți numele testului (de exemplu, IndexTests.java) și salvați-l pentru a importa în Eclipse.

Efectuați următorii pași:

  1. Creați un nou proiect Java care include teste de unități Java create cu JUnit.
  2. Descărcați fișiere executabile pentru Selenium RC (consultați linkul din secțiunea Resurse). Salvați fișierul de arhivă undeva, de unde conținutul său poate fi importat în noul dvs. proiect Java în Eclipse.
  3. Creați un nou folder denumit lib în proiectul dvs. Java.
  4. Faceți clic pe File> Import. apoi selectați fișierul din listă. Faceți clic pe Următorul.
  5. Accesați directorul în care ați extras fișierele Selenium RC și selectați directorul selenium-java-client-driver-1.0.1.
  6. Selectați selenium-java-client-driver.jar din listă și faceți clic pe OK. Pentru a importa un fișier JAR cu driverul de client Selenium pentru Java în directorul lib al proiectului.
  7. Importați fișierul de testare Java pe care l-ați exportat din Selenium IDE în directorul src al noului dvs. proiect Java.

Primul lucru pe care îl veți vedea după aceasta este o mulțime de erori de compilare. Mai întâi, noul fișier Java poate să nu fie în pachetul corect, deoarece este acum localizat direct în directorul src. În al doilea rând, este imposibil să se găsească clasele JUnit sau Selenium. Din fericire, aceste erori pot fi rezolvate cu ușurință cu Eclipse.

Rezolvarea erorilor în Eclipse

Pentru a rezolva o eroare cu pachetul, selectați eroarea și apăsați pe Ctrl-1. pentru a deschide sugestii. Selectați Move MyTest.java în pachetul 'com.example.mywebapp.tests'. Eclipse va crea un pachet pentru tine și va pune un fișier în el.

Adăugați testul JUnit

Acum adăugați testele Selenium și JUnit. Pentru a face acest lucru, selectați proiectul nostru Java din pachetul Explorer și faceți clic pe Creează cale> Configurați calea de construire. În fila Biblioteci, faceți clic pe Adăugați JAR-uri și selectați fișierul selenium-java-client-driver.jar. Faceți clic pe OK.

Când fișierele Java sursă sunt compilate, testul ar trebui să arate ca în lista 3.

Listarea 3. Un test JUnit bazat pe codul exportat din seleniul IDE

Dacă nu puteți să descărcați și să instalați Selenium IDE din cauza oricăror limitări care vă împiedică să utilizați Firefox, puteți scrie în continuare teste pe care le puteți rula folosind Selenium RC. Folosiți doar exemplele prezentate aici ca punct de plecare și consultați documentația Selenium menționată în secțiunea Resurse.

Examinați rezultatele testelor

Am scris deja primul caz test, acum să ne uităm la el în acțiune. Rulați serverul Selenium și executați testul ca test unitate standard JUnit. Porniți serverul Selenium executând următoarea comandă:

Rulați serverul din IDE

Pentru cea mai completă integrare, puteți configura lansarea serverului Selenium direct din Eclipse. Faceți clic pe Executare> Instrumente externe> Configurații instrument extern și introduceți comanda în setările externe ale instrumentului pentru a porni serverul.

După rularea serverului Selenium, puteți rula testul unității făcând clic dreapta pe fișierul IndexTest.java și selectând Run As> JUnit Test. Pentru ca serverul Selenium să lanseze o instanță a browserului dvs. și să ruleze testele, poate dura ceva timp. La sfârșitul testului, veți vedea aceeași ieșire în Eclipse ca și pentru testele unității convenționale.

Să săpăm mai adânc

Am făcut un simplu test cu Selenium IDE și l-am exportat într-un fișier Java, iar acum să creăm un test mai complex care verifică funcțiile paginii enterInfo.jsp. Un exemplu al unui astfel de test este prezentat în Lista 4.

Listarea 4. Testul JUnit pentru verificarea enterInfo.jsp

Metoda testBadDate () este utilizată pentru a introduce valori incorecte în câmpul datei de naștere și a trimite formularul. Verifică faptul că, atunci când introduceți o dată incorectă, primiți un mesaj de eroare corespunzător. Metoda testValidDate () verifică faptul că atunci când este introdusă o dată validă, apare un mesaj cu vârsta corectă a utilizatorului.

Automatizează testele

Acum, că putem executa teste de la Eclipse, să automatizăm complet execuția testelor folosind scriptul Apache Ant cu mai multe scopuri. Cu ajutorul scriptului Ant, puteți implementa aceste teste cu instrumente cum ar fi Hudson sau CruiseControl (consultați resursele).

Pentru a automatiza executarea testelor, puteți utiliza scriptul Ant, care va utiliza obiectivele JUnit pentru a executa testele Selenium RC. Scenariul este afișat în listare 5.

Listing 5. Scriptul Ant pentru a rula testele Selenium

Efectuați teste în alte browsere

În timp ce în exemplul nostru testele au fost efectuate în browser-ul Firefox. Cu toate acestea, uneori trebuie să testați o aplicație web în alte browsere pentru a vă asigura că funcționează corect în diferite browsere.

Este posibil să fi observat că atunci când setați teste în metoda setUp () a testului JUnit, metoda parent setUp () este trecută de al doilea parametru * firefox Acest parametru inițiază o instanță a browserului Firefox.

Pentru a rula testul într-un alt browser, pur și simplu treceți numele browser-ului în al doilea argument. De exemplu, pentru a porni browserul Internet Explorer, utilizați valoarea * iexplore. Opera și browserele Apple Safari utilizează * operă și * safari, respectiv.

Rețineți că browserul selectat trebuie să suporte sistemul de operare pe care efectuați testele. Dacă încercați să executați teste într-un browser care nu se află în sistemul de operare, de exemplu în * safari sau * iexplore pe sistemul Linux®, o excepție va fi aruncată și testele nu vor trece.

concluzie

În acest articol, trebuie să cunoaștem instrumentul Selenium și cele două componente: Selenium IDE și Selenium RC. Selenium IDE oferă o modalitate ușoară de a înregistra teste pentru aplicații web. Folosind componenta Selenium RC, poți automatiza testele și le poți adăuga noi caracteristici.

Testarea automată a unei aplicații web utilizând un browser poate fi o completare excelentă la testele modulare existente care acoperă restul aplicației dvs. Testele automate accelerează testarea regresiei și permit dezvoltatorilor să învețe rapid problemele.

Descărcați resurse

Subiecte conexe







Trimiteți-le prietenilor: