Miten objektin tunnistus toimii QTP/UFT?

โšก ร„lykรคs yhteenveto

Objektin tunnistus QTP/UFT mรครคrittรครค, miten tyรถkalu tunnistaa jokaisen graafisen kรคyttรถliittymรคn elementin testiajon aikana, vertaamalla tallennettuja testiobjektin ominaisuuksia reaaliaikaisiin ajonaikaisen objektin ominaisuuksiin, jotta skriptit toimivat edelleen, vaikka nรคytรถn asettelu muuttuisi.

  • ๐ŸŽฏ Testiobjektin malli: UFT vertaa tallennettua testiobjektia reaaliaikaiseen ajonaikaiseen objektiin jokaisessa vaiheessa tunnistaakseen ohjausobjektit nรคytรถn sijainnista riippumatta.
  • ๐Ÿ—‚๏ธ Pakolliset ominaisuudet: UFT tallentaa aina oletusarvoisen ominaisuusjoukon kullekin objektiluokalle objektitietovaraston sisรคllรค.
  • ๐Ÿงฉ Avustavat ominaisuudet: UFT lisรครค varmuuskopio-ominaisuuksia yksi kerrallaan vain, kun pakollinen joukko yksinรครคn ei pysty muodostamaan yksilรถllistรค kuvausta.
  • โš™๏ธ Objektin tunnistus -valintaikkuna: Tyรถkalut > Objektin tunnistus -kohdassa testaajat voivat lisรคtรค, poistaa tai jรคrjestรครค ominaisuuksia uudelleen ympรคristรถn ja objektiluokan mukaan.
  • ๐Ÿ•ต๏ธ Objektivakooja: Vie hiiri minkรค tahansa ohjausobjektin pรครคlle tarkistaaksesi sen testiobjektin ja suorituksenaikaiset ominaisuudet ennen kuin pรครคtรคt, mihin niistรค luotat.
  • ๐Ÿ”ข Jรคrjestysnumerotunnisteet: Indeksi, sijainti ja luontiaika katkaisevat siteet objektien vรคlillรค, jotka pysyvรคt identtisinรค jokaisen ominaisuustarkistuksen jรคlkeen.
  • ๐Ÿง  ร„lykรคs tunnistus: Tรคmรค varamekanismi toimii ennen jรคrjestyslukutunnisteita ja palauttaa usein objektin, jonka opittu kuvaus on rikki.

Mitรค on objektin tunnistus? UFT/QTP?

Objektin tunnistaminen on mekanismi UFT/QTP kรคyttรครค nรคytรถllรค olevan graafisen kรคyttรถliittymรคn elementin tunnistamiseen, jotta komentosarja voi toimia sen perusteella luotettavasti suorituksen jรคlkeen. Tallennusistunnon aikana UFT tutkii pienen joukon ominaisuuksia hiiren osoittimen alla olevasta objektista ja tallentaa ne; toiston aikana se vertaa nรคitรค tallennettuja arvoja jokaisen todellisuudessa lรคsnรค olevan objektin ominaisuuksiin ja valitsee sen, joka vastaa yksikรคsitteisesti riippumatta siitรค, missรค objekti tรคllรค hetkellรค sijaitsee nรคytรถllรค.

Tallennettu objekti ominaisuuksineen UFT muistaa sen, sitรค kutsutaan Testaa objektiVastaava elementti, joka nรคkyy nรคytรถllรค testin suorittamisen aikana, on Ajonaikainen objektiNรคiden kahden vertailu jokaisessa vaiheessa on perusta sille, mitรค Micro Focus kutsuu Testiobjektimalli, ja siksi a UFT Skripti toimii edelleen, vaikka painike liikkuisi muutaman pikselin tai sivun tyyliรค muutettaisiin.

Objektitietovarasto ja lisรคosat

UFT pitรครค jokaisen opitun testiobjektin ja sen tallennetut ominaisuudet sisรคllรครคn Objektivarasto. Apuohjelmia kertoa Pikatesti etukรคteen, mihin teknologiaan nรคyttรถ kuuluu, jotta tyรถkalu tietรครค jo, mikรค ominaisuusjoukko on voimassa, eikรค sen tarvitse arvailla, mikรค lyhentรครค objektin oppimiseen kuluvaa aikaa.

Napauta tรครคltรค jos video ei ole saatavilla

Jokainen esine UFT tietueissa voi olla kymmeniรค ominaisuuksia. Pelkรคstรครคn verkkoympรคristรถssรค yksi painike voi nรคyttรครค sen nimen, HTML-tunnisteen, tyypin, luokan, indeksin ja paljon muuta. Kaikkien nรคiden tallentaminen jokaiselle objektille on teknisesti mahdollista, mutta harvoin hyรถdyllistรค, kuten seuraava kuva osoittaa tyypillisestรค Object Repository -merkinnรคstรค.

Objektivarasto

If UFT yritti muistaa jokaisen objektin kaikki kรคytettรคvissรค olevat ominaisuudet, objektisรคilรถn koko kasvoi ja komentosarjan suoritus hidastui huomattavasti. Tรคmรคn vรคlttรคmiseksi QTP ei tallenna kaikkia ominaisuuksia oletusarvoisesti โ€“ se tallentaa pienen, tyypillisen joukon kullekin objektityypille, yhden valitun joukon yksilรถllinen tunniste mahdollista ilman lisรคkustannuksia. Tรคmรค ominaisuuksien lyhyt luettelo, joka pรครคtetรครคn erikseen kullekin ympรคristรถlle ja objektiluokalle, mรครคritetรครคn objektin tunnistusasetuksissa, joita kรคsitellรครคn seuraavaksi.

objekti Description: Pakolliset ja avustavat ominaisuudet

Kohteen ominaisuus ja sen arvo yhdessรค muodostavat sen, mitรค UFT kutsuu objekti Descriptioni โ€” tarkka yhdistelmรค, jota tyรถkalu kรคyttรครค yhden elementin valitsemiseen sivun jokaisesta muusta objektista. Esimerkiksi WebButton-painikkeelle ominaisuus nimi arvon kanssa Kirjaudu on usein itsessรครคn riittรคvรค muodostamaan kรคyttรถkelpoisen objektin Descriptioni.

Voit tarkastella tai muuttaa tรคtรค toimintaa avaamalla Tyรถkalut > Objektin tunnistus sisรคllรค UFTObjektin tunnistus -valintaikkunassa luetellaan kaikki ladatut ympรคristรถt; yhden valitseminen tรคyttรครค objektiluokat automaattisesti. UFT tukee sitรค, ja oikealla oleva paneeli nรคyttรครค tarkalleen, mitkรค ominaisuudet kyseisen luokan objekteille tallennetaan. Lista on jaettu kahteen ryhmรครคn:

  1. Pakolliset ominaisuudet tallennetaan oletusarvoisesti jokaiselle kyseisen luokan objektille riippumatta siitรค, tarvitaanko niitรค sen erottamiseksi naapureistaan.
  2. Apuominaisuudet tallennetaan vain silloin, kun pakolliset ominaisuudet yksinรครคn eivรคt pysty muodostamaan yksilรถllistรค kuvausta โ€” UFT kรคy tรคtรค listaa alaspรคin yksi ominaisuus kerrallaan, kunnes objektista tulee yksilรถllinen.

Verkkokuvan avulla sรครคntรถ on helpompi nรคhdรค kรคytรคnnรถssรค.

objekti Descriptioni, pakolliset ja apuominaisuudet

  • UFT tallentaa aina verkkokuvan alt-tekstin, HTML-tunnisteen ja kuvatyypin, vaikka pelkkรค alt-teksti olisi jo yksilรถllinen.
  • Jos pakolliset ominaisuudet eivรคt voi luoda yksilรถllistรค kuvausta, UFT lisรครค luokan ominaisuuden apuluettelosta.
  • Kun ominaisuus tekee kuvauksesta ainutlaatuisen, UFT lopettaa uusien arvojen lisรครคmisen โ€” se ohittaa tiedostonimen ja korkeuden, jos luokkaa oli jo riittรคvรคsti, ohittaa korkeuden, jos tiedostonimeรค tarvittiin, ja niin edelleen.
  • Oletetaan, ettรค vain luokan ominaisuus tallennetaan tallennushetkellรค. Suorituksen aikana UFT ei enรครค erottele, mitkรค ominaisuudet olivat pakollisia ja mitkรค avustavia โ€“ se yksinkertaisesti vertaa jokaista tallennetun kuvauksen ominaisuutta suorituksenaikaiseen objektiin.
  • Jos yksikin tallennettu ominaisuus ei tรคsmรครค, vaihe epรคonnistuu โ€“ yksilรถllinen kuvaus on binรครคrinen, ei paras mahdollinen osuma.
Aspect Pakolliset ominaisuudet Avustavat ominaisuudet
Sรคilytettรคessรค Aina, jokaiselle kyseisen luokan objektille Vain silloin, kun pakolliset ominaisuudet eivรคt voi muodostaa yksilรถllistรค kuvausta
Mรครคritetty Objektin tunnistus -valintaikkuna, pakollinen luettelo Objektin tunnistusvalintaikkuna, avustava luettelo
Kรคyttรถjรคrjestys Opi ensin, ehdoitta Lisรคtรครคn yksi kerrallaan, kunnes objekti on ainutlaatuinen
Suoritusaikainen kรคsittely Verrattuna samoihin kuin avustaviin ominaisuuksiin Verrattuna samoihin kuin pakolliset ominaisuudet

Alla oleva video kรคy lรคpi tรคmรคn pakollisen ja avustavan tyรถnkulun alusta loppuun.

Objektin tunnistusikkuna Box ja Object Spy

Objektin tunnistus -valintaikkuna ei ole vain katseluikkuna โ€“ se on paikka, jossa testaaja sรครคtรครค kuinka aggressiivisesti UFT tunnistaa koko ympรคristรถn objektit. Ominaisuuden jรคrjestรคminen uudelleen, lisรครคminen tai poistaminen tรคssรค muuttaa sitรค, mitรค kyseisen luokan jokaiselle objektille opitaan kyseisestรค pisteestรค eteenpรคin, ei vain parhaillaan tallennettavalle objektille. Tyypillinen tyรถnkulku nรคyttรครค tรคltรค:

  1. avoin UFT ja mene Tyรถkalut > Objektin tunnistus.
  2. Valitse ympรคristรถ (verkko, Windows, Javaja niin edelleen) avattavasta valikosta.
  3. Valitse vasemmalla olevasta luettelosta objektiluokka, kuten WebButton tai WinEdit.
  4. Siirrรค ominaisuuksia pakollisten ja avustavien luetteloiden vรคlillรค tai jรคrjestele avustava luettelo uudelleen hallitaksesi, mitรค ominaisuutta UFT yrittรครค ensin.
  5. Ota รคlykรคs tunnistus kรคyttรถรถn tai poista se kรคytรถstรค kyseisessรค luokassa paneelin ylรคreunassa olevalla valintaruudulla.

Tรคssรค tehdyt muutokset tulevat voimaan seuraavalla kerralla UFT oppii kyseisen luokan objektin โ€” Objektitietovarastoon jo tallennetut merkinnรคt sรคilyttรคvรคt alkuperรคisen kuvauksensa, kunnes objekti tallennetaan uudelleen tai pรคivitetรครคn manuaalisesti.

Object Spy -tyรถkalun kรคyttรถ ominaisuuksien tarkastamiseen

Ennen pakollisen tai avustavan luettelon muokkaamista useimmat testaajat tarkistavat, miltรค objektin ominaisuudet todellisuudessa nรคyttรคvรคt Object SpyKun vakoilukohdistin osoittaa mihin tahansa testattavan sovelluksen ohjausobjektiin, sekรค sen testiobjektin ettรค ajonaikaiset ominaisuudet luetellaan rinnakkain sekรค metodit. UFT voi kutsua sitรค โ€” hyรถdyllinen, kun pakollinen ominaisuus muuttuu jatkuvasti koontiversioiden vรคlillรค ja se on vaihdettava vakaampaan ominaisuus.

Jรคrjestysnumerotunnisteet: indeksi, sijainti ja luontiaika

Joskus jopa jokainen pakollinen ja avustava ominaisuus jรคttรครค kaksi tai useampia objekteja nรคyttรคmรครคn identtisiltรค โ€“ esimerkiksi kolme valintaruutua, joilla on sama nimi, luokka ja otsikko. Juuri tรคssรค tilanteessa UFT putoaa takaisin johonkin jรคrjestysnumero, vara-arvo, joka luokittelee muuten identtiset objektit niiden sijainnin eikรค ominaisuuksien perusteella.

Ordinaal Identifier Omaisuus Tilaus mรครคritetty Pรคtee
indeksi indeksi Jรคrjestรค objekti lรคhdekoodissa alkaen nollasta Mikรค tahansa objektiluokka
Sijainti Sijainti Ylhรครคltรค alas, sitten vasemmalta oikealle nรคytรถllรค, alkaen kohdasta 0 Mikรค tahansa objektiluokka
Luomisaika Luomisaika Jรคrjestys, jossa selainikkuna avattiin, alkaen nollasta Vain selainobjektit

UFT oppii jรคrjestysnumerotunnisteen vain, kun pakolliset ja avustavat ominaisuudet eivรคt todellakaan pysty erottamaan kahta objektia, koska arvo on suhteellinen ja voi muuttua, jos sivun asettelu muuttuu, vaikka itse objekti ei muuttuisi. Alla oleva VBScript-koodinpรคtkรค kรคyttรครค Index-funktiota napsauttaakseen toista kahdesta identtisesti nimetystรค linkistรค.

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

Indeksi- ja sijaintiarvot ovat lausekkeessa nimetylle objektiluokalle ominaisia, joten Indeksi:=3 WebEdit-elementissรค haku koskee vain WebEdit-objekteja, kun taas sama arvo yleisessรค WebElement-elementissรค lasketaan kaikkiin sivun verkko-objekteihin tyypistรค riippumatta.

Missรค รคlykรคs tunnistaminen sopii

Objektin tunnistus UFT ei pysรคhdy opittuun kuvaukseen. Kun ainutlaatuista osumaa ei lรถydy, UFT kรคy prosessin lรคpi kiinteรคssรค jรคrjestyksessรค: se ensin tarkistaa opitut pakolliset ja avustavat ominaisuudet, sitten mahdolliset visuaaliset relaatiotunnisteet ja lopuksi ร„lykรคs tunnistus jos kyseinen mekanismi on kรคytรถssรค luokalle, ja vain viimeisenรค keinona jรคrjestyslukutunnistetta.

ร„lykรคs tunnistus (Smart Identification) sijoittuu tarkoituksella opitun kuvauksen ja jรคrjestysnumerotunnisteen vรคliin. Se rakentaa ehdokaslistan uudelleen luokan ydinominaisuuksien avulla ja rajaa sitรค valinnaisilla ominaisuuksilla, joten se voi usein palauttaa objektin, jonka opittu kuvaus on rikki โ€“ esimerkiksi uudelleennimetyn painikkeen โ€“ koskematta koskaan objektitietovarastoon. Koska tรคmรค ylimรครคrรคinen hakuvaihe vie aikaa, useimmat tiimit ottavat sen kรคyttรถรถn tunnistusherkille luokille ja nojaavat jรคrjestysnumerotunnisteisiin vain silloin, kun sijainti on todella ainoa jรคljellรค oleva erottava tekijรค, kuten nimeรคmรคttรถmien radiopainikkeiden pankissa.

UKK

Objektitietovarasto tallentaa jokaisen opitun testiobjektin ja sen tallennetut ominaisuudet. Objektin tunnistusasetukset, jotka avataan kohdasta Tyรถkalut > Objektin tunnistus, hallitsevat ominaisuuksia. UFT tietueet kyseiseen tietovarastoon ensisijaisesti kullekin objektiluokalle.

UFT toimii visuaalisten relaatiotunnisteiden, รคlykkรครคn tunnistuksen ja lopuksi jรคrjestysnumerotunnisteen avulla. Jos mikรครคn nรคistรค ei tuota yhtรคkรครคn osumaa, vaihe epรคonnistuu suorituksen aikana, koska mikรครคn objekti ei tรคytรค kaikkia tallennettuja ominaisuuksia.

Kaikkien kรคytettรคvissรค olevien ominaisuuksien tallentaminen paisuttaisi Object Repositorya ja hidastaisi komentosarjojen suoritusta. UFT tallentaa pienen, tyypillisen joukon objektiluokkaa kohden ja lisรครค avustavia ominaisuuksia vain silloin, kun pakolliset ominaisuudet eivรคt pysty muodostamaan yksilรถllistรค kuvausta.

Kyllรค. Tekoรคlyllรค varustetut tyรถkalut voivat tarkastella tuotantoliikennettรค tai DOM-rakennetta ja ehdottaa vakaampia ja vรคhemmรคn hauraita ominaisuuksia ennen tallennusta. Ne voivat myรถs merkitรค objekteja, joiden pakolliset ominaisuudet muuttuvat usein koontiversioiden vรคlillรค โ€“ testaajat tarkistavat silti ehdotukset.

Ei tรคysin. Itsekorjaavat paikantimet vรคhentรคvรคt uudelleennimettyjen tai siirrettyjen elementtien aiheuttamia virheitรค, mutta jรคrjestysnumerotunnisteet ratkaisevat silti objekteja, jotka ovat aidosti identtisiรค jokaiselta ominaisuudeltaan, kuten useita nimeรคmรคttรถmiรค valintaruutuja perรคkkรคin.

Tiivistรค tรคmรค viesti seuraavasti: