Tutorial QTP #18 – cadre bazate pe date și hibride explicate cu exemple QTP
lucrăm prin a afla cum să obținem un cadru de automatizare care funcționează cel mai bine pentru un anumit proiect de testare și, de asemenea, definind anumite cadre care există deja.
exemplul pe care l-am folosit în articolul precedent QTP framework a fost crearea unui nou cont Gmail.
pentru început, am codat crearea unui nou scenariu de cont doar prin înregistrare și redare într-un mod liniar. Văzând cât de mult îi lipsea modularitatea, lizibilitatea și reutilizarea, l-am împărțit în funcții la care s-ar face referire ca cuvinte cheie care avansează.
=> Click aici pentru seria de tutoriale de formare QTP
am realizat modularitate, lizibilitate și reutilizare prin această metodă, dar a trebuit să facem programul și mai robust, astfel încât să poată lua diferite seturi de valori fără a fi nevoie să modificăm scriptul în sine.
exact asta vom realiza prin date care conduc testele.
cadru de automatizare bazat pe date folosind QTP
crearea mai multor conturi de utilizator Google este o sarcină pe care vom încerca să o realizăm folosind acest cadru.
în exemplul anterior, am codat pe hard numele, prenumele, detaliile id-ului de utilizator etc. în codul nostru în timp ce încercați să creați un cont. Va trebui să separăm codul de date dacă trebuie să realizăm aspectul de conducere a datelor pentru acest script.
datele ar trebui să provină dintr-o sursă care nu este programul în sine.
de obicei, introducerea datelor poate fi orice:
- fișiere MS Excel
- bază de date
- fișiere Text
- fișiere XML….etc.
fișierele Excel sunt cele care se folosesc cel mai des. Simplul fapt că fiecare acțiune din QTP vine integrată cu o foaie de date proprie explică de ce este așa.
puteți utiliza una sau mai multe surse de date pentru un singur script. Foaia excel care vine cu acțiunea poate fi utilizată sau puteți utiliza și o foaie excel externă. Practic, o foaie de date poate fi orice fișier extern relevant.
de exemplu,
aici este codul de care avem nevoie pentru a conduce date:
Browser("Gmail: Email from Google").Page("GoogleAccounts").WebEdit("FirstName").Set "swati"Browser("Gmail: Email from Google").Page("Google Accounts").WebEdit("LastName").Set "s"Browser("Gmail: Email from Google").Page("Google Accounts").WebEdit("GmailAddress").Set "test"
toate datele sunt acum codificate. Să vedem acum cum putem lua aceste valori din fișa tehnică.
accesați vizualizarea expert pentru instrucțiunea din QTP și faceți clic pe coloana valoare pentru un pas.
se deschide următoarea fereastră:
selectați opțiunea parametru, alegeți un nume pentru parametru (acesta va fi numele coloanei din foaia de date) și alegeți dacă veți utiliza foaia globală sau foaia locală (foaia globală este disponibilă pentru toate acțiunile dintr-un test, dar foaia locală este specifică acțiunii curente).
pentru câmpul „Nume” de pe ecran, QTP oferă o valoare implicită. Utilizatorul are opțiunea de a-l păstra la fel sau de a-l schimba.
la clic pe OK, se creează o nouă coloană în tabelul de date.
acesta este modul în care arată foaia de date care conține 3 seturi de prenume, prenume și ID de cont:
odată parametrizat, codul arată așa cum se arată mai jos:
Browser("Gmail: Email from Google").Page("Google Accounts").WebEdit("FirstName").Set DataTable("G_First_Name", dtGlobalSheet)Browser("Gmail: Email from Google").Page("Google Accounts").WebEdit("LastName").Set DataTable("G_Last_Name", dtGlobalSheet)Browser("Gmail: Email from Google").Page("Google Accounts").WebEdit("GmailAddress").Set DataTable("gmail_address", dtGlobalSheet)
dacă trebuie să creăm aceste 3 ID-uri de utilizator cu datele din foaie, trebuie să avem 3 iterații. Iterația nu este altceva decât un test.
odată ce datele sunt configurate, va trebui să instruim QTP de câte ori trebuie să ruleze acest cod sau de câte iterații.
Iată cum o facem: accesați File – > Setări și rulați
în ecranul de mai sus, setați proprietățile de iterație după cum este necesar.
alternativ, puteți instrui QTP despre iterații programatic. Ca întotdeauna, acest lucru permite mai mult control, precum și abilități de programare. Deci, este într-adevăr până la nivelul de confort al testerului să aleagă oricare dintre aceste metode.
componentele cadrului bazat pe date sunt:
- script de testare
- fișiere de date
- bibliotecă funcțională Partajată (dacă există sau ar putea fi un program liniar).
- depozit de obiecte (din nou, această componentă nu va exista dacă programarea descriptivă a fost utilizată pentru a crea obiecte).
rezultatele testului vor afișa o stare „trecut” sau „eșuat” pentru fiecare încercare.
în afară de tabelul de date care vine în mod implicit, putem folosi orice fișier excel extern ca foaie de intrare.
Hybrid Framework
în exemplul de mai sus, ați folosit cuvinte cheie (nume ale funcțiilor pe care le-a creat utilizatorul) și ați testat datele pentru a vă asigura că diferiți utilizatori sunt creați în același timp. Acesta nu este altceva decât un cadru hibrid.
combinația dintre oricare două sau mai multe cadre pe care le-am discutat până acum este un cadru hibrid. Din experiența mea, niciun cadru nu funcționează eficient pentru un anumit proiect. Cadrul hibrid este ceea ce se folosește cel mai des.
câteva puncte importante despre cadre:
- cadrul este doar o soluție care a funcționat cel mai bine într-o anumită situație, dar nu ar trebui interpretată ca un set de reguli care trebuie respectate cu siguranță. Ar trebui să fie văzută mai mult ca linii directoare.
- s-ar putea să existe multe alte cadre în uz, le-am enumerat și explicat doar pe cele comune.
- nomenclatură – diferite persoane se adresează cadrelor lor cu nume diferite. Deci, dacă numele sunt ușor diferite de la o aplicație la alta, atunci este normal.
- cele mai multe cadre pot fi utilizate împreună cu un altul atunci când oricare dintre ele nu poate oferi o soluție all-around pentru obiectivele de testare.
concluzie
de dragul înțelegerii ușoare, am simplificat cu adevărat conceptele cadrului aici.
dacă aveți probleme legate de cadru cu care vă confruntați, dar care nu sunt acoperite în aceste articole, atunci anunțați-ne. Cu siguranță vom încerca să răspundem la întrebările dvs. Simțiți-vă liber să postați întrebările.
=> vizitați aici pentru seria de tutoriale de instruire QTP
Ultima actualizare: 29 noiembrie 2021