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.

  • 🔍 Meghatározás: A mechanizmus csak akkor aktiválódik, ha a tanult leírás nem talál egyetlen egyedi objektumegyezést sem.
  • 🧩 Két ingatlantípus: Az alap szűrőtulajdonságok határozzák meg, hogy mi az objektum; az opcionális szűrőtulajdonságok tovább szűkítik a találatokat.
  • 🇧🇷 Eliminációs folyamat: UFT újraépít egy jelöltlistát az alap tulajdonságok alapján, majd egyesével szűri az opcionális tulajdonságok segítségével.
  • 🖥️ Konfiguráció: Engedélyezze és konfigurálja a szűrőket objektumosztályonként az Eszközök > Objektumazonosítás menüpontban.
  • ⚠️ Eredmény láthatósága: Minden hívás naplóz egy figyelmeztető lépést a teszteredmények fájában.
  • ???? Teljesítménybeli kompromisszum: A plusz szűrés futásidejű többletterhelést jelent a nagyméretű tesztcsomagokban.
  • 🔧 Manuális javítás: A tartalék megoldás elkerülése érdekében cserélj le egy illékony tulajdonságot, például a nevet, egy stabilra, például a HTML azonosítóra.
  • ???? Szkriptvezérlés: A beállítás („DisableReplayUsingAlgorithm”) bekapcsolja az intelligens azonosítást egy teljes futtatási munkamenetre.

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:

  1. Ú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.
  2. 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.
  3. É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.
  4. Á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.

Intelligens azonosítás engedélyezése/letiltása

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

GYIK

Nem. Az intelligens azonosítás a legtöbb helyen működik. UFT Egy környezet, beleértve Windows, Java, és .NET objektumok, nem csak webesek. Az elérhetőség a bővítménytől és a tesztobjektum osztályától függ, nem pedig a környezet típusától.

Egy jelöltlista felépítése és tulajdonság szerinti szűrése tovább tart, mint egyetlen tanult leírás szerinti egyezés. Nagy objektumtárházakban a többletfeldolgozás összeadódik, ezért sok csapat letiltja ezt a teljesítménykritikus objektumoknál.

Igen. Nyissa meg az objektumot az Objektumtárban, lépjen az Objektum tulajdonságai > További részletek menüpontra, és állítsa az Intelligens azonosítás engedélyezése beállítást Hamis értékre csak az adott objektumra vonatkozóan, a tár többi részét pedig érintetlenül hagyja.

Hasonló problémát másképp oldanak meg. Öngyógyító lokátorok a modernben AI tesztelő eszközök automatikusan újratanulja a megváltozott elemet, míg az intelligens azonosítás egy fix tulajdonságlistát szűr. Sok csapat együttesen használja a kettőt.

Nem. Az intelligens azonosítás szűri a tárolt szövegtulajdonságokat, miközben UFT Az egyik újabb mesterséges intelligencia alapú és Insight azonosítási technikája vizuálisan ismeri fel az objektumokat. A kettő különálló, egymást kiegészítő tartalék rétegként működik.

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