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.

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:
- Rögzítse azt az objektumot, amelyen a GetROProperty tulajdonságot használni szeretné. Objektumtár.
- A rögzített objektum azonosítja a használható futásidejű tulajdonságot. Használhatja az Object Spy-t.
- 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.
- 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.
