Sorszámazonosító QTP/UFTObjektumazonosítási példa
⚡ Okos összefoglaló
Sorszámazonosító QTP/UFT döntetlen-e UFT akkor érvényes, ha a kötelező és a segítő tulajdonságok továbbra is egynél több objektumnak felelnek meg, az Index, a Location vagy a CreationTime értékek használatával egyetlen egyedi objektumot választ ki.

Mi az a sorszámazonosító a következőben: QTP/UFT?
An Sorozati azonosító egy numerikus tulajdonság, amely UFT (korábban QTP) hozzáad egy objektumleírást, ha a rögzítési munkamenet során rögzített kötelező és segítő tulajdonságok nem elegendőek az objektum egyedi azonosításához. A hiba helyett az eszköz egy számlálóra hivatkozik, amely lényegében azt mondja: „vegye az osztály harmadik objektumát”.
Alapértelmezés szerint minden tesztobjektum osztályhoz létezik egy sorszámú azonosító típus. A WebEdit és a WinButton eltérő számozású, és a Browser is másképp van számozva. Az osztály alapértelmezett sorszámú azonosítóját az Objektumazonosítás ablakban tekintheti meg vagy módosíthatja.
Amint a fenti képernyőképen látható, a Sorszám azonosító legördülő menü az Objektumazonosítás párbeszédpanel alján található, a kötelező és a segítő tulajdonságlisták alatt. Ez a pozíció nem véletlen: tükrözi a sorrendet, amelyben UFT valójában konzultál a három csoporttal.
Háromféle sorszámazonosító létezik UFT:
- Index alapú
- Hely alapú
- Teremtés ideje
Miért UFT Csak végső esetben használ sorszámazonosítókat
Objektumazonosítás UFT kaszkádként fut. A kötelező tulajdonságokat először a rendszer tanulja meg. Ha ezek egyetlen egyezést sem eredményeznek, akkor a segítő tulajdonságokat egyesével adja hozzá a rendszer, amíg a leírás egyedi nem lesz. Csak akkor, ha mindkét csoport kimerült, UFT csatoljon egy sorszámazonosítót, és futásidőben a rendszer lekérdezi az intelligens azonosítási mechanizmust, mielőtt a sorszámértéket megbízhatónak minősítené.
A rangsorolás oka a stabilitás. A kötelező és segítő tulajdonságok leírják mit Egy objektum: a neve, a HTML-címkéje, a típusa, a címkéje. Egy sorszámos azonosító csak azt írja le, ahol a tárgy történetesen a felvétel pillanatában ült. Bármi, ami megváltoztatja az oldalt, megváltoztatja a számot is:
- A fejlesztő egy rejtett mezőt szúr be az automatizált mező fölé.
- Egy promóciós banner két extra linket ad hozzá a fejléchez.
- A reszponzív elrendezés két oszlopból egybe rendezi az űrlapot.
- Egy felugró böngészőablak nyílik meg korábban, mint a rögzített futás során.
Ezen változtatások egyike sem szakítja meg a névre vagy azonosítóra épülő leírást, de mindegyik csendben elmozdítja az oldalon található összes index- és helyértéket. Ezért a tapasztalt mérnökök a sorszámazonosítót annak jelzéseként kezelik, hogy az objektumleíráson dolgozni kell, nem pedig kész megoldásként. Ugyanez az elv érvényes minden... automatizálási tesztelés keretrendszerek általában, beleértve a lokátor stratégiát is Selenium.
💡 Tipp: Mielőtt elfogadnánk egy sorszámazonosítót, nyissuk meg az objektumot az Object Spy-ban, és keressünk egy stabil egyéni attribútumot. Ha ezt az attribútumot hozzáadjuk az osztály segítő tulajdonságlistájához, gyakran szükségtelenné válik sorszámazonosító használata minden jövőbeli, az adott típusú objektumon.
Sorszámazonosítók típusai a UFT/QTP
Index alapú
- Index alapú sorszámazonosító használata esetén UFT értéket rendel hozzá a index az objektum tulajdonsága a felvétel során.
- Az érték az objektum forráskódon belüli megjelenési sorrendjén alapul, nem a képernyőn való megjelenésén.
- Az első előfordulás értéke 0.
- Az index tulajdonságértékek objektumspecifikusak, így minden tesztobjektum-osztályt külön számol a rendszer.
- Tehát, ha az index:=3 paramétert használjuk egy WebEdit tesztobjektum leírására, UFT a negyedik WebEdit objektumot keresi az oldalon.
- Hasonlóképpen, ha az index:=1 paramétert használjuk egy WebButton tesztobjektum leírására, UFT a második WebButton objektumot keresi az oldalon.
Helyalapú
- Amikor helyalapú sorszámazonosítót használunk, UFT értéket rendel hozzá a elhelyezkedés az objektum azon tulajdonsága, amely lehetővé teszi annak egyedi azonosítását.
- Az érték azon a sorrenden alapul, amelyben az objektum megjelenik az ablakban, keretben vagy párbeszédpanelen, más, azonos tulajdonságú objektumokhoz viszonyítva.
- Az objektum első előfordulása 0.
- Az értékek oszlopokban vannak megadva, fentről lefelé, majd balról jobbra.
- A legtöbb szabványos formátum alapértelmezett sorszáma a helyszín. Windows tesztobjektum-osztályok, ahol a vizuális elrendezés stabilabb, mint a jelölési sorrend.
Teremtés ideje
- Amikor a létrehozási idő sorszámazonosítóját használjuk, UFT értéket rendel hozzá a létrehozási idő egy böngésző objektum tulajdonsága.
- Ez az azonosító csak webes környezethez és csak böngésző tesztobjektumokhoz érhető el.
- Az érték azt jelzi, hogy a böngésző milyen sorrendben lett megnyitva a többi megnyitott böngészőhöz képest.
- A futás során elsőként megnyitott böngésző a creationtime:=0 értéket kapja, a következő böngészők pedig az 1, 2, 3 és így tovább értékeket.
- Ha egy böngészőt bezárnak, a többi böngésző megtartja eredeti értékét ahelyett, hogy újraszámoznák.
Index vs. Hely vs. LétrehozásiIdő: Összehasonlító táblázat
A három azonosító három különböző kérdésre ad választ, és a rossz kiválasztása gyakori oka az időszakos hibáknak.
| Aspect | index | Települések | Teremtés ideje |
|---|---|---|---|
| Ingatlan neve | index | elhelyezkedés | létrehozási idő |
| Rendelési alap | Sorrend a forráskódban / objektumhierarchiában | Képernyő pozíciója az ablakon, kereten vagy párbeszédpanelen belül | A böngészőpéldányok megnyitási sorrendje |
| Számolási szabály | Szekvenciális, tesztobjektum-osztályonként | Oszlopok, fentről lefelé, majd balról jobbra | Szekvenciális, böngészőpéldányonként |
| Első érték | 0 | 0 | 0 |
| Vonatkozik | Web és Windows osztályok | Főként standard Windows osztályok | Csak böngészőobjektumok |
| Szünetek, amikor | Jelölési sorrend változásai | Az elrendezés áthelyezésre vagy átméretezésre került | Windows más sorrendben nyílik meg |
| A legjobban használható | Ismétlődő rács- vagy táblázatvezérlők | Régi asztali űrlapok fix elrendezéssel | Többablakos webfolyamatok, például fizetési felugró ablakok |
Hogyan állítsuk be a sorszámazonosítót az objektumtárban?
A sorszámazonosító tesztobjektum-osztályonként van konfigurálva, és automatikusan alkalmazásra kerül az adott osztály minden olyan objektumára, amely UFT utólag tanul. A repositoryban már meglévő objektumok nem frissülnek visszamenőlegesen.
- Nyisd ki UFT és válassza ki a Eszközök > Objektumazonosítás.
- Válassza ki a környezetet, például Web vagy Standard Windows, a Környezet legördülő menüből.
- Válassza ki a módosítani kívánt tesztobjektum-osztályt, például a WebEdit vagy a WinButton osztályt.
- A Sorszámazonosító szakaszban válassza az Index, Hely, Létrehozási idő vagy a Nincs lehetőséget.
- Kattints OK és újra kell tanulni az objektumot, hogy az új sorszámérték rögzítésre kerüljön.
- Nyissa meg az Objektumtárat, jelölje ki az objektumot, és ellenőrizze, hogy a sorszámtulajdonság most megjelenik-e a leírások listájában.
kiválasztása Egyik sem teljesen letiltja az adott osztály tartalék opcióját. UFT ekkor azonosítási hibát fog jelezni a találgatás helyett, ami gyakran az a viselkedés, amit egy olyan környezetben szeretnél, ahol a csendes téves azonosítás károsabb, mint a tiszta kudarc. Az elvárásaid rögzítése egy jól megírt dokumentumban próbaper egyértelművé teszi ezt a kompromisszumot az egész csapat számára.
⚠️ Figyelmeztetés: Egy osztály sorszámazonosítójának módosítása gépszintű beállítás, nem tesztszintű. Ha nem exportálod és nem osztod meg, a gépeden áthaladó szkriptek meghibásodhatnak egy kolléga gépén vagy a build ügynökön.
Hogyan használjuk a sorszámazonosítókat Descriptive programozás
A leíró programozásban nincs objektumazonosító párbeszédablak. A sorszámot közvetlenül a leíró karakterláncba írjuk, pontosan úgy, mint bármely más tulajdonságnevet, és mindig nulla alapú.
' Ordinals are zero based: index:=3 is the FOURTH WebEdit on the page Set objPage = Browser("Guru99 Bank").Page("Guru99 Bank") objPage.WebEdit("index:=3").Set "9999999999" Print "Filled WebEdit occurrence #" & (3 + 1) ' Location is counted top to bottom, then left to right objPage.WebButton("location:=1").Click Print "Clicked WebButton occurrence #" & (1 + 1) ' CreationTime works only on Browser objects Print "Switching to browser opened at position #" & (1 + 1) Browser("creationtime:=1").Sync
output:
Filled WebEdit occurrence #4 Clicked WebButton occurrence #2 Switching to browser opened at position #2
Biztonságosabb megoldás az ingatlanok kombinálása a ChildObjects Tehát a sorszámot használat előtt validálják. Az alábbi példa egy öt egyező WebEdit objektumot tartalmazó oldalt és 9-es indexet feltételez.
Dim oDesc, oChildren, intIndex Set oDesc = Description.Create() oDesc("micclass").Value = "WebEdit" oDesc("html tag").Value = "INPUT" Set oChildren = objPage.ChildObjects(oDesc) intIndex = 9 If intIndex < oChildren.Count Then oChildren(intIndex).Set "Guru99" Else Print "Index " & intIndex & " is out of range; only " & oChildren.Count & " objects match" End If
output:
Index 9 is out of range; only 5 objects match
Ez a védelem a nem hasznos „Az objektum azonosítása sikertelen” futásidejű hibát olvasható üzenetté alakítja, ami akkor számít, amikor az eredményeket egy hibára teszik közzé. tracker vagy to HP ALM integrálva UFT.
Gyakori hibák a sorszámazonosítók használatakor
A legtöbb ordinális eredetű hiba tracvisszatérő hibák egy kis halmazához.
- 1-től számolva. Minden sorszámazonosító 0-val kezdődik. Az index:=1 írása az első mezőbe a leggyakoribb hiba, és egy olyan hibát okoz, amely időzítési problémának tűnik.
- Összekeveri az indexet a hellyel. Az index a forráskódot követi; a helyszín a képernyőt. Egy olyan oldalon, ahol a CSS átrendezi az elemeket, a két érték eltér, és felcserélődik.ping csendben a rossz irányítást veszik célba.
- A CreationTime használata webes környezeten kívül. A tulajdonság csak Browser objektumokon létezik. Page, Frame vagy Window objektumokra alkalmazva „unsupported-property” hibát kapunk.
- Egy ordinális fix kódolása egy megosztott függvénybe. Egy újrafelhasználható függvény, amely index:=2-t feltételez, használhatatlanná válik abban a pillanatban, amikor egy másik, eltérő elrendezésű képernyő meghívja.
- A sorszámok elhagyása a tárhelyen az alkalmazás stabilizálódása után. Miután a fejlesztők hozzáadták a stabil azonosítókat, vizsgálják meg újra az objektumokat, és cseréljék le a sorszámot az új tulajdonságra.
- Rácsok feletti ciklusokban lévő ordinálisokra támaszkodva. Jobban szeret
ChildObjects, amely egy élő gyűjteményt ad vissza, így a számláló az aktuális oldalt tükrözi, nem pedig a rögzített oldalt.
Tudástár
Töltsd le a fenti oktatóanyagban használt weboldalakat önálló gyakorláshoz
A sorszámazonosítók az objektumazonosítási modell egy kis részét képezik. Ha szeretné látni, hogyan illeszkednek a tágabb munkafolyamatba, folytassa a teljes leírással. QTP/UFT edzéssorozat, tekintse át az alapokat a szoftver tesztelés, ismerje meg, hogyan kezeli az eredményeket a HP ALM oktatóanyag, és hasonlítsa össze a lokátor stratégiákat a Selenium oktatói.
GYIK
Kattints itt ha a videó nem érhető el

