Kako funkcionira identifikacija objekata u QTP/UFT?
โก Pametni saลพetak
Identifikacija objekta u QTP/UFT odreฤuje kako alat prepoznaje svaki element grafiฤkog korisniฤkog suฤelja tijekom testnog pokretanja, usporeฤujuฤi pohranjena svojstva testnog objekta s aktivnim svojstvima objekta tijekom izvoฤenja kako bi skripte nastavile raditi ฤak i kada se promijeni raspored zaslona.

ล to je identifikacija objekta u UFT/QTP?
Identifikacija objekta je mehanizam UFT/QTP koristi se za prepoznavanje elementa grafiฤkog korisniฤkog suฤelja na zaslonu kako bi skripta mogla pouzdano reagirati na njega, izvoฤenje za izvoฤenjem. Tijekom sesije snimanja, UFT prouฤava mali skup svojstava objekta ispod pokazivaฤa miลกa i pohranjuje ih; tijekom reprodukcije usporeฤuje te pohranjene vrijednosti sa svojstvima svakog objekta koji je stvarno prisutn i odabire onu koja se jedinstveno podudara, bez obzira na to gdje se taj objekt sada nalazi na zaslonu.
Pohranjeni objekt, zajedno sa svojstvima UFT pamti po tome, zove se Testni objektOdgovarajuฤi element koji postoji na ekranu dok se test izvodi je Run-Time ObjectUsporeฤivanje ta dva u svakom koraku temelj je onoga ลกto Micro Focus naziva Model testnog objekta, i zato je UFT Skripta nastavlja raditi ฤak i nakon ลกto se gumb pomakne za nekoliko piksela ili se stranica restilizira.
Spremiลกte objekata i dodaci
UFT ฤuva svaki nauฤeni testni objekt, zajedno s njegovim pohranjenim svojstvima, unutar Repozitorij objekata. Dodataka reฤi Brzi test unaprijed kojoj tehnologiji zaslon pripada, tako da alat veฤ zna koji se skup svojstava primjenjuje i ne mora nagaฤati, ลกto smanjuje vrijeme potrebno za uฤenje objekta.
Kliknite ovdje ako video nije dostupan
Svaki objekt UFT Zapisi mogu nositi desetke svojstava. Samo u web okruลพenju, jedan gumb moลพe otkriti svoje ime, HTML oznaku, tip, klasu, indeks i joลก mnogo toga. Zapisivanje svih njih za svaki objekt tehniฤki je moguฤe, ali rijetko korisno, kao ลกto prikazuje sljedeฤa slika za tipiฤan unos u spremiลกte objekata.
If UFT pokuลกao zapamtiti svako dostupno svojstvo za svaki objekt, Spremiลกte objekata bi se znatno poveฤalo, a izvrลกavanje skripte bi se znatno usporilo. Kako bi se to izbjeglo, QTP ne sprema svako svojstvo prema zadanim postavkama - sprema mali, tipiฤan skup za svaku vrstu objekta, jedan odabran za izradu jedinstvena identifikacija moguฤe bez dodatnih troลกkova. Ovaj kratki popis svojstava, odreฤen zasebno za svako okruลพenje i klasu objekta, konfiguriran je u postavkama identifikacije objekta, koje su sljedeฤe opisane.
Objekt Description: Obavezna i pomoฤna svojstva
Svojstvo objekta i njegova vrijednost zajedno ฤine ono ลกto UFT poziva Objekt Description โ toฤna kombinacija koju alat koristi za odabir jednog elementa iz svakog drugog objekta na stranici. Za WebButton, na primjer, svojstvo ime s vrijednoลกฤu Login je sam po sebi ฤesto dovoljno da formira upotrebljiv Objekt Description.
Za pregled ili promjenu ovog ponaลกanja, otvorite Alati > Identifikacija objekta u UFTDijalog za identifikaciju objekta navodi sva trenutno uฤitana okruลพenja; odabirom jednog automatski se popunjavaju klase objekata. UFT podrลพava to, a ploฤa s desne strane toฤno prikazuje koja se svojstva pohranjuju za objekte te klase. Popis je podijeljen u dvije skupine:
- Obavezna svojstva se pohranjuju za svaki objekt te klase prema zadanim postavkama, bez obzira jesu li zapravo potrebni za njegovo razlikovanje od susjednih objekata.
- Pomoฤna svojstva pohranjuju se samo kada sama obavezna svojstva ne mogu izgraditi jedinstveni opis โ UFT obraฤuje ovu listu jedno po jedno svojstvo dok objekt ne postane jedinstven.
Web slika olakลกava uoฤavanje pravila u praksi.
- UFT uvijek pohranjuje alternativni tekst, HTML oznaku i vrstu slike za web-sliku, ฤak i kada je sam alternativni tekst veฤ jedinstven.
- Ako obavezna svojstva ne mogu stvoriti jedinstveni opis, UFT dodaje svojstvo klase s pomoฤnog popisa.
- Nakon ลกto opis nekretnine postane jedinstven, UFT zaustavlja dodavanje viลกe โ preskaฤe naziv datoteke i visinu ako je klasa veฤ bila dovoljna, preskaฤe visinu ako je naziv datoteke bio potreban i tako dalje.
- Pretpostavimo da se samo svojstvo klase zapisuje u vrijeme zapisa. Za vrijeme izvoฤenja, UFT viลกe ne razlikuje koja su svojstva bila obavezna, a koja pomoฤna - jednostavno usporeฤuje svako svojstvo u spremljenom opisu s objektom tijekom izvoฤenja.
- Ako se ฤak i jedno pohranjeno svojstvo ne podudara, korak ne uspijeva - jedinstveni opis je binarni, a ne najbolji pokuลกaj podudaranja.
| Aspekt | Obavezna svojstva | Pomoฤna svojstva |
|---|---|---|
| Kada se pohrani | Uvijek, za svaki objekt te klase | Samo kada obavezna svojstva ne mogu formirati jedinstveni opis |
| Konfigurirano u | Dijalog za identifikaciju objekta, Obavezni popis | Dijalog za identifikaciju objekta, Pomoฤni popis |
| Redoslijed koriลกtenja | Nauฤio prvo, bezuvjetno | Dodava se jedan po jedan dok objekt ne postane jedinstven |
| Lijeฤenje tijekom izvoฤenja | U usporedbi s pomoฤnim svojstvima | U usporedbi s obaveznim svojstvima |
Videozapis u nastavku vodi kroz ovaj obvezni naspram pomoฤnog tijeka rada od poฤetka do kraja.
Dijalog za identifikaciju objekta Box i ลกpijun objekata
Dijalog za identifikaciju objekta nije samo preglednik - to je mjesto gdje tester podeลกava koliko agresivno UFT identificira objekte za cijelo okruลพenje. Promjena redoslijeda, dodavanje ili uklanjanje svojstva ovdje mijenja ono ลกto se uฤi za svaki objekt te klase od te toฤke nadalje, ne samo za onaj koji se trenutno snima. Tipiฤan tijek rada izgleda ovako:
- Otvoren UFT i otiฤi Alati > Identifikacija objekta.
- Odaberite okruลพenje (web, Windows, Java, i tako dalje) iz padajuฤeg izbornika.
- Odaberite klasu objekta, kao ลกto je WebButton ili WinEdit, s popisa s lijeve strane.
- Premjeลกtanje svojstava izmeฤu popisa Obavezno i โโPomoฤno ili promjena redoslijeda popisa Pomoฤno kako biste kontrolirali koje svojstvo UFT pokuลกava prvi.
- Omoguฤite ili onemoguฤite pametnu identifikaciju za tu klasu pomoฤu potvrdnog okvira na vrhu ploฤe.
Promjene napravljene ovdje primijenit ฤe se sljedeฤi put UFT uฤi objekt te klase โ unosi koji su veฤ spremljeni u repozitoriju objekata zadrลพavaju svoj izvorni opis dok se objekt ponovno ne snimi ili ruฤno aลพurira.
Koriลกtenje Object Spyja za pregled svojstava
Prije ureฤivanja obaveznog ili pomoฤnog popisa, veฤina testera provjerava kako svojstva objekta zapravo izgledaju s Predmetni ลกpijunPostavljanjem ลกpijunskog kursora na bilo koju kontrolu u testiranoj aplikaciji, jedno pored drugog prikazuju se svojstva testnog objekta i svojstva za vrijeme izvoฤenja, zajedno s metodama. UFT moลพe ga pozvati - korisno kada se obavezno svojstvo stalno mijenja izmeฤu verzija i potrebno ga je zamijeniti stabilnijim.
Ordinalni identifikatori: indeks, lokacija i vrijeme stvaranja
Ponekad ฤak i svako obavezno i โโpomoฤno svojstvo i dalje ostavlja dva ili viลกe objekata identiฤnima - na primjer, tri potvrdna okvira s istim nazivom, klasom i oznakom. Upravo za ovu situaciju UFT vraฤa se na ordinalni identifikator, sigurnosna vrijednost koja rangira inaฤe identiฤne objekte prema njihovoj poziciji umjesto prema njihovim svojstvima.
| Redni identifikator | Svojstvo | Narudลพba dodijeljena | Odnosi se na |
|---|---|---|---|
| indeks | indeks | Redoslijed pojavljivanja objekta u izvornom kodu, poฤevลกi od 0 | Bilo koja klasa objekta |
| Lokacija | Lokacija | Od vrha prema dnu, zatim s lijeva na desno na zaslonu, poฤevลกi od 0 | Bilo koja klasa objekta |
| Vrijeme stvaranja | Vrijeme stvaranja | Redoslijed otvaranja prozora preglednika, poฤevลกi od 0 | Samo objekti preglednika |
UFT uฤi ordinalni identifikator samo kada obavezna i pomoฤna svojstva zaista ne mogu razdvojiti dva objekta, jer je vrijednost relativna i moลพe se pomaknuti ako se promijeni izgled stranice iako se sam objekt nije promijenio. VBScript isjeฤak u nastavku koristi Index za klik na drugu od dvije identiฤno imenovane poveznice.
Dim objBrowser, objPage Set objBrowser = Browser("title:=Guru99 Bank") Set objPage = objBrowser.Page("title:=Guru99 Bank") ' Index:=1 clicks the second Link named "Manage Order" (index starts at 0) objPage.Link("name:=Manage Order", "index:=1").Click
Vrijednosti indeksa i lokacije specifiฤne su za klasu objekta navedenu u izrazu, stoga Indeks:=3 Na WebEditu pretraลพuje samo meฤu WebEdit objektima, dok se ista vrijednost na generiฤkom WebElementu raฤuna na svaki web objekt na stranici bez obzira na vrstu.
Gdje se pametna identifikacija uklapa
Identifikacija objekta u UFT ne zaustavlja se na nauฤenom opisu. Kada se ne moลพe pronaฤi jedinstveno podudaranje, UFT prolazi kroz proces fiksnim redoslijedom: prvo provjerava nauฤena obavezna i pomoฤna svojstva, zatim bilo koji vizualni identifikator relacije, pa Pametna identifikacija ako je taj mehanizam omoguฤen za klasu, i samo kao krajnje rjeลกenje ordinalni identifikator.
Pametna identifikacija namjerno se nalazi izmeฤu nauฤenog opisa i ordinalnog identifikatora. Obnavlja popis kandidata koristeฤi osnovna svojstva klase i suลพava ga s opcionalnim, tako da ฤesto moลพe oporaviti objekt ฤiji je nauฤeni opis pokvaren - na primjer, preimenovani gumb - bez dodirivanja repozitorija objekata. Buduฤi da taj dodatni korak pretraลพivanja koลกta vremena, veฤina timova ga omoguฤuje za klase osjetljive na identifikaciju i oslanja se na ordinalne identifikatore samo tamo gdje je poloลพaj zaista jedini preostali diferencijator, poput banke neoznaฤenih radio gumba.


