most popular test automation frameworks with pros
În ultimele câteva tutoriale Selenium, am discutat despre diverse utilizate în mod obișnuit și popular comenzi în WebDriver , gestionarea elementelor web cum ar fi tabele web, cadre și gestionarea excepțiilor în scripturile Selenium.
Am discutat fiecare dintre aceste comenzi cu exemple de fragmente de cod și exemple, astfel încât să vă faceți capabil să utilizați aceste comenzi eficient ori de câte ori vă întâlniți cu situații similare. Printre comenzile pe care le-am discutat în tutorialul anterior, puține dintre ele au cea mai mare importanță.
Pe măsură ce avansăm în seria Selenium, ne-am concentra atenția către Crearea cadrului de automatizare în următoarele câteva tutoriale viitoare. De asemenea, vom face lumină asupra diferitelor aspecte ale unui cadru de automatizare, tipuri de cadre de automatizare, avantajele utilizării unui cadru și componentele de bază care constituie un cadru de automatizare.
Ce veți învăța:
- Ce este Framework?
- Test Automation Framework
- Tipuri de cadru de automatizare a testelor
- # 1) Cadrul de testare bazat pe module
- # 2) Cadrul de testare a arhitecturii bibliotecii
- # 3) Cadrul de testare bazat pe date
- # 4) Cadru de testare bazat pe cuvinte cheie
- # 5) Cadrul de testare hibridă
- # 6) Cadrul de dezvoltare condus de comportament
- Concluzie
- Lectură recomandată
Ce este Framework?
Un cadru este considerat a fi o combinație de protocoale, reguli, standarde și linii directoare setate care pot fi încorporate sau urmate în ansamblu, astfel încât să beneficieze de avantajele schelelor furnizate de cadru.
Să luăm în considerare un scenariu din viața reală.
Folosim foarte des ascensoare sau ascensoare. Există câteva linii directoare, care sunt menționate în lift, care trebuie urmate și luate în considerare pentru a beneficia de beneficiile maxime și de serviciile prelungite din sistem.
Astfel, utilizatorii ar fi putut observa următoarele linii directoare:
- Verificați capacitatea maximă a ascensorului și nu urcați pe ascensor dacă capacitatea maximă a atins.
- Apăsați butonul de alarmă în caz de urgență sau probleme.
- Lăsați pasagerul să coboare din lift, dacă există, înainte de a intra în lift și să stea departe de uși.
- În caz de incendiu în clădire sau dacă există o situație întâmplătoare, evitați utilizarea liftului.
- Nu jucați și nu săriți în interiorul liftului.
- Nu fumați în interiorul liftului.
- Apelați pentru ajutor / asistență dacă ușa nu se deschide sau dacă liftul nu funcționează deloc. Nu încercați să deschideți ușile cu forță.
Pot exista mult mai multe reguli sau seturi de linii directoare. Astfel, dacă sunt respectate aceste linii directoare, sistemul devine mai benefic, accesibil, scalabil și mai puțin deranjat pentru utilizatori.
Acum, în timp ce vorbim despre „Cadrele de automatizare de testare”, să ne concentrăm atenția spre ele.
Test Automation Framework
Un „cadru de testare a automatizării” este schela care este prevăzută pentru a oferi un mediu de execuție pentru scripturile de testare a automatizării. Cadrul oferă utilizatorului diverse avantaje care îi ajută să dezvolte, să execute și să raporteze scripturile de test de automatizare în mod eficient. Este mai degrabă un sistem creat special pentru automatizarea testelor noastre.
Într-un limbaj foarte simplu, putem spune că un cadru este un amestec constructiv de diverse orientări, standarde de codificare, concepte, procese, practici, ierarhii de proiecte, modularitate, mecanism de raportare, injecții de date de testare etc.pentru testarea automatizării pilonului. Astfel, utilizatorul poate urma aceste instrucțiuni în timp ce automatizează aplicația pentru a profita de diferite rezultate productive.
Avantajele pot fi în diferite forme, cum ar fi ușurința scriptării, scalabilitatea, modularitatea, înțelegerea, definirea procesului, reutilizarea, costul, întreținerea etc. Astfel, pentru a putea profita de aceste avantaje, dezvoltatorii sunt sfătuiți să utilizeze unul sau mai multe dintre Test Automation Framework.
Mai mult decât atât, necesitatea unui singur și standard Test Automation Framework apare atunci când aveți o grămadă de dezvoltatori care lucrează la diferitele module ale aceleiași aplicații și când dorim să evităm situațiile în care fiecare dintre dezvoltatori își implementează abordarea în ceea ce privește automatizarea.
Notă : Rețineți că un cadru de testare este întotdeauna independent de aplicație, adică poate fi utilizat cu orice aplicație, indiferent de complicațiile (cum ar fi stiva tehnologică, arhitectura etc.) ale aplicației supuse testului. Cadrul ar trebui să fie scalabil și menținut.
Avantajul cadrului de automatizare a testelor
- Reutilizarea codului
- Acoperire maximă
- Scenariul de recuperare
- Întreținere la preț redus
- Intervenție manuală minimă
- Raportare ușoară
Tipuri de cadru de automatizare a testelor
Acum, că avem o idee de bază despre ceea ce este un cadru de automatizare, în această secțiune vă vom anunța cu diferitele tipuri de cadre de automatizare de testare, care sunt disponibile pe piață. De asemenea, am încerca să aruncăm luminile asupra avantajelor și dezavantajelor și recomandărilor de utilizare.
Există o gamă divergentă de cadre de automatizare disponibile în zilele noastre. Aceste cadre pot diferi unul de celălalt în funcție de suportul lor față de diferiți factori cheie pentru automatizarea, cum ar fi reutilizarea, ușurința întreținerii etc.
care este cel mai bun software de optimizare a computerului
Să discutăm despre cele mai utilizate cadre de automatizare a testelor:
- Cadrul de testare bazat pe module
- Cadrul de testare a arhitecturii bibliotecii
- Cadrul de testare bazat pe date
- Cadru de testare bazat pe cuvinte cheie
- Cadrul de testare hibridă
- Cadrul de dezvoltare condus de comportament
(faceți clic pe imagine pentru a vedea mărit)
Să discutăm fiecare dintre ele în detaliu.
Dar înainte de asta, aș dori să menționez că, în ciuda faptului că are acest cadru, utilizatorul este întotdeauna folosit pentru a-și construi și proiecta propriul cadru care este cel mai potrivit pentru nevoile sale de proiect.
# 1) Cadrul de testare bazat pe module
Cadrul de testare bazat pe module se bazează pe unul dintre conceptele OOP cunoscute în mod popular - Abstracție. Cadrul împarte întreaga „Aplicație sub test” într-o serie de module logice și izolate. Pentru fiecare modul, creăm un script de test separat și independent. Astfel, atunci când aceste script-uri de testare s-au reunit, se construiește un script de testare mai mare, reprezentând mai multe module.
Aceste module sunt separate printr-un strat de abstractizare, astfel încât modificările făcute în secțiunile aplicației să nu producă efecte asupra acestui modul.
Pro:
- Cadrul introduce un nivel ridicat de modularizare, ceea ce duce la o întreținere mai ușoară și mai rentabilă.
- Cadrul este destul de scalabil
- Dacă modificările sunt implementate într-o parte a aplicației, numai scriptul de testare care reprezintă acea parte a aplicației trebuie reparat pentru a lăsa toate celelalte părți neatinse.
Contra:
- În timp ce implementăm scripturi de testare pentru fiecare modul separat, încorporăm datele de testare (date cu care ar trebui să efectuăm testarea) în scripturile de testare. Astfel, ori de câte ori trebuie să testăm cu un set diferit de date de testare, este necesar ca manipulările să fie făcute în scripturile de testare.
# 2) Cadrul de testare a arhitecturii bibliotecii
Cadrul de testare a arhitecturii bibliotecii este construit fundamental și fundamental pe cadrul de testare bazat pe module, cu unele avantaje suplimentare. În loc să împărțim aplicația testată în scripturi de testare, separăm aplicația în funcții sau mai degrabă funcții comune pot fi utilizate și de celelalte părți ale aplicației. Astfel, creăm o bibliotecă comună care constituie funcții comune pentru aplicația testată. Prin urmare, aceste biblioteci pot fi apelate din scripturile de test ori de câte ori este necesar.
Elementul fundamental de bază al cadrului este determinarea pașilor comuni și gruparea lor în funcții sub o bibliotecă și apelarea acelor funcții în scripturile de testare ori de câte ori este necesar.
Exemplu : Pașii de conectare pot fi combinați într-o funcție și păstrați într-o bibliotecă. Astfel, toate scripturile de testare necesare pentru conectarea aplicației pot apela acea funcție în loc să scrie codul din nou.
Pro:
- La fel ca cadrul bazat pe module, acest cadru introduce, de asemenea, nivelul ridicat de modularizare, ceea ce duce la întreținere și scalabilitate mai ușoare și eficiente din punct de vedere al costurilor.
- Pe măsură ce creăm funcții comune care pot fi utilizate în mod eficient de diferitele scripturi de testare din cadrul cadrului. Astfel, cadrul introduce un grad mare de reutilizare.
Contra:
- La fel ca cadrul bazat pe module, datele de testare sunt depuse în scripturile de testare, astfel orice modificare a datelor de testare ar necesita modificări și în scriptul de testare.
- Odată cu introducerea bibliotecilor, cadrul devine puțin complicat.
# 3) Cadrul de testare bazat pe date
În timp ce automatizați sau testați orice aplicație, uneori poate fi necesar să testați aceeași funcționalitate de mai multe ori cu setul diferit de date de intrare. Astfel, în astfel de cazuri, nu putem lăsa datele de test încorporate în scriptul de testare. Prin urmare, se recomandă păstrarea datelor de testare într-o bază de date externă în afara scripturilor de testare.
Data Driven Testing Framework ajută utilizatorul să separe logica scriptului de testare și datele de testare unul de celălalt. Acesta permite utilizatorului să stocheze datele de testare într-o bază de date externă. Bazele de date externe pot fi fișiere de proprietăți, fișiere XML, fișiere Excel, fișiere text, fișiere CSV, depozite ODBC etc. Datele sunt stocate în mod convențional în perechi „cheie-valoare”. Astfel, cheia poate fi utilizată pentru a accesa și a completa datele din scripturile de testare.
Notă : Datele de testare stocate într-un fișier extern pot aparține matricei valorii așteptate, precum și matricii valorilor de intrare.
întrebări și răspunsuri de interviuri cu server SQL pentru pdf cu experiență
Exemplu:
Să înțelegem mecanismul de mai sus cu ajutorul unui exemplu.
Să luăm în considerare funcționalitatea „Gmail - Conectare”.
Pasul 1: Primul și cel mai important pas sunt crearea unui fișier extern care stochează datele de testare (date de intrare și date așteptate). Să luăm în considerare, de exemplu, o foaie Excel.
Pasul 2: Următorul pas este de a completa datele de testare în Script de test de automatizare. În acest scop, mai multe API-uri pot fi utilizate pentru a citi datele de testare.
public void readTD(String TestData, String testcase) throws Exception { TestData=readConfigData(configFileName,'TestData',driver); testcase=readConfigData(configFileName,'testcase',driver); FileInputStream td_filepath = new FileInputStream(TestData); Workbook td_work =Workbook.getWorkbook(td_filepath); Sheet td_sheet = td_work.getSheet(0); if(counter==0) { for (int i = 1,j = 1; i <= td_sheet.getRows()-1; i++){ if(td_sheet.getCell(0,i).getContents().equalsIgnoreCase(testcase)){ startrow = i; arrayList.add(td_sheet.getCell(j,i).getContents()); testdata_value.add(td_sheet.getCell(j+1,i).getContents());}} for (int j = 0, k = startrow +1; k <= td_sheet.getRows()-1; k++){ if (td_sheet.getCell(j,k).getContents()==''){ arrayList.add(td_sheet.getCell(j+1,k).getContents()); testdata_value.add(td_sheet.getCell(j+2,k).getContents());}} } counter++; }
Metoda de mai sus ajută la citirea datelor de testare, iar pasul de testare de mai jos ajută utilizatorul să introducă datele de testare pe GUI.
element.sendKeys (obj_value.get (obj_index));
Pro:
- Cea mai importantă caracteristică a acestui cadru este că reduce considerabil numărul total de scripturi necesare pentru a acoperi toate combinațiile posibile de scenarii de testare. Astfel, este necesară o cantitate mai mică de cod pentru a testa un set complet de scenarii.
- Orice modificare a matricei de date de testare nu ar împiedica codul scriptului de testare.
- Crește flexibilitatea și mentenabilitatea
- Se poate executa un singur scenariu de testare modificând valorile datelor de testare.
Contra:
- Procesul este complex și necesită un efort suplimentar pentru a veni cu sursele de date de testare și mecanismele de citire.
- Necesită cunoștințe într-un limbaj de programare care este utilizat pentru a dezvolta scripturi de testare.
# 4) Cadru de testare bazat pe cuvinte cheie
Cadrul de testare bazat pe cuvinte cheie este o extensie la Cadrul de testare bazat pe date, în sensul că nu numai că separă datele de testare de scripturi, ci păstrează și anumite seturi de cod care aparțin scriptului de testare într-un fișier de date extern.
Acest set de coduri este cunoscut sub numele de Cuvinte cheie și, prin urmare, cadrul este denumit astfel. Cuvintele cheie se auto-ghidează cu privire la acțiunile care trebuie efectuate în aplicație.
Cuvintele cheie și datele de testare sunt stocate într-o structură asemănătoare unui tabel și, prin urmare, sunt considerate, de asemenea, în mod popular ca un cadru bazat pe tabel. Rețineți că cuvintele cheie și datele de testare sunt entități independente de instrumentul de automatizare utilizat.
ExempluCaz de testare a cadrului de testare bazat pe cuvinte cheie
În exemplul de mai sus, cuvintele cheie precum conectare, clic și verificare Link sunt definite în cadrul codului.
În funcție de natura aplicației pot fi derivate cuvinte cheie. Și toate cuvintele cheie pot fi refolosite de mai multe ori într-un singur caz de testare. Coloana Locator conține valoarea de localizare care este utilizată pentru a identifica elementele web de pe ecran sau datele de testare care trebuie furnizate.
Toate cuvintele cheie necesare sunt proiectate și plasate în codul de bază al cadrului.
Pro:
- Pe lângă avantajele oferite de testarea bazată pe date, cadrul bazat pe cuvinte cheie nu necesită ca utilizatorul să dețină cunoștințe de scriptare, spre deosebire de testarea bazată pe date.
- Un singur cuvânt cheie poate fi utilizat pe mai multe scripturi de testare.
Contra:
- Utilizatorul ar trebui să fie bine versat cu mecanismul de creare a cuvintelor cheie pentru a putea beneficia eficient de avantajele oferite de cadru.
- Cadrul se complică treptat pe măsură ce crește și sunt introduse o serie de cuvinte cheie noi.
# 5) Cadrul de testare hibridă
După cum sugerează și numele, cadrul de testare hibridă este o combinație a mai mult de un cadru menționat mai sus. Cel mai bun lucru despre o astfel de configurare este că valorifică beneficiile tuturor tipurilor de cadre asociate.
Exempludin cadrul hibrid
Foaia de test ar conține atât cuvintele cheie, cât și datele.
În exemplul de mai sus, coloana de cuvinte cheie conține toate cuvintele cheie necesare utilizate în cazul special de testare, iar coloana de date conduce toate datele necesare în scenariul de testare. Dacă vreun pas nu are nevoie de nicio intrare, acesta poate fi lăsat gol.
# 6) Cadrul de dezvoltare condus de comportament
Cadrul de dezvoltare condus de comportament permite automatizarea validărilor funcționale într-un format ușor de citit și de înțeles pentru analiștii de afaceri, dezvoltatori, testeri etc. Astfel de cadre nu necesită neapărat ca utilizatorul să fie familiarizat cu limbajul de programare. Există diferite instrumente disponibile pentru BDD, cum ar fi castravete, Jbehave etc. Detalii despre cadrul BDD sunt discutate mai târziu în tutorialul Castravete. De asemenea, am discutat detalii despre limbajul Gherkin pentru a scrie cazuri de test în Castravete.
Componentele cadrului de testare a automatizării
Deși reprezentarea picturală de mai sus a unui cadru se explică de la sine, vom evidenția în continuare câteva puncte.
- Depozit de obiecte : Acronimul depozitului de obiecte ca OR este constituit din setul de tipuri de localizatori asociați cu elemente web.
- Date de testare: Datele de intrare cu care scenariul ar fi testat și pot fi valorile așteptate cu care ar fi comparate rezultatele reale.
- Fișier de configurare / Constante / Setări de mediu : Fișierul stochează informațiile referitoare la adresa URL a aplicației, informații specifice browserului etc. În general, informațiile rămân statice pe întregul cadru.
- Generice / Logici de programe / Cititori : Acestea sunt clasele care stochează funcțiile care pot fi utilizate în mod obișnuit în întregul cadru.
- Construiți instrumente și integrare continuă : Acestea sunt instrumentele care ajută la capacitățile cadrului de a genera rapoarte de testare, notificări prin e-mail și informații de înregistrare.
Concluzie
Cadrele ilustrate mai sus sunt cele mai populare cadre utilizate de fraternitatea de testare. Există, de asemenea, diverse alte cadre în acest loc. Pentru toate tutorialele suplimentare pe care ne-am baza pe Cadrul de testare bazat pe date .
În acest tutorial, am discutat elementele de bază ale unui cadru de automatizare. De asemenea, am discutat despre tipurile de cadre disponibile pe piață.
Următorul tutorial # 21 : În următorul tutorial, am face pe scurt vă prezint cadrul de eșantion, MS Excel, care ar stoca datele de testare, manipulări Excel etc.
Până atunci nu ezitați să vă întrebați întrebările despre cadrele de automatizare.
Lectură recomandată
- 7 factori care afectează estimarea testului proiectului de automatizare Selenium - Tutorial Selenium # 32
- Introducere în Selenium WebDriver - Tutorial Selenium # 8
- Scenarii eficiente cu scripturi și depanare Selenium - Tutorial Selenium # 27
- Depanarea scripturilor Selenium cu jurnale (Tutorial Log4j) - Tutorial Selenium # 26
- 30+ Cele mai bune tutoriale despre seleniu: învățați seleniul cu exemple reale
- Tutoriale detaliate pentru eclipsă pentru începători
- Cum să localizați elemente în browserele Chrome și IE pentru crearea de scripturi Selenium - Tutorial Selenium # 7
- Tutorial Castravete Seleniu: Integrare Castravete Java Seleniu WebDriver