Inteligentní identifikace v QTP/UFT s příkladem
⚡ Chytré shrnutí
Inteligentní identifikace je záložní mechanismus v UFT Jeden pro vyhledání objektu, jehož naučený popis již neodpovídá testované aplikaci, s využitím základních a volitelných vlastností filtru pro zúžení seznamu kandidátů na jednu shodu.

Co je to inteligentní identifikace QTP/UFT?
Inteligentní identifikace je záložní mechanismus rozpoznávání objektů v OpenText UFT Za prvé, nástroj dříve známý jako HP QuickTest Professional (QTP). Pokud běžný identifikační proces nedokáže najít jedinečnou shodu pro naučený popis objektu, UFT spouští inteligentní identifikaci, za předpokladu, že je tento mechanismus povolen v nastavení identifikace objektů pro danou třídu objektu.
Na rozdíl od naučeného popisu nevyžaduje inteligentní identifikace přesnou shodu pro každou uloženou vlastnost. Vyhodnocuje dvě kategorie vlastností, aby zúžila výběr kandidátských objektů na přesně jeden:
- Vlastnosti základního filtru. Nejzákladnější vlastnosti třídy testovacích objektů; ty, jejichž hodnoty se nemohou změnit bez změny podstaty původního objektu.
- Volitelné vlastnosti filtru. Podpůrné vlastnosti, které pomáhají identifikovat objekt, ale s větší pravděpodobností se v průběhu času mění.
Když se spustí inteligentní identifikace, UFT „zapomene“ naučený popis a znovu sestaví nový seznam kandidátů obsahující všechny objekty, které odpovídají všem základním vlastnostem filtru. Poté tento seznam dále zúží a postupně kontroluje volitelné vlastnosti filtru, dokud nezůstane jediný objekt.
Pokud je během běhové relace vyvolána inteligentní identifikace, strom výsledků testu zaznamená varovná zpráva potvrzující, že byl mechanismus použit, a do výsledků je vložen krok inteligentní identifikace, aby odchylka od naučeného popisu zůstala viditelná.
Chytrá identifikace je na třetím místě UFThierarchie identifikace objektů, za naučeným popisem a případným identifikátorem vizuálního vztahu a před ordinálním identifikátorem použitým jako poslední možnost. Pochopení jeho místa vysvětluje, proč jeho úplné zakázání, spíše než oprava základních vlastností, není zřídka nejlepší dlouhodobou volbou pro skript, který se často spouští.
Vlastnosti základního filtru vs. vlastnosti volitelného filtru
Oba filtry fungují společně, ale v procesu eliminace popsaném výše hrají různé role. Níže uvedené srovnání objasňuje, kdy se který filtr používá a jakou eliminační sílu má.
| Vzhled | Vlastnosti základního filtru | Volitelné vlastnosti filtru |
|---|---|---|
| Role | Sestavte počáteční seznam kandidátů | Zúžení seznamu kandidátů na jeden objekt |
| Stabilita | Téměř nikdy se nezmění bez změny identity objektu | Může se periodicky měnit bez změny identity objektu |
| Pravidlo porovnávání | Každý kandidát musí splňovat všechny základní vlastnosti | Kontrolována jedna vlastnost najednou; vlastnost je přeskočena, pokud by vyloučila všechny kandidáty. |
| Typický příklad | HTML tag, třída objektů, index | Název, HTML ID, alternativní text, zdroj obrázku |
| Kde je konfigurováno | Identifikace objektů > Konfigurovat > Vlastnosti základního filtru | Identifikace objektů > Konfigurovat > Volitelné vlastnosti filtru |
Protože stejná vlastnost nemůže být v obou seznamech, pečlivě si naplánujte rozdělení. Vlastnosti, které v podstatě definují, co objekt je, patří do základního seznamu; vlastnosti, které jej pouze pomáhají odlišit od podobných objektů, patří do volitelného seznamu.
Jak funguje inteligentní identifikace: Postup krok za krokem
Inteligentní identifikace se aktivuje pouze tehdy, když se naučenému popisu a jakémukoli identifikátoru vizuálního vztahu nepodaří přesně určit jediný objekt. Po spuštění... UFT funguje prostřednictvím předvídatelného, čtyřkrokového eliminačního procesu:
- Obnovte seznam kandidátů. UFT Ignoruje naučený popis a prohledává nadřazený objekt, aby našel každý objekt, který odpovídá všem základním vlastnostem filtru.
- Použijte první volitelnou vlastnost. UFT odstraní všechny kandidáty, kteří neodpovídají první vlastnosti v seznamu Volitelné vlastnosti filtru.
- Vyhodnoťte výsledek. Pokud zůstane více než jeden kandidát, UFT opakuje předchozí krok s další volitelnou vlastností. Pokud by filtr vyloučil všechny zbývající kandidáty, UFT tuto vlastnost přeskočí a přejde k další.
- Zastavte se u jednoho zápasu. UFT opakuje cyklus filtrování a vyhodnocování, dokud nezůstane přesně jeden objekt, nebo dokud nedojdou volitelné vlastnosti ke kontrole.
Pokud proces eliminace stále nedokáže izolovat jeden objekt, UFT vrací se k naučenému popisu a ordinálnímu identifikátoru, jako je index, umístění nebo čas vytvoření. Pokud ani tato kombinace nedokáže identifikovat objekt, běhová relace se pozastaví a zobrazí se chyba za běhu.
Jak povolit nebo zakázat inteligentní identifikaci
Inteligentní identifikace se konfiguruje pro každou třídu testovaného objektu z Nástroje > Identifikace objektůVyberte prostředí a třídu objektu, zapněte Povolit inteligentní identifikaci, poté klepněte na tlačítko Konfigurace vybrat základní a volitelné vlastnosti filtru pro danou třídu. Stejný dialog umožňuje vypnout tuto možnost pro třídu, která by měla vždy používat svůj naučený popis.
Jak funguje inteligentní identifikace (videonávod)
Níže uvedené video vás na praktickém příkladu provede procesem eliminace základního a volitelného filtru.
klikněte zde pokud video není přístupné
Výhody a nevýhody používání inteligentní identifikace
Inteligentní identifikace zvyšuje odolnost, ale tato odolnost s sebou nese náklady za běhu. Než ji necháte ve výchozím nastavení povolenou v celém úložišti objektů, zvažte obě strany.
- ✅ Přežije drobné změny uživatelského rozhraní: Přejmenovaný atribut nebo posunutá pozice na stránce již nepřeruší každý skript, který se objektu dotkne.
- ✅ Snižuje údržbu úložiště objektů: Testeři tráví méně času opětovným nahráváním objektů po malých vydáních front-endu.
- ✅ Zůstává viditelný ve výsledcích: Každé vyvolání zaznamená varování, takže týmy mohou auditovat, jak často je záložní metoda skutečně potřeba.
- ⚠️ Pomalejší provádění testů: Vytvoření a filtrování seznamu kandidátů trvá měřitelně déle než přímé porovnávání nemovitostí a náklady se u velkého apartmánu násobí.
- ⚠️ Může maskovat skutečné vady: Pokud inteligentní identifikace nenápadně najde podobný objekt, skutečná regrese uživatelského rozhraní může zůstat bez povšimnutí.
- ⚠️ Vyžaduje pravidelnou kontrolu: Základní a volitelné vlastnosti filtru je stále třeba občas kontrolovat s tím, jak se aplikace vyvíjí.
Většina týmů ponechává inteligentní identifikaci zapnutou pro průzkumné a nízkofrekvenční skripty a poté ji selektivně deaktivuje u objektů kritických pro výkon, jakmile jsou vlastnosti identifikace objektu stabilní.
Upravte vlastnost objektu, abyste se vyhnuli inteligentní identifikaci
Flexibilita inteligentní identifikace má s sebou výše popsané náklady za běhu, takže mnoho týmů dává přednost opravě vlastností identifikace objektů samotných, než aby se opakovaně spoléhaly na záložní řešení. Všímejte si dvou signálů, že oprava vlastnosti je lepší než záložní řešení za běhu: varování inteligentní identifikace, které se objevuje téměř při každém spuštění, a skript, který se od spuštění záložního řešení znatelně zpomalil. Oba ukazují na objekt, jehož výchozí vlastnosti identifikace již neodpovídají aplikaci, spíše než na jednorázovou závadu v uživatelském rozhraní. Níže uvedené video demonstruje opravu na skutečném přihlašovacím formuláři.
klikněte zde pokud video není přístupné
Přepis videa: Klíčové poznatky
- Inteligentní identifikace zpomaluje provádění skriptů, což není žádoucí u velkých nebo často spouštěných sad.
- Abyste se tomu úplně vyhnuli, změňte výchozí vlastnosti identifikace objektu namísto spoléhání se na záložní variantu.
- In Identifikace objektu, odeberte z povinných vlastností „name“ a nahraďte ho „HTML id“, aby byl test nezávislý na změnách názvu.
- Po aktualizaci seznamu povinných vlastností zopakujte stejné kroky.
- Pokud se název později změní z „Odeslat“ na „Přihlásit se“, skript se nyní spustí bez spuštění inteligentní identifikace.
- Podobně, pokud se nějaká povinná nebo pomocná vlastnost testovaného objektu často mění, nahraďte ji stabilnější vlastností, aby se zajistilo rychlé provádění skriptu.
- Úprava vlastností je dovednost budovaná zkušenostmi; čím více s nástrojem pracujete, tím lépe se zlepšuje.
Zakázat inteligentní identifikaci pomocí VBScriptu
Inteligentní identifikaci lze také vypnout pro celou relaci běhu, aniž by bylo nutné se dotknout úložiště objektů, a to pomocí ZakázatOpakováníPoužíváníAlgorithmu nastavení za běhu. To je užitečné, když má skript okamžitě selhat při jakékoli neshodě vlastností, místo aby se tiše vrátil k procesu eliminace.
' 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
Udržujte zakázané okno co nejkratší. Kroky spouštěné v něm musí přesně odpovídat svému naučenému popisu, aby jakákoli legitimní odchylka v testované aplikaci způsobila okamžité selhání, nikoli elegantní návrat k předchozímu nastavení.
Materiály
Stáhněte si webové stránky použité ve výše uvedeném tutoriálu pro samostudium

