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.

  • 🔍 Definice: Mechanismus se aktivuje pouze tehdy, když naučený popis nenajde ani jednu shodu s unikátním objektem.
  • 🧩 Dva typy nemovitostí: Základní vlastnosti filtru definují, co je objekt; volitelné vlastnosti filtru dále zúžují shodu.
  • ⚙️ Proces eliminace: UFT znovu sestaví seznam kandidátů ze základních vlastností a poté jej filtruje pomocí volitelných vlastností jednu po druhé.
  • 🖥️ Konfigurace: Povolte a nakonfigurujte filtry pro každou třídu objektů v nabídce Nástroje > Identifikace objektů.
  • ⚠️ Viditelnost výsledků: Každé volání zaznamená varovný krok do stromu výsledků testu.
  • 🐢 Kompromis ve výkonu: Dodatečné filtrování zvyšuje režijní náklady za běhu u velkých testovacích sad.
  • 🔧 Ruční oprava: Nahraďte volatilní vlastnost, jako je name, stabilní vlastností, jako je HTML id, abyste se vyhnuli záložnímu režimu.
  • 💻 Ovládání skriptů: Nastavení („DisableReplayUsingAlgorithm“) přepíná inteligentní identifikaci pro celou relaci běhu.

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:

  1. 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.
  2. Použijte první volitelnou vlastnost. UFT odstraní všechny kandidáty, kteří neodpovídají první vlastnosti v seznamu Volitelné vlastnosti filtru.
  3. 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ší.
  4. 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.

Povolit/zakázat inteligentní identifikaci

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

Nejčastější dotazy

Ne. Inteligentní identifikace platí ve většině UFT Jedno prostředí, včetně Windows, Javaa objekty .NET, nejen webové. Dostupnost závisí na třídě doplňku a testovacího objektu, nikoli na typu prostředí.

Vytvoření seznamu kandidátů a jeho filtrování vlastnost po vlastnosti trvá déle než jediná shoda s naučeným popisem. U velkých repozitářů objektů se dodatečné zpracování sčítá, takže mnoho týmů tuto funkci u objektů kritických pro výkon deaktivuje.

Ano. Otevřete objekt v úložišti objektů, přejděte do části Vlastnosti objektu > Další podrobnosti a nastavte možnost Povolit inteligentní identifikaci na hodnotu Nepravda pouze pro daný objekt, zbytek úložiště ponechte nedotčený.

Podobný problém řeší odlišně. Samoléčivé lokátory v moderních Nástroje pro testování AI automaticky znovu učí změněný prvek, zatímco inteligentní identifikace filtruje pevný seznam vlastností. Mnoho týmů používá obojí společně.

Ne. Inteligentní identifikace filtruje uložené textové vlastnosti, zatímco UFT Novější identifikační techniky založené na umělé inteligenci a Insight rozpoznávají objekty vizuálně. Tyto dvě fungují jako samostatné, doplňkové záložní vrstvy.

Shrňte tento příspěvek takto: