DescriptProgramare ive în QTP/UFT: dinamică și statică
Ce Este Descriptive programare?
DescriptProgramarea ive este folosită pentru a executa operațiuni pe un obiect din AUT a cărui definiție nu este stocată în depozitul de obiecte. Folosind acest mecanism, puteți ocoli identificarea din depozitul de obiecte și puteți furniza obiectul Description în declarația în sine.
Un nume de obiect este pur și simplu folosit pentru a mapa un obiect în script cu descrierea acestuia într-un depozit de obiecte. Adică, dacă modificați numele obiectului în scriptul și depozitul de obiecte, scriptul ar trebui să ruleze. Urmărește următorul videoclip despre acest concept
Clic aici dacă videoclipul nu este accesibil
Repere video
- Ștergeți obiectul DescriptNume agent Win Edit Box din depozitul de obiecte. Dacă executați din nou testul, acesta va eșua, deoarece nu poate recunoaște obiectul. Să examinăm motivul pentru care scriptul eșuează
- În timpul Run Time, Micro Focus UFT identifică operația care este efectuată pe caseta WinEdit și pe Obiect Description în depozitul de obiecte este stocat ca nume agent. Folosește acest nume pentru a urmări obiectul într-un depozit de obiecte. Pentru un părinte, nu puteți avea două obiecte copil cu același nume. Prin urmare, QTP mapează în mod unic obiectul din depozit. Apoi folosește descrierea stocată în depozitul de obiecte și înlocuiește numele cu descrierea. Apoi utilizează această declarație pentru a identifica obiectul din aplicația testată
- Deoarece în cazul nostru am șters complet această descriere a obiectului, scriptul eșuează
- Dar ce se întâmplă dacă, în loc de QTP să înlocuiască descrierea obiectului, tu, ca tester, specificați direct descrierile obiectului în scriptul dumneavoastră. Acesta nu este altceva decât „Descriptprogramare ive”
Tipuri de Descriptprogramare ive
Poți să folosești Descriptprogramare ive în două moduri
- Static
- Dinamic
Static Descriptprogramare ive
În Metoda statică, pentru identificarea obiectului, specificați proprietatea unui obiect în următorul format
property:=values,
Acest format se numește pereche de valori de proprietate și este cuprins între virgule
Dacă obiectul tău folosește descrieri multiple pentru identificare, le puteți specifica folosind virgule
Deci, în cazul nostru, descrierea pentru Nume agent devine
"nativeclass:=Edit", "attached text:=Agent Name:"
Dinamic Descriptprogramare ive
A doua metodă de a face aceeași acțiune este utilizarea Dynamic Descriptprogramare ive
În cazul în care scriptul dvs. folosește obiectul de programare descriptiv candidat de mai multe ori, va fi foarte obositor să specificați toate perechile de valoare de proprietate pentru fiecare instrucțiune
În astfel de cazuri, puteți utiliza DescriptClasa ionică furnizate de QTP
Sintaxa pentru crearea unui obiect de descriere este
Set MyDescription = Description.Create(); MyDescription("property").Value = "property-value";
Aceasta este Metoda dinamică
De ce folosiți Descriptive programare?
Transcriere video
- Întrebarea de un milion de dolari este de ce să folosiți DP atunci când procesul de identificare a obiectelor este gestionat de QTP
- Să presupunem că sunteți desemnat să testați un portal de locuri de muncă. Introduceți o interogare de căutare în portal și
- testul dvs. se așteaptă să selectați toate joburile disponibile și faceți clic pe aplicați job
- Dar numărul de joburi reflectate va depinde de interogarea de căutare și de joburi disponibile în momentul executării scriptului, dar nu există nicio modalitate de a prezice în avans numărul de joburi care ar fi reflectate
- În astfel de cazuri, puteți utiliza programarea descriptivă. Chiar dacă nu cunoașteți numărul și numele casetelor de selectare, cunoașteți clasa pentru obiecte ca „WebCheckBoxMatei 22:21
- Aveți posibilitatea să utilizați Metoda ChildObject pentru a returna obiecte aparținând unui anumit părinte
- O linie de cod ca -
Set allObjects = Browser("Jobs").Page("QTP").ChildObjects()
- Va returna toate obiectele copil pentru această pagină.
- Dar vrem doar WebCheckBox obiecte. Pentru a face acest lucru, putem crea un obiect de creare a filtrului și setăm proprietatea acestuia ca casetă de validare web și transmitem acest filtru ca argument pentru metoda ChildObjects
- În acest caz, sunt returnate doar casetele de selectare.
- Apoi, puteți scrie un cod ca acesta, care accesează întreaga colecție de casete de selectare începând de la zero și setează toate casetele de selectare ON.
- Apoi, puteți face clic pe butonul de aplicare pentru a finaliza testul
- De asemenea, puteți utiliza Descriptive Programare pentru a rula obiecte care sunt greu de înregistrat, cum ar fi Auto-Hide Panels, Obiecte cu ierarhii în schimbare, Obiecte interioare imbricate, Submeniuri.
- De asemenea, puteți face manipulări avansate de șiruri folosind programarea descriptivă
- În combinație cu proprietatea index, programarea descriptivă ar putea fi foarte utilă în identificarea obiectelor dificile.
- Dacă utilizați descrierea programatică pentru un obiect din ierarhia obiectelor, va trebui să utilizați programarea de descriere pentru obiectele copil ulterioare
- De exemplu, pentru obiectul pagină, a fost folosită programarea descriptivă, dar pentru obiectul copil următor este folosit WinEdit Object Repository, ceea ce este incorect
- Dimpotrivă, aici atât pentru Page cât și pentru WinEdit se folosește programarea descriptivă, ceea ce este corect