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.

  • ๐ŸŽฏ Model testnog objekta: UFT usporeฤ‘uje pohranjeni testni objekt s aktivnim objektom za izvoฤ‘enje u svakom koraku kako bi identificirao kontrole neovisno o poloลพaju zaslona.
  • ๐Ÿ—‚๏ธ Obavezna svojstva: UFT uvijek zapisuje zadani skup svojstava za svaku klasu objekta unutar repozitorija objekata.
  • ๐Ÿงฉ Pomoฤ‡na svojstva: UFT dodaje sigurnosna svojstva jedno po jedno samo kada sam obvezni skup ne moลพe izgraditi jedinstveni opis.
  • ๏ธ Dijalog za identifikaciju objekta: Alati > Identifikacija objekta omoguฤ‡uje testerima dodavanje, uklanjanje ili promjenu redoslijeda svojstava prema okruลพenju i klasi objekta.
  • ๐Ÿ•ต๏ธ ล pijun objekta: Zadrลพite pokazivaฤ miลกa iznad bilo koje kontrole kako biste pregledali njezina svojstva testnog objekta i vremena izvoฤ‘enja prije nego ลกto odluฤite na koja se osloniti.
  • ๐Ÿ”ข Ordinalni identifikatori: Indeks, lokacija i vrijeme stvaranja prekidaju veze izmeฤ‘u objekata koji ostaju identiฤni nakon svake provjere svojstva.
  • ๐Ÿง  Pametna identifikacija: Ovaj rezervni mehanizam se izvrลกava prije ordinalnih identifikatora i ฤesto oporavlja objekt ฤiji je nauฤeni opis pokvaren.

ล 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.

Repozitorij 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:

  1. Obavezna svojstva se pohranjuju za svaki objekt te klase prema zadanim postavkama, bez obzira jesu li zapravo potrebni za njegovo razlikovanje od susjednih objekata.
  2. 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.

Objekt Description, obvezna i pomoฤ‡na svojstva

  • 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:

  1. Otvoren UFT i otiฤ‡i Alati > Identifikacija objekta.
  2. Odaberite okruลพenje (web, Windows, Java, i tako dalje) iz padajuฤ‡eg izbornika.
  3. Odaberite klasu objekta, kao ลกto je WebButton ili WinEdit, s popisa s lijeve strane.
  4. 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.
  5. 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.

Pitanja i odgovori

Spremiลกte objekata pohranjuje svaki nauฤeni testni objekt i njegova spremljena svojstva. Postavke identifikacije objekta, otvorene iz Alata > Identifikacija objekta, kontroliraju koja svojstva UFT zapise u to spremiลกte za svaku klasu objekta na prvom mjestu.

UFT radi putem vizualnih identifikatora relacija, pametne identifikacije i konaฤno ordinalnog identifikatora. Ako nijedan od njih ne proizvede niti jedno podudaranje, korak se pogrijeลกio tijekom izvoฤ‘enja jer nijedan objekt ne zadovoljava svako pohranjeno svojstvo.

Biljeลพenje svakog dostupnog svojstva preopteretilo bi repozitorij objekata i usporilo izvrลกavanje skripti. UFT umjesto toga sprema mali, tipiฤan skup po klasi objekta, dodajuฤ‡i pomoฤ‡na svojstva samo kada obavezna ne mogu formirati jedinstveni opis.

Da. Alati potpomognuti umjetnom inteligencijom mogu pregledati produkcijski promet ili DOM strukturu kako bi predloลพili stabilnija, manje krhka svojstva prije snimanja i mogu oznaฤiti objekte ฤija se obavezna svojstva ฤesto mijenjaju izmeฤ‘u verzija - testeri i dalje provjeravaju prijedloge.

Ne u potpunosti. Samoobnavljajuฤ‡i lokatori smanjuju greลกke uzrokovane preimenovanim ili premjeลกtenim elementima, ali ordinalni identifikatori i dalje razrjeลกavaju objekte koji su doista identiฤni u svakom svojstvu, poput nekoliko neoznaฤenih potvrdnih okvira zaredom.

Saลพmite ovu objavu uz: