GetRoProperty, GetToProperty sisään QTP/UFT esimerkin kanssa

⚡ Älykäs yhteenveto

Object Spy paljastaa testattavan sovelluksen minkä tahansa ohjausobjektin ominaisuudet ja metodit, kun taas GetROProperty, GetTOProperty ja SetTOProperty lukevat ja kirjoittavat kyseiset ominaisuusarvot QTP or UFT Yksi skripti suorituksen aikana.

  • 🔎 Objektivakoilija ensin: Osoita sillä ohjausobjektia nähdäksesi testiobjektin ominaisuudet, ajonaikaiset ominaisuudet, metodit ja koko hierarkian.
  • ☑️ Kaksi objektimaailmaa: Testiobjekti on tallennettu kuvaus; ajonaikainen objekti on sovelluksen reaaliaikainen ohjaus.
  • ✅ GetROProperty: Lukee nykyisen arvon reaaliaikaisesta ohjauksesta, joten sovelluksen on oltava auki ja objektin on oltava olemassa.
  • 🧪 GetTOProperty: Lukee tallennetun kuvauksen, minkä vuoksi metodit voivat palauttaa eri arvoja.
  • 🛠️ Aseta TO-ominaisuus: Muuttaa kuvausta vain tätä suoritusta varten; tietovarastoon ei koskaan kosketa ja muutos hylätään lopussa.
  • 📌 Ei SetROProperty-ominaisuutta: Skripti voi lukea sovellusta, mutta ei voi kirjoittaa siihen ominaisuutta takaisin.

Object Spy ja GetROProperty-, GetTOProperty- ja SetTOProperty-metodit QTP ja UFT yksi

Tämä opetusohjelma osoittaa Object Spy.

Object Spy voi auttaa määrittämään ympäristösi objektiin liittyvät hyödylliset ominaisuudet ja menetelmät.

HP/Micro Focus UFT opetusohjelmat kuvailee myös GetROProperty, GetTOProperty ja SetTOProperty.

⚠️ Versiohuomautus: Tässä kuvattu työkalu toimitettiin nimellä HP QuickTest Professional, josta tuli Micro Focus Unified Functional Testing, ja sitä myydään nykyään nimellä OpenText Toiminnallinen testaus (UFT Yksi)Object Spy ja kaikki kolme metodia toimivat edelleen täsmälleen alla kuvatulla tavalla.

Napauta täältä jos video ei ole saatavilla

Object Spy

  • Object Spy on ominaisuus, joka löytyy osoitteesta QTP jonka avulla voit tarkastella sekä testi- että ajonaikaisten objektien ominaisuuksia ja metodeja.
  • Se antaa myös valitun menetelmän syntaksin.
  • Object Spy antaa valitsemasi objektin täydellisen hierarkian.

Tuo hierarkia on tärkeä, koska Object Spysta kopioitu ominaisuuden nimi on täsmälleen se merkkijono, jota alla olevat kolme metodia odottavat. Objektin vakoilu on siksi ensimmäinen vaihe lähes jokaisessa ominaisuuksien hakutehtävässä.

GetROProperty

  • GetROProperty – on sisäänrakennettu metodi, jota käytetään objektin ominaisuuden suorituksenaikaisen arvon hakemiseen.

GetROProperty-ominaisuuden käyttämiseen liittyy neljä vaihetta:

  1. Kirjaa ylös objekti, johon haluat käyttää GetROProperty-ominaisuutta Objektivarasto.
  2. Tallennetulle objektille voidaan määrittää käytettävä suorituksenaikainen ominaisuus. Voit käyttää Object Spy -ominaisuutta.
  3. Käytä GetROProperty-metodia noutaaksesi tunnistetun ajonaikaisen ominaisuuden ja tallentaaksesi sen arvon muuttujaan.
  4. Käytä tätä arvoa jatkovähennyksiin.

Koska arvo luetaan reaaliaikaisesta ohjauksesta, sovelluksen on oltava auki ja objektin on oltava näytöllä, kun rivi suoritetaan.

Aseta TOProperty ja GetTOProperty

  • Tarkastellaan Object Repositoryyn tallennettua verkkopainiketta
  • Kun testi suoritetaan QTP luo kopion tästä objektista nimeltä Test Object ja vertaa sitä ajonaikaiseen objektiin
  • GetTOProperty-funktion avulla voit hakea Test Object -objektin ominaisuuden arvon.
  • SetTOProperty-ominaisuuden avulla voit muuttaa testiobjektin ominaisuuden arvoa.
  • Kun testi on valmis, tämä testiobjekti hylätään, samoin kuin kaikki objektin ominaisuuksiin SetTOProperty-ominaisuuden avulla tehdyt muutokset.
  • Kun testi suoritetaan uudelleen, testiobjektista luodaan uusi kopio, jossa on alkuperäiset ominaisuusarvot, jotka on tallennettu objektivarastoon
  • Voit harkita GetTOProperty- ja SetTOProperty-funktioiden käyttöä, kun testiskriptissäsi on useita koodirivejä ja ympäristösi on satunnainen.
  • Huomautus: SetROProperty-ominaisuutta ei ole.

Syntaksi ja esimerkit

Kaikkia kolmea metodia kutsutaan testiobjektille sen hierarkian lopussa, ja kaikki kolme ottavat description-ominaisuuden nimen merkkijonona. Taulukko näyttää kunkin allekirjoituksen.

Menetelmä Syntaksi Lukee tai kirjoittaa
GetROProperty objekti.GetROProperty(Ominaisuus) Lukee sovelluksen reaaliaikaisen ohjauksen
GetTOProperty object.GetTOProperty(Ominaisuus) Lukee tallennetun testiobjektin kuvauksen
Aseta TO-ominaisuus object.SetTOProperty-ominaisuus, Arvo Kirjoittaa testiobjektin kuvauksen vain tälle suorituskerralle

Suorituksenaikaisen arvon lukeminen on yksittäinen lauseke. Tämä esimerkki on otettu kohdasta virallinen haku- ja asetusarvojen viite, hakee linkin kohdeosoitteen suoritussession aikana.

link_href = Browser("Technologies").Page("Technologies").Link("Jobs").GetROProperty("href")

Testikohteen ominaisuuden kirjoittaminen ja lukeminen on aivan yhtä lyhyttä. Alla oleva pari asettaa Lähetä-painikkeen nimeksi minun painikkeeni ja lukee saman arvon suoraan takaisin.

Browser("QA Home Page").Page("QA Home Page").WebButton("Submit").SetTOProperty "Name", "my button"
ButtonName = Browser("QA Home Page").Page("QA Home Page").WebButton("Submit").GetTOProperty("Name")

Tyypillinen todentaminen yhdistää nämä kaksi ideaa: lue suorituksenaikainen arvo GetROProperty-funktiolla ja vertaa sitä sitten testin odottamaan arvoon.

strValue = Browser("Welcome").Page("Find a Flight").WebList("fromPort").GetROProperty("selection")
If strValue = "Acapulco" Then
    Reporter.ReportEvent micPass, "Default city", "Default city is correct"
Else
    Reporter.ReportEvent micFail, "Default city", "Unexpected value: " & strValue
End If

Ero GetROPropertyn ja GetTOPropertyn välillä

Nämä kaksi nimeä eroavat toisistaan ​​yhden kirjaimen verran ja ovat työkalun hämmentävin pari. RO on lyhenne sanoista run-time object ja TO tarkoittaa test object, ja kumpikin lukee eri paikasta.

Vertailupiste GetROProperty GetTOProperty
Arvon lähde Käynnissä olevan sovelluksen reaaliaikainen ohjaus Testikohteelle tallennettu kuvaus
Hakemuksen on oltava avoinna Kyllä Ei
Näkee SetTOProperty-muutoksen Ei Kyllä, nykyiselle jaksolle
Tyypillinen käyttö Käyttäjän näkemän sisällön tarkistaminen Objektin tunnistustavan tarkistaminen tai virheenkorjaus
Sopiva setteri Ei mitään — SetROProperty-ominaisuutta ei ole Aseta TO-ominaisuus

Toimiva kontrasti tekee eron selväksi. Aseta html-id listalle, jolla ei ole id:tä, ja lue se sitten takaisin molempiin suuntiin: GetROProperty palauttaa tyhjän merkkijonon, koska sovellus ei ole koskaan muuttunut, kun taas GetTOProperty palauttaa arvon, joka juuri kirjoitettiin kuvaukseen.

Yleisiä virheitä ja niiden korjaaminen

Ominaisuuksien haku epäonnistuu muutamasta ennustettavasta syystä. Taulukossa luetellaan ne, joihin testaajat törmäävät useimmin.

Oire Aiheuttaa Korjata
Kutsu palauttaa tyhjän merkkijonon Ominaisuuden nimi on väärä tai objekti ei paljasta sitä Tarkastele kohdetta uudelleen ja kopioi ominaisuuden nimi täsmälleen sellaisena kuin se on lueteltu.
Objektia ei löydy GetROProperty-riviltä Ohjausobjektia ei ollut vielä renderöity Lisää synkronointivaihe ennen lukua
GetROProperty jättää SetTOProperty-muutoksen huomiotta Nämä kaksi menetelmää käsittelevät suunnittelultaan erilaisia ​​kohteita Lue muutos takaisin käyttämällä GetTOProperty-funktiota
SetTOProperty-muutos katoaa Testikohteen muokkaukset ovat voimassa vain nykyisen ajokerran ajan Muokkaa objektia repositoriossa tai käytä kuvaava ohjelmointi
SetROProperty aiheuttaa syntaksivirheen Sellaista menetelmää ei ole olemassa Aja sovellus läpi normaalin vaiheen, kuten Aseta tai Napsauta

Kaksi tapaa estää useimmat näistä: kontrollin vakoileminen ennen rivin kirjoittamista ominaisuuden nimen arvaamisen sijaan ja vbscript retrieval-kutsuja tehdään lähellä vaihetta, joka tarvitsee arvoa, joten objekti on edelleen näytöllä, kun luku tapahtuu.

UKK

Object Spy listaa työkalun kyseiselle luokalle säilyttämät tunnisteominaisuudet sekä selaimen näyttämät natiivit ominaisuudet. Attribuutti- ja tyyliarvoihin päästään käyttämällä ominaisuusmerkkijonon sisällä olevia attribuutti- ja tyylietuliitteitä.

Suorituksenaikainen objekti kuuluu sovellukseen, ei testiin, joten työkalu ei kirjoita siihen. Voit muuttaa sovelluksen tallentamia tietoja käyttämällä tavallista komentoa, kuten Aseta, Valitse tai Napsauta.

Ei. Väliaikainen testiobjekti hylätään ajon päätyttyä ja seuraavalla kerralla siitä luodaan uusi kopio repositoriosta. Pysyvät muutokset kuuluvat itse objektirepositorioon.

Kyllä. Sisäänrakennettu kuvattu objekti hyväksyy samat kutsut, joten GetROProperty toimii näiden kanssa: kuvaava ohjelmointi myös. GetTOProperty palauttaa sitten arvon rivikohtaisesta kuvauksesta tallennetun merkinnän sijaan.

Tekoälyavusteiset paikannustyökalut luokittelevat useita ehdokasominaisuuksia samalle kontrollille ja korjaavat rikkinäisen kuvauksen, kun yksi ominaisuus muuttuu. Tämä vähentää manuaalista vakoilusilmukkaa, vaikka ehdotettu ominaisuus vaatiikin edelleen ihmisen tarkistuksen.

Copilot suorittaa hierarkian ja metodikutsun loppuun, kun se näkee tiedostossa muutaman samankaltaisen rivin. Se ei voi tietää todellisia objektiesi nimiä tai mitä ominaisuuksia ohjausobjekti paljastaa, joten tarkista jokainen luotu merkkijono Object Spyssa.

Object Spy on tarkastustyökalu, joka näyttää arvoja skriptin rakentamisen aikana. Tarkistuspiste on testin sisällä suoritettava vaihe, joka raportoi, läpäiseekö testi vai epäonnistuuko se tallennettua odotettua arvoa vasten.

Vain jos objekti on edelleen sovelluksessa. Ohjausobjekti, jota ei ole renderöity tai joka on poistettu sivulta, aiheuttaa objektia ei löydy -virheen tyhjän arvon palauttamisen sijaan.

Tiivistä tämä viesti seuraavasti: