Testarea automatizării folosind seleniul și castravetele cadru: tutorial

Aplicațiile web au devenit esențiale pentru companiile care caută modalități avansate de a se conecta și de a-și servi publicul țintă în domeniul digital. Având în vedere importanța aplicațiilor web în operațiunile comerciale din zilele noastre, indiferent de industrie, acestea trebuie testate în mod cuprinzător pentru a se asigura că oferă experiențe utilizatorilor de ultimă generație.

Testarea automatizării accelerează ciclul de viață al dezvoltării software-ului. Mai mult, la adoptarea abordării de dezvoltare a comportamentului condus (BDD), diferiți actori precum dezvoltatorii, asigurările de calitate și echipele non-tehnologice pot colabora activ în cadrul proiectului.

Scenariile sunt scrise pe baza comportamentului așteptat a software-ului și este testat pentru a verifica dacă se potrivește scenariilor respective.

Sursă imagine

Aceste scenarii sunt documentate folosind un limbaj specific domeniului, cum ar fi Gherkin. În fiecare scenariu de testare, constructele de limbaj natural care constituie fraze mici de tip englezesc sunt utilizate pentru a descrie comportamentul și rezultatul scontat al unei aplicații. Acest lucru se face folosind un instrument software dedicat, cum ar fi Castravetele, care permite executarea testelor de acceptare automate scrise în Gherkin.

Ce este Castravetele?

Castravetele este un cadru de testare open-source care acceptă dezvoltarea comportamentală pentru testarea automatizată a aplicațiilor web. Testele sunt scrise mai întâi într-o formă simplă de scenariu care descrie comportamentul așteptat al sistemului din perspectiva utilizatorului.

Utilizat în mare parte pentru testele de acceptare, Castravetele este scris în Ruby, în timp ce testele sunt scrise în Gherkin, un limbaj non-tehnic și care poate fi citit de oameni.

Testarea castravetelui și seleniului: o abordare colaborativă

În timp ce testarea automată a seleniului adaugă precizie și viteză ciclului de dezvoltare, Castravetele adaugă un avantaj suplimentar la acesta, făcându-l mai colaborativ pentru părțile interesate din managementul non-tehnic. Foarte benefic pentru testarea acceptării utilizatorilor, unde scenariile de testare sunt în mare parte determinate de comportament, Castravetele întăresc Testarea automatizării.

Cadru Castravete

Cadru Castravete constă în principal din trei părți majore – Fișier de caracteristici, Definiții pas și fișierul Test Runner.

Fișier caracteristică

O unitate independentă sau o singură funcționalitate (cum ar fi o autentificare) pentru un proiect poate fi numită o caracteristică. Fiecare dintre aceste caracteristici va avea scenarii care trebuie testate folosind Selenium integrat cu Castravete. Un fișier care stochează date despre caracteristici, descrierile acestora și scenariile care urmează să fie testate, se numește fișier de caracteristici.

Testele de castravete sunt scrise în aceste fișiere de caracteristici care sunt stocate cu extensia – „.feature” . Un fișier de caracteristici poate primi o descriere pentru a face documentarea mai lizibilă.

Exemplu:

Funcția de conectare pe un site web

Nume fișier de caracteristică: userLogin .feature

Descriere: utilizatorul trebuie să se poată autentifica la introducerea corectă a numelui de utilizator și a parolei în câmpurile corecte. Utilizatorul ar trebui să fie direcționat către pagina de pornire dacă numele de utilizator și parola introduse sunt corecte.

Cuvinte cheie precum GIVEN, WHEN și THEN utilizate pentru a scrie testul în Castravete se numesc Adnotări.

  • Utilizatorul GIVEN navighează la pagina de autentificare deschizând Firefox
  • CÂND utilizatorul introduce < nume de utilizator corect > ȘI < parola > valori
  • ATUNCI utilizatorul este direcționat către t pagina principală

Definiții pas

Acum că caracteristicile sunt scrise în fișierele de caracteristici, codul pentru scenariul aferent trebuie executat. Pentru a ști care lot de cod trebuie executat pentru un anumit scenariu, Definițiile Pașilor intră în imagine. Un fișier Definiții pași stochează datele de mapare între fiecare pas al unui scenariu definit în fișierul caracteristică și codul care urmează să fie executat.

Definițiile pasului pot utiliza atât comenzi Java, cât și seleniu pentru funcțiile Java scrise pentru maparea unui fișier caracteristică la cod.

Exemplu:

package StepDefinition;import cucumber.api.java.en.Given;import cucumber.api.java.en.Then;import cucumber.api.java.en.When;public class Steps{@Given("^user navigates to the login page by opening Firefox$")//Code to Open Firefox Browser and launch the login page of application to define the GIVEN step of the feature@When("^user enters correct username and password values$")//take inputs for username and password fields using find element by xpath. Put the correct username and password values as inputs to define the WHEN step of the feature@Then ("^user gets directed to homepage$”)//Direct to the Homepage of the application as a result of correct username and password inputs in the WHEN step. This would define the THEN step of the feature

Test Runner File

Pentru a rula testul, are nevoie de un fișier Test Runner, care este o clasă JUnit Test Runner care conține locația Definiție pas și celelalte metadate primare necesare pentru a rula testul.

Fișierul Test Runner utilizează adnotarea @RunWith () de la JUnit pentru executarea testelor. De asemenea, folosește adnotarea @CucumberOptions pentru a defini locația fișierelor de caracteristici, definiții de pași, integrări de raportare etc.

Exemplu:

Clasa Test Runner în pachetul cucumberTest, cu fișierele de caracteristici în locația „src / test / Feature” și fișierele Definiție pas în folderul „src / main / stepDefinition”.

Configurarea cadrului Cucumber

Înainte de a explora cum funcționează Castravetele și cum se scrie un test de Seleniu de Castravete, să ne dăm seama mai întâi cum să setăm Castravete.Instalarea premiselor menționate mai jos este tot ce are nevoie un utilizator pentru a începe cu Testarea automată a castraveților.

Cerințe preliminare pentru configurarea castraveților și seleniului

  • Instalați Java
  • Instalați Eclipse IDE pentru Java
  • Instalați Maven
  • Instalați Selenium Webdriver
  • Instalați JUnit
  • Instalați Castravete

Cum se scrie un test în Castraveți pentru Selenium Automation?

Continuând scenariul caracteristicii de conectare, să creăm un test de probă în Castravete. Acest cod va rula scenariul de conectare descris în secțiunea Caracteristică și va deschide pagina de pornire a site-ului web după introducerea numelui de utilizator și a parolei potrivite.

Cele mai bune practici în testarea castravetelor

Iată câteva dintre cele mai bune practici în testarea castravetelor:

  • Versiunile de borcane Cucumber-java, Cucumber-junit și Cucumber-core ar trebui să fie aceleași pentru o conectivitate perfectă.
  • Adăugarea unui după conectarea la cod pentru capturarea capturilor de ecran atunci când testul eșuează, vă poate ajuta să diagnosticați problema și să o depanați.
  • Utilizați etichete pentru organizarea testelor bazate pe definirea etichetei. Acest lucru ajută în cazurile în care nu trebuie efectuate toate testele de fiecare dată. Astfel de teste pot fi marcate folosind etichete și pot rula numai atunci când este necesar. Acest lucru economisește timp și capacitate de procesare a sistemului și a resurselor.
  • Ca întotdeauna, este important să rulați testele Cucumber Selenium pe browsere și dispozitive reale. BrowserStack oferă o rețea Cloud Selenium de peste 2000 de browsere și dispozitive reale în scopuri de testare – atât live cât și automat. Pur și simplu înscrieți-vă, alegeți combinația necesară dispozitiv-browser-sistem de operare și începeți să testați site-urile web gratuit.

Rulați teste Selenium gratuit

Automatizarea testelor este absolut țineți pasul cu cerințele tot mai mari de livrare mai rapidă și calitate optimă pentru testeri. Cadrul de castraveți din Selenium permite scrierea scenariilor de testare utilizând construcții de limbaj natural care descriu comportamentul așteptat al software-ului pentru un anumit scenariu, făcându-l ideal pentru testarea acceptării utilizatorilor.

În cele din urmă, testarea site-urilor web pe un dispozitiv real cloud este singura modalitate de a asigura exactitatea completă a rezultatelor. Așadar, alegeți întotdeauna testarea reală a dispozitivului pentru a verifica în mod cuprinzător performanța site-ului web, compatibilitatea pe mai multe browsere și calitatea experienței utilizatorului pe care o oferă.

Write a Comment

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *