GetRoProperty, GetToProperty itt: QTP/UFT példával

⚡ Okos összefoglaló

Az Object Spy felfedi a tesztelt alkalmazásban lévő vezérlőelemek tulajdonságait és metódusait, míg a GetROProperty, GetTOProperty és SetTOProperty ezeket a tulajdonságértékeket egy QTP or UFT Egy szkript futásidőben.

  • ???? Objektumkém először: Irányítsd egy vezérlőre, hogy lásd a tesztobjektum tulajdonságait, a futásidejű tulajdonságokat, a metódusokat és a teljes hierarchiát.
  • ☑️ Két tárgyi világ: A tesztobjektum a tárolt leírás; a futásidejű objektum az alkalmazás élő vezérlője.
  • GetROProperty: Az aktuális értéket olvassa be az élő vezérlésből, tehát az alkalmazásnak meg kell nyitva lennie, és az objektumnak léteznie kell.
  • 🧪 GetTOProperty: Ehelyett a tárolt leírást olvassa be, ezért a két metódus eltérő értékeket adhat vissza.
  • 🇧🇷 Tulajdonság beállítása: Csak erre a futtatásra vonatkozóan módosítja a leírást; a tárházat soha nem érinti, és a módosítás a végén elvész.
  • 📌 Nincs SetROProperty: Egy szkript be tudja olvasni az alkalmazást, de nem tud tulajdonságot visszaírni bele.

Az Object Spy és a GetROProperty, GetTOProperty és SetTOProperty metódusok a QTP és a UFT egy

Ez az oktatóanyag bemutatja Object Spy.

Az Object Spy segíthet meghatározni a környezetében lévő objektumokhoz kapcsolódó hasznos tulajdonságokat és módszereket.

A HP/Micro Focus UFT oktatóanyagok is leírja GetROProperty, GetTOProperty és SetTOProperty.

⚠️ Verzió megjegyzés: Az itt leírt eszköz HP QuickTest Professional néven került forgalomba, később Micro Focus Unified Functional Testing néven, és ma is a következő néven kapható: OpenText Funkcionális tesztelés (UFT Egy)Az Object Spy és mindhárom metódus továbbra is pontosan az alábbiakban leírtak szerint működik.

Kattints itt ha a videó nem érhető el

Object Spy

  • Az Object Spy egy funkció a QTP amelynek segítségével megtekintheti mind a teszt-, mind a futásidejű objektum tulajdonságait és metódusait.
  • A kiválasztott metódus szintaxisát is megadja.
  • Az Object Spy a kiválasztott objektum teljes hierarchiáját mutatja.

Ez a hierarchia azért fontos, mert az Object Spy-ból kimásolt tulajdonságnév pontosan az a karakterlánc, amelyet az alábbi három metódus vár. Egy objektum kémkedése ezért szinte minden tulajdonság-lekérési feladat első lépése.

GetROProperty

  • A GetROProperty egy beépített metódus, amely egy objektumtulajdonság futásidejű értékének lekérésére szolgál.

A GetROProperty használatához 4 lépés szükséges:

  1. Rögzítse azt az objektumot, amelyen a GetROProperty tulajdonságot használni szeretné. Objektumtár.
  2. A rögzített objektum azonosítja a használható futásidejű tulajdonságot. Használhatja az Object Spy-t.
  3. A GetROProperty metódussal kérheti le az azonosított futásidejű tulajdonságot, és tárolhatja az értékét egy változóban.
  4. Ezt az értéket használja további levonásokhoz.

Mivel az értéket az élő vezérlésből olvassa be, az alkalmazásnak meg kell nyitva lennie, és az objektumnak ténylegesen léteznie kell a képernyőn, amikor a sor fut.

SetTOProperty és GetTOProperty

  • Vegyünk egy objektumtárházban tárolt webgombot
  • Amikor a tesztet lefuttatják QTP létrehoz egy másolatot erről az objektumról, melynek neve Test Object, és összehasonlítja azt a Run Time Object-tel.
  • A GetTOProperty használatával lekérheti a Test Object egy tulajdonságának értékét.
  • A SetTOProperty használatával módosíthatja egy tesztobjektum tulajdonságának értékét.
  • A teszt befejezése után ez a tesztobjektum elvész, akárcsak az objektum tulajdonságaiban a SetTOProperty használatával végrehajtott módosítások.
  • A teszt újbóli futtatásakor a tesztobjektum új másolata jön létre az objektumtárban tárolt eredeti tulajdonságértékekkel.
  • A GetTOProperty és a SetTOProperty metódusokat akkor érdemes használni, ha a tesztszkript több sornyi kódot tartalmaz, és a környezet szórványos.
  • Megjegyzésként nincs SetROProperty tulajdonság.

Szintaxis és példák

Mindhárom metódus meghívása egy tesztobjektumon történik a hierarchia végén, és mindhárom egy leíró tulajdonságnevet kap karakterláncként. A táblázat mindegyik szignatúráját tartalmazza.

Módszer Szintaxis Olvas vagy ír
GetROProperty object.GetROProperty(Tulajdonság) Beolvassa az alkalmazás élő vezérlését
GetTOProperty object.GetTOProperty(Tulajdonság) Beolvassa a tárolt tesztobjektum leírását
SetTOProperty object.SetTOProperty Tulajdonság, Érték Csak ehhez a futtatáshoz írja ki a tesztobjektum leírását

Egy futásidejű érték beolvasása egyetlen utasítás. Ez a példa a következőből származik: hivatalos visszakeresési és beállított értékek referencia, a futási munkamenet során lekéri egy hivatkozás célcímét.

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

Egy tesztobjektum tulajdonságának írása, majd beolvasása ugyanilyen rövid. Az alábbi páros a Submit gomb nevét a my button-ra állítja, és ugyanazt az értéket olvassa vissza.

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")

Egy tipikus ellenőrzés a két ötletet ötvözi: a GetROProperty segítségével beolvassa a futásidejű értéket, majd összehasonlítja a teszt által várt értékkel.

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

Különbség a GetROProperty és a GetTOProperty között

A két név egy betűben különbözik, és ez a legzavaróbb páros az eszközben. Az RO a futásidejű objektumot, a TO a tesztobjektumot jelenti, és mindegyik más helyről olvassa be az adatokat.

Összehasonlítási pont GetROProperty GetTOProperty
Az érték forrása Az élő vezérlés a futó alkalmazásban A tesztobjektumhoz tárolt leírás
A jelentkezésnek nyitva kell lennie Igen Nem
SetTOProperty változást lát Nem Igen, a jelenlegi futamra
Tipikus felhasználás Annak ellenőrzése, hogy a felhasználó valójában mit lát Az objektum azonosításának ellenőrzése vagy hibakeresése
Párosító szetter Nincs — nincs SetROProperty tulajdonság SetTOProperty

Egy működő kontraszt nyilvánvalóvá teszi a szétválasztást. Állíts be egy html azonosítót egy olyan listán, amelynek nincs azonosítója, majd olvasd vissza mindkét irányban: a GetROProperty üres karakterláncot ad vissza, mivel az alkalmazás soha nem változott, míg a GetTOProperty azt az értéket adja vissza, amelyet éppen a leírásba írtak.

Gyakori hibák és javításuk

A tulajdonságok lekérése néhány előre látható okból sikertelen. A táblázat azokat sorolja fel, amelyekkel a tesztelők a leggyakrabban találkoznak.

Tünet Okoz Rögzít
A hívás üres karakterláncot ad vissza A tulajdonság neve hibás, vagy az objektum nem teszi elérhetővé. Kémleld meg újra az objektumot, és másold ki a tulajdonság nevét pontosan a listában szereplő módon.
Az objektum nem található a GetROProperty sorban. A vezérlő még nem renderelt Szinkronizációs lépés hozzáadása az olvasás előtt
A GetROProperty függvény figyelmen kívül hagyja a SetTOProperty függvény változását. A két módszer tervezésüknél fogva különböző objektumokat céloz meg Olvasd vissza a változást a GetTOProperty paranccsal
Egy SetTOProperty változás eltűnik A tesztobjektum szerkesztései csak az aktuális futtatásra érvényesek Szerkeszd az objektumot a tárházban, vagy használd a következőt: leíró programozás
A SetROProperty szintaktikai hibát jelez Nincs ilyen módszer Vezesse végig az alkalmazást egy normál lépésen, például a Beállítás vagy a Kattintás lépésein.

Két szokás akadályozza meg ezek nagy részét: a tulajdonság nevének kitalálása helyett a sor megírása előtt kikémlelni a vezérlőt, és vbscript A retrieval hívások a kívánt értéket igénylő lépéshez közel történnek, így az objektum még mindig a képernyőn van, amikor az olvasás megtörténik.

GYIK

Az Object Spy listázza az eszköz által az adott osztályhoz tartozó azonosító tulajdonságokat, valamint a böngésző által elérhető natív tulajdonságokat. Az attribútum- és stílusértékek a tulajdonságláncon belüli attribútum- és stíluselőtagokkal érhetők el.

Egy futásidejű objektum az alkalmazáshoz tartozik, nem a teszthez, így az eszköz nem fog bele írni. Az alkalmazásban tárolt adatok módosításához a vezérlőt egy szokásos lépéssel, például a Beállítás, Kijelölés vagy Kattintás paranccsal kell vezérelni.

Nem. Az ideiglenes tesztobjektumot a futás végén elveti a rendszer, és legközelebb egy új másolat készül a tárházból. Az állandó változtatások az objektumtárházhoz tartoznak.

Igen. Egy beágyazottan létrehozott leírt objektum ugyanazokat a hívásokat fogadja, így a GetROProperty működik leíró programozás is. A GetTOProperty ezután a beágyazott leírásból származó értéket adja vissza, nem pedig egy tárolt bejegyzésből.

A mesterséges intelligencia által támogatott helymeghatározó eszközök több jelölt tulajdonságot rangsorolnak ugyanahhoz a vezérlőhöz, és kijavítják a hibás leírást, amikor egy attribútum megváltozik. Ez csökkenti a manuális kémkedési ciklust, bár a javasolt tulajdonság továbbra is emberi ellenőrzést igényel.

A Copilot befejezi a hierarchia és a metódushívást, amint néhány hasonló sort lát a fájlban. Nem ismerheti a valódi objektumneveket, vagy hogy a vezérlő mely tulajdonságokat teszi elérhetővé, ezért minden generált karakterláncot ellenőrizni kell az Object Spy-ban.

Az Object Spy egy ellenőrző eszköz, amely értékeket jelenít meg a szkript létrehozása közben. Az ellenőrzőpont egy lépés, amely a teszten belül fut, és egy tárolt várható érték alapján jelenti a sikeres vagy sikertelen tesztet.

Csak akkor, ha az objektum még létezik az alkalmazásban. Egy olyan vezérlőelem, amely nem lett megjelenítve, vagy amelyet eltávolítottak az oldalról, „objektum nem található” hibát generál üres érték visszaadása helyett.

Foglald össze ezt a bejegyzést a következőképpen: