Intelligens azonosítás QTP/UFT példával
⚡ Okos összefoglaló
Az intelligens azonosítás egy tartalék mechanizmus a UFT Az egyik egy objektum megkereséséhez, ha a tanult leírása már nem felel meg a tesztelt alkalmazásnak, az alap és az opcionális szűrőtulajdonságok használatával a jelöltek listáját egyetlen találatra szűkítve.

Mi az intelligens azonosítás? QTP/UFT?
Intelligens azonosítás egy tartalék objektumfelismerő mechanizmus a OpenText UFT Az egyik, a korábban HP QuickTest Professional néven ismert eszköz (QTP). Ha a normál azonosítási folyamat nem talál egyedi egyezést egy objektum tanult leírásával, UFT elindítja az intelligens azonosítást, feltéve, hogy a mechanizmus engedélyezve van az adott objektum osztályának objektumazonosítási beállításaiban.
A tanult leírással ellentétben az intelligens azonosítás nem követeli meg minden tárolt tulajdonság pontos egyezését. Két tulajdonságkategóriát értékel ki, hogy a jelölt objektumok körét pontosan egyre szűkítse:
- Alapszűrő tulajdonságai. Egy tesztobjektum osztály legalapvetőbb tulajdonságai; azok, amelyek értékei nem változhatnak meg az eredeti objektum lényegének megváltoztatása nélkül.
- Opcionális szűrőtulajdonságok. Olyan támogató tulajdonságok, amelyek segítenek azonosítani egy objektumot, de nagyobb valószínűséggel változnak az idő múlásával.
Amikor az intelligens azonosítás fut, UFT „Elfelejti” a tanult leírást, és újraépít egy új jelöltlistát, amely minden olyan objektumot tartalmaz, amely megfelel az összes alap szűrőtulajdonságnak. Ezután tovább szűkíti a listát, egyesével ellenőrizve az opcionális szűrőtulajdonságokat, amíg egyetlen objektum marad.
Ha egy futtatási munkamenet során meghívják az intelligens azonosítást, a teszteredményfa egy figyelmeztető üzenetet naplóz, amely megerősíti a mechanizmus használatát, és egy intelligens azonosítási lépést illeszt be az eredményekbe, így a tanult leírástól való eltérés látható marad.
Az intelligens azonosítás a harmadik helyen áll UFTobjektumazonosító hierarchiáját, a tanult leírás és bármely vizuális relációs azonosító után, de a végső megoldásként használt sorszámazonosító előtt. Ha megértjük, hova illik, akkor miért ritkán a legjobb hosszú távú megoldás a teljes letiltása – a mögöttes tulajdonságok javítása helyett.
Alap szűrőtulajdonságok vs. opcionális szűrőtulajdonságok
Mindkét szűrő együtt működik, de a fent leírt eliminációs folyamatban eltérő szerepet játszanak. Az alábbi összehasonlítás tisztázza, hogy mikor melyiket használják, és mekkora eliminációs teljesítményt nyújtanak.
| Aspect | Alapszűrő tulajdonságai | Választható szűrőtulajdonságok |
|---|---|---|
| Szerep | Állítsd össze a kezdeti jelöltlistát | Szűkítse a jelöltlistát egy objektumra |
| Stabilitás | Szinte soha nem változik az objektum identitásának megváltoztatása nélkül | Periodikusan változhat az objektum identitásának megváltoztatása nélkül |
| Egyezési szabály | Minden jelöltnek meg kell felelnie az összes alaptulajdonságnak | Egyszerre egy tulajdonságot ellenőriz; egy tulajdonságot kihagy, ha az összes jelöltet kizárná. |
| Tipikus példa | HTML-címke, objektumosztály, index | Név, HTML azonosító, alt szöveg, kép forrása |
| Hol van konfigurálva | Objektumazonosítás > Konfigurálás > Alapszűrő tulajdonságai | Objektumazonosítás > Konfigurálás > Opcionális szűrőtulajdonságok |
Mivel ugyanaz a tulajdonság nem szerepelhet mindkét listában, gondosan tervezzük meg a szétválasztást. Azok a tulajdonságok, amelyek alapvetően meghatározzák, hogy egy objektum mit is jelent, az alaplistába tartoznak; azok a tulajdonságok, amelyek csupán segítenek megkülönböztetni a hasonló objektumoktól, az opcionális listába.
Hogyan működik az intelligens azonosítás: a lépésről lépésre történő folyamat
Az intelligens azonosítás csak akkor aktiválódik, ha a tanult leírás és bármely vizuális kapcsolatazonosító nem képes egyetlen objektumot sem meghatározni. Bekapcsolás után UFT egy kiszámítható, négylépéses eliminációs folyamaton keresztül működik:
- Újra kell építeni a jelöltlistát. UFT figyelmen kívül hagyja a tanult leírást, és az objektum szülőjében keres minden olyan objektumot, amely megfelel az összes alap szűrőtulajdonságnak.
- Alkalmazd az első opcionális tulajdonságot. UFT eltávolítja azokat a jelölteket, amelyek nem egyeznek meg az Opcionális szűrőtulajdonságok lista első tulajdonságával.
- Értékelje az eredményt. Ha egynél több jelölt marad, UFT megismétli az előző lépést a következő opcionális tulajdonsággal. Ha egy szűrő minden fennmaradó jelöltet kizárna, UFT ehelyett kihagyja ezt a tulajdonságot, és a következőre ugrik.
- Állj meg egy meccsnél. UFT addig ismétli a szűrési és kiértékelési ciklust, amíg pontosan egy objektum marad, vagy amíg el nem fogynak az ellenőrizendő opcionális tulajdonságok.
Ha az eliminációs folyamat továbbra sem tud egyetlen objektumot sem izolálni, UFT a tanult leírásra, valamint egy sorszámazonosítóra, például indexre, helyre vagy létrehozási időre tér vissza. Ha még ez a kombináció sem képes azonosítani az objektumot, a futási munkamenet szünetel, és futásidejű hibát jelez.
Az intelligens azonosítás engedélyezése vagy letiltása
Az intelligens azonosítás tesztobjektum-osztályonként konfigurálható. Eszközök > Objektumazonosítás. Válassza ki a környezetet és az objektumosztályt, majd kapcsolja be. Intelligens azonosítás engedélyezése, majd kattintson a gombra konfigurálása az adott osztály alap- és opcionális szűrőtulajdonságainak kiválasztásához. Ugyanezen a párbeszédpanelen kikapcsolhatja az opciót egy olyan osztály esetében, amelynek mindig a tanult leírását kell használnia.
Hogyan működik az intelligens azonosítás (videós útmutató)
Az alábbi videó egy élő példán keresztül mutatja be az alap és az opcionális szűrő eltávolításának folyamatát.
Kattints itt ha a videó nem érhető el
Az intelligens azonosítás használatának előnyei és hátrányai
Az intelligens azonosítás növeli a rugalmasságot, de ez a rugalmasság futásidejű költségekkel jár. Mielőtt alapértelmezés szerint engedélyezve hagyná egy teljes objektumtárban, mérlegelje mindkét oldalt.
- ✅ Kibírja a kisebb felhasználói felületbeli változtatásokat: Az átnevezett attribútum vagy az oldalon eltolt pozíció már nem szakítja meg az objektumot érintő összes szkriptet.
- ✅ Csökkenti az objektumtár karbantartását: A tesztelők kevesebb időt töltenek az objektumok újrarögzítésével a kisebb front-end kiadások után.
- ✅ Látható marad az eredményekben: Minden meghívás figyelmeztetést naplóz, így a csapatok ellenőrizhetik, hogy milyen gyakran van szükség a tartalék megoldásra.
- ⚠️ Lassabb tesztvégrehajtás: Egy jelöltlista felépítése és szűrése mérhetően tovább tart, mint egy közvetlen tulajdonságegyeztetés, és a költségek egy nagyobb csomag esetében sokszorosára nőnek.
- ⚠️ Elfedheti a valódi hibákat: Ha az intelligens azonosítás (Smart Identification) észrevétlenül talál egy hasonló objektumot, egy valódi felhasználói felület regressziója észrevétlen maradhat.
- ⚠️ Időszakos felülvizsgálatot igényel: Az alap és az opcionális szűrőtulajdonságokat továbbra is időnként felül kell vizsgálni az alkalmazás fejlődésével.
A legtöbb csapat engedélyezve hagyja az intelligens azonosítást a felderítő és az alacsony gyakoriságú szkripteknél, majd szelektíven letiltja a teljesítménykritikus objektumokon, miután az objektum azonosítási tulajdonságai stabilak lettek.
Módosítsa az objektumtulajdonságot az intelligens azonosítás elkerülése érdekében
Az intelligens azonosítás rugalmassága a fent leírt futásidejű költségekkel jár, ezért sok csapat inkább maga javítja ki az objektumazonosító tulajdonságokat, ahelyett, hogy ismételten a tartalék megoldásra hagyatkozna. Figyeljen két jelre, amely arra utal, hogy egy tulajdonságjavítás jobb, mint egy futásidejű tartalék megoldás: egy intelligens azonosítási figyelmeztetés, amely szinte minden futáskor megjelenik, és egy szkript, amely észrevehetően lelassult a tartalék megoldás elindítása óta. Mindkettő egy olyan objektumra mutat, amelynek alapértelmezett azonosítási tulajdonságai már nem felelnek meg az alkalmazásnak, nem pedig egy egyszeri felhasználói felületi hibára. Az alábbi videó egy valódi bejelentkezési űrlapon mutatja be a javítást.
Kattints itt ha a videó nem érhető el
Videó átirata: Főbb tanulságok
- Az intelligens azonosítás lelassítja a szkriptek végrehajtását, ami nem kívánatos nagy vagy gyakran futtatott csomagok esetén.
- A teljes elkerülése érdekében a tartalék megoldás helyett módosítsa az alapértelmezett objektumazonosító tulajdonságokat.
- In Objektum azonosítása, távolítsa el a „name” karakterláncot a kötelező tulajdonságok közül, és cserélje le „HTML id”-re, hogy a teszt független legyen a névváltoztatásoktól.
- A kötelező tulajdonságlista frissítése után rögzítse újra ugyanazokat a lépéseket.
- Ha a név később „Küldés”-ről „Bejelentkezés”-re változik, a szkript mostantól az intelligens azonosítás aktiválása nélkül fut.
- Hasonlóképpen, ha egy tesztelt objektum bármely kötelező vagy segítő tulajdonsága gyakran változik, cserélje le egy stabilabb tulajdonságra a szkript gyors végrehajtása érdekében.
- A tulajdonságok finomhangolása tapasztalat útján elsajátítható készség; minél többet dolgozol az eszközzel, annál jobb lesz.
Intelligens azonosítás letiltása VBScript használatával
Az intelligens azonosítás kikapcsolható egy teljes futtatási munkamenetre az objektumtár megérintése nélkül a használatával. LetiltásVisszajátszásAlgoritmusHasználata futásidejű beállítás. Ez akkor hasznos, ha egy szkriptnek azonnal le kell hibáznia bármilyen tulajdonságeltérés esetén, ahelyett, hogy csendben visszatérne az eliminációs folyamathoz.
' Disable Smart Identification for this run session Setting("DisableReplayUsingAlgorithm") = 1 Browser("Mercury Tours").Page("Find Flights").WebEdit("userName").Set "mercury" ' Re-enable Smart Identification once the strict steps are done Setting("DisableReplayUsingAlgorithm") = 0
Tartsa a letiltott ablakot a lehető legrövidebbre. A benne futó lépéseknek pontosan meg kell egyezniük a tanult leírásukkal, így a tesztelt alkalmazásban bármilyen jogos eltérés azonnali hibát okoz, ahelyett, hogy szabályos visszalépést eredményezne.
Tudástár
Töltsd le a fenti oktatóanyagban használt weboldalakat önálló gyakorláshoz

