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.
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:
- Kirjaa ylös objekti, johon haluat käyttää GetROProperty-ominaisuutta Objektivarasto.
- Tallennetulle objektille voidaan määrittää käytettävä suorituksenaikainen ominaisuus. Voit käyttää Object Spy -ominaisuutta.
- Käytä GetROProperty-metodia noutaaksesi tunnistetun ajonaikaisen ominaisuuden ja tallentaaksesi sen arvon muuttujaan.
- 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.
