qtp tutorial 7 qtp s object identification paradigm how qtp identify objects uniquely
Cum identifică QTP obiectul în mod unic? - Acesta este al 7-lea Tutorial QTP din seria noastră de instruire QTP.
Ne echipăm cu toate conceptele de bază care ne vor permite să scriem teste QTP robuste . Am acoperit QTP Înregistrați și executați setările , Lucrul cu vizualizarea Cuvinte cheie și celelalte subiecte conexe.
=> Faceți clic aici pentru seria Tutoriale QTP de formare
Acesta este următorul articol din serie care vorbește despre un aspect crucial al QTP - Mecanismul pe care îl folosește pentru a identifica un obiect în mod unic . Când priviți ecranul de mai jos:
Există 3 butoane și 2 casete de text împreună cu diverse alte elemente în acest dialog.
În exemplele anterioare, când am introdus numele de utilizator și parola am văzut cum QTP a înregistrat aceleași operațiuni în ceea ce privește codul programatic, precum și un tabel în vizualizarea cuvintelor cheie. Acum, în timpul redării, cum știe QTP că valoarea pe care o oferim ca Nume agent sau Parolă trebuie să meargă respectiv în acele casete de editare. Sau de unde știe ce buton să facă clic pentru a trimite valorile introduse?
Să încercăm să găsim un răspuns la asta.
caracter c ++ la șir
Este clar că QTP își amintește cumva de ce obiect să acționeze. Modul în care o face, stochează obiectul în AUT ca obiect de testare. Apoi își examinează proprietățile și clasifică obiectul. De exemplu, când întâlnește butonul OK, își examinează proprietățile și, pe baza acestora, clasifică obiectul ca „WinButton”.
QTP are un set predeterminat de proprietăți pe care le învață / stochează pentru fiecare clasă de obiecte pe care le identifică. Există 3 aspecte în acest sens:
- Proprietăți obligatorii : Aceasta este lista de proprietăți pentru o anumită clasă pe care QTP o stochează întotdeauna. Am putea spune că aceasta este descrierea obiectului. De asemenea, verifică acest lucru împreună cu obiectul părinte pentru a vedea dacă descrierea este suficientă pentru a identifica obiectul în mod unic.
- Proprietăți de asistență : În cazul în care descrierea proprietăților obligatorii este insuficientă pentru a identifica obiectul, un set de proprietăți neobligatorii vor fi adăugate la descriere una după alta până când există suficiente date pentru a identifica obiectul.
- Identificator ordinal : Dacă proprietățile de asistență nu au ca rezultat nici o identificare unică a unui obiect, un identificator ordinal special este adăugat de QTP, cum ar fi locația obiectului pe pagină sau în codul sursă.
Deci, așa formează QTP obiecte de testare. Folosește această descriere a obiectului de testare pentru a căuta obiectele asupra cărora să acționeze în timpul unei sesiuni de rulare. Alege obiectele care se potrivesc perfect cu descrierea pe care o conține. Aceste obiecte sunt numite Obiecte Run-Time.
Cu excepția cazului în care aplicația dvs. s-a schimbat semnificativ, descrierea obiectului de testare pe care o are QTP este suficientă pentru a găsi un obiect.
Pentru obiectul WinButton pe care îl avem în aplicația Flight, permiteți-ne să vedem ce proprietăți a stocat QTP. Aceste informații sunt disponibile în Depozitul de obiecte. Opțiunea de meniu „Resurse-> Depozit de obiecte” va lansa OR pentru noi. Alternativ, puteți utiliza CTRL + R sau faceți clic pe pictogramă.
Dacă observați în fereastra de mai sus, acesta a stocat „textul” în WinButton ca descriere pentru a identifica acest buton în timpul rulării.
Pentru aplicații mai complicate, testerul poate adăuga sau elimina anumite proprietăți pentru a face descrierea suficient de robustă pentru a identifica obiectul în timpul rulării mai precis. Pentru a face acest lucru, trebuie doar să faceți clic pe pictograma „+”.
Toate celelalte proprietăți ale obiectului vor fi afișate. Utilizatorul poate alege să adauge una sau mai multe dintre aceste proprietăți.
Există și ceva numit „ Identificator de relație vizuală ”În ecranul SAU pentru proprietățile WinButton.
Aceasta este o caracteristică care acceptă în continuare recunoașterea obiectelor în funcție de obiectele vecine din AUT. Odată setat, acest lucru creează un fel de legătură pentru componentele mai puțin stabile din autovehiculul dvs. cu obiectele care pot fi identificate mai unic. QTP va identifica aceste obiecte atâta timp cât își mențin poziția relativă față de aceste obiecte unice.
Pentru a seta un fel de legătură pozițională va trebui să facem clic pe această coloană din SAU și apare următorul ecran:
În acest ecran, selectați semnul „+” pentru a adăuga un obiect cu care doriți ca obiectul dvs. de testare să aibă un link pozițional.
Voi alege „Nume agent” și voi spune că acest obiect ar trebui să fie deasupra butonului „OK”.
Acesta este modul în care am stabilit că:
Acum, în cazul în care unele proprietăți ale butonului OK se vor schimba în viitor, QTP îl va identifica dacă „Numele agentului” este deasupra acestuia.
Identificare inteligentă
tutorial cu dublă legătură cu lista c ++
Acesta este mecanismul folosit de QTP în una dintre aceste două situații. Descrierea unui obiect pe care QTP îl are:
- Nu se potrivește cu niciun obiect de execuție
- Se potrivește cu mai multe obiecte
Acesta este un concept un pic avansat, așa că vom ajunge la el mai târziu prin câteva exemple pentru o înțelegere ușoară și elaborată.
Identificator ordinal
Aceasta este o valoare numerică care descrie ordinea relativă a obiectului cu obiecte care au o descriere similară. Dacă un obiect 1 și un obiect 2 au aceleași proprietăți obligatorii și de asistență, atunci identificatorul ordinal va fi folosit pentru a recunoaște obiectul în mod unic.
Această valoare este legată de celelalte obiecte ale ecranului, astfel încât în cazul în care se schimbă ceva pe ecran, este posibil ca acest identificator să nu fie util. Trebuie remarcat faptul că, dacă proprietățile obligatorii și de asistență sunt suficiente, atunci un identificator ordinal nu este atribuit înregistrării. Poate fi adăugat ulterior făcând clic pe coloana respectivă pentru obiectul din OR
Există 3 tipuri de identificatori ordinali:
- Index: aceasta se bazează pe ordinea de apariție a unui obiect în codul aplicației
- Locație: pe baza locației dintr-un ecran sau dialog sau pagină
- Timp de creație: Aceasta este utilizată numai pentru obiectele browserului. În cazul în care există 2 browsere cu proprietăți similare, atunci este luat în considerare cel creat prima și următoarea.
De exemplu, permiteți-ne să înțelegem cum funcționează identificatorul „index” în ecranul nostru de conectare la aplicațiile de zbor:
Acestea sunt următoarele componente:
După cum puteți vedea, textul static și casetele de editare au aceeași proprietate „text”.
Dacă știu că unul dintre ele este un text static, iar celălalt este un obiect WinEdit, atunci nu există nicio problemă. Spuneți dacă toate acestea sunt tratate ca WinObject, atunci va trebui să specific pe ce obiect să acționez. Acest lucru se va întâmpla numai atunci când identificarea obligatorie, asistivă și inteligentă a eșuat. Deci, pentru a spune QTP care este ceea ce, voi atribui un identificator ordinal „Index”. Voi face acest lucru din OR.
Voi seta identificatorul de text static al numelui agentului ca 0, iar pentru caseta de editare îl voi seta ca 1.
Așa arată:
Deci, dacă trebuie să accesez textul static, atunci o voi face după cum urmează:
WinObject („text: = Nume agent:”, index: = 0) - Aceasta se va referi la textul static
WinObject („text: = Nume agent:”, index: = 1) - Aceasta se va referi la caseta Edit
Aceeași teorie se aplică și identificatorului de locație, cu excepția faptului că vom alege locația din fereastră pentru a determina valoarea numerică care se aplică unui anumit obiect.
Configurarea proprietăților de identificare a obiectelor:
Proprietățile obligatorii, de asistență și identificatorii ordinali care trebuie luați în considerare pentru un obiect dintr-o anumită clasă care urmează să fie recunoscută pot fi configurați utilizând „Instrumente-> Identificator de obiect”. De asemenea, putem seta proprietățile de identificare inteligentă prin această fereastră.
Fereastra arată după cum urmează:
După cum se poate vedea în această imagine de mai sus, mediul poate fi ales din caseta derulantă. Odată ales acest lucru, clasele de obiecte din mediile corespunzătoare sunt afișate în listă. După selectarea unui obiect, sunt afișate proprietățile obligatorii și de asistență. Utilizatorul poate adăuga / elimina proprietăți suplimentare în această listă.
De asemenea, identificarea inteligentă poate fi activată / dezactivată pentru o anumită clasă de obiecte atunci când este nevoie. Pentru a seta identificatorul ordinal există o listă derulantă care poate fi aleasă pentru a identifica obiectul folosind Locație, Index sau Timp de creație (numai pentru tipul de browser).
Vom încheia conceptele fundamentale înainte de a trece la programe QTP complete. Următorul articol QTP va avea diferite moduri de înregistrare, Object Spy, Object Repository etc.
=> Vizitați aici pentru seria de instruiri QTP de formare
Lectură recomandată
- Depozit de obiecte în QTP - Tutorial # 22
- QTP Tutorial # 18 - Cadrele bazate pe date și hibride explicate cu exemple QTP
- QTP Tutorial # 24 - Utilizarea obiectelor virtuale și scenarii de recuperare în testele QTP
- QTP Tutorial nr. 6 - Înțelegerea setărilor de înregistrare și rulare QTP pentru primul nostru test
- QTP Tutorial # 23 - Identificarea obiectelor inteligente QTP, punctul de sincronizare și analiza rezultatelor testului
- QTP Tutorial # 8 - Aflați despre modurile de înregistrare QTP, Spionarea obiectelor și Depozitele de obiecte
- Parametrizarea în QTP (Partea 2) - Tutorial QTP # 20
- Tutoriale QTP - 25+ Tutoriale de formare Micro Focus Quick Test Professional (QTP)