Smart identifiering i QTP/UFT med exempel

โšก Smart sammanfattning

Smart identifiering รคr en reservmekanism i UFT En fรถr att lokalisera ett objekt nรคr dess inlรคrda beskrivning inte lรคngre matchar den applikation som testas, med hjรคlp av bas- och valfria filteregenskaper fรถr att begrรคnsa en lista med kandidater till en matchning.

  • ๐Ÿ” Definition: Mekanismen aktiveras endast nรคr den inlรคrda beskrivningen inte hittar en enda unik objektmatchning.
  • ๐Ÿงฉ Tvรฅ fastighetstyper: Basfilteregenskaper definierar vad objektet รคr; Valfria filteregenskaper begrรคnsar matchningen ytterligare.
  • โš™๏ธ Elimineringsprocess: UFT รฅterskapar en kandidatlista frรฅn basegenskaper och filtrerar den sedan med hjรคlp av valfria egenskaper en i taget.
  • ๐Ÿ–ฅ๏ธ konfiguration: Aktivera och konfigurera filtren per objektklass frรฅn Verktyg > Objektidentifiering.
  • โš ๏ธ Resultatsynlighet: Varje anrop loggar ett varningssteg i testresultattrรคdet.
  • ???? Prestandaavvรคgning: Den extra filtreringen รถkar kรถrtidskostnaden fรถr stora testsviter.
  • ๐Ÿ”ง Manuell รฅtgรคrd: Ersรคtt en flyktig egenskap som namn med en stabil egenskap som HTML-id fรถr att undvika reservfunktionen.
  • ๐Ÿ’ป Skriptkontroll: Instรคllningen ("DisableReplayUsingAlgorithm") vรคxlar mellan smart identifiering och en hel kรถrsession.

Vad รคr smart identifiering i QTP/UFT?

Smart identifiering รคr en reservmekanism fรถr objektigenkรคnning i OpenText UFT Fรถr det fรถrsta, verktyget tidigare kรคnt som HP QuickTest Professional (QTPOm den normala identifieringsprocessen inte kan hitta en unik matchning fรถr ett objekts inlรคrda beskrivning, UFT utlรถser smart identifiering, fรถrutsatt att mekanismen รคr aktiverad i instรคllningarna fรถr objektidentifiering fรถr det objektets klass.

Till skillnad frรฅn den inlรคrda beskrivningen krรคver inte Smart Identification en exakt matchning fรถr varje lagrad egenskap. Den utvรคrderar tvรฅ kategorier av egenskaper fรถr att begrรคnsa en pool av kandidatobjekt till exakt en:

  • Basfilteregenskaper. De mest grundlรคggande egenskaperna hos en testobjektklass; de vars vรคrden inte kan รคndras utan att det ursprungliga objektets essens รคndras.
  • Valfria filteregenskaper. Stรถdjande egenskaper som hjรคlper till att identifiera ett objekt men som รคr mer benรคgna att fรถrรคndras รถver tid.

Nรคr smart identifiering kรถrs, UFT โ€glรถmmerโ€ den inlรคrda beskrivningen och รฅterskapar en ny kandidatlista som innehรฅller alla objekt som matchar alla basfilteregenskaper. Den begrรคnsar sedan listan ytterligare och kontrollerar de valfria filteregenskaperna en i taget tills ett enda objekt รฅterstรฅr.

Om Smart Identification anropas under en kรถrsession loggar testresultattrรคdet ett varningsmeddelande som bekrรคftar att mekanismen anvรคndes, och ett Smart Identification-steg infogas i resultaten sรฅ att avvikelsen frรฅn den inlรคrda beskrivningen fรถrblir synlig.

Smart identifiering kommer trea i UFTs objektidentifieringshierarki, efter den inlรคrda beskrivningen och eventuell visuell relationsidentifierare, och fรถre den ordinala identifieraren som anvรคnds som en sista utvรคg. Att fรถrstรฅ var den passar in fรถrklarar varfรถr inaktivering av den helt, snarare รคn att รฅtgรคrda de underliggande egenskaperna, sรคllan รคr det bรคsta lรฅngsiktiga valet fรถr ett skript som kรถrs ofta.

Basfilteregenskaper kontra valfria filteregenskaper

Bรฅda filtren fungerar tillsammans, men de spelar olika roller i elimineringsprocessen som beskrivs ovan. Jรคmfรถrelsen nedan klargรถr nรคr vart och ett anvรคnds och hur mycket elimineringskraft varje filter har.

Aspect Egenskaper fรถr basfilter Valfria filteregenskaper
Roll Bygg upp den fรถrsta kandidatlistan Begrรคnsa kandidatlistan till ett objekt
Stabilitet Nรคstan aldrig รคndras utan att objektets identitet รคndras Kan รคndras periodiskt utan att objektets identitet รคndras
Matchningsregel Varje kandidat mรฅste matcha alla basegenskaper Kontrollerade en egenskap i taget; en egenskap hoppas รถver om den skulle eliminera alla kandidater
Typiskt exempel HTML-tagg, objektklass, index Namn, HTML-ID, alt-text, bildkรคlla
Var konfigurerad Objektidentifiering > Konfigurera > Egenskaper fรถr basfilter Objektidentifiering > Konfigurera > Valfria filteregenskaper

Eftersom samma egenskap inte kan finnas i bรฅda listorna, planera uppdelningen noggrant. Egenskaper som definierar vad ett objekt i grunden รคr hรถr hemma i baslistan; egenskaper som bara hjรคlper till att skilja det frรฅn liknande objekt hรถr hemma i den valfria listan.

Sรฅ fungerar smart identifiering: Steg-fรถr-steg-processen

Smart identifiering aktiveras endast efter att den inlรคrda beskrivningen, och nรฅgon visuell relationsidentifierare, inte lyckats identifiera ett enskilt objekt. Nรคr den har aktiverats, UFT fungerar genom en fรถrutsรคgbar elimineringsprocess i fyra steg:

  1. Bygg upp kandidatlistan igen. UFT ignorerar den inlรคrda beskrivningen och skannar objektets รถverordnade objekt efter varje objekt som matchar alla basfilteregenskaper.
  2. Tillรคmpa den fรถrsta valfria egenskapen. UFT tar bort alla kandidater som inte matchar den fรถrsta egenskapen i listan รถver valfria filteregenskaper.
  3. Utvรคrdera resultatet. Om mer รคn en kandidat รฅterstรฅr, UFT upprepar fรถregรฅende steg med nรคsta valfria egenskap. Om ett filter skulle eliminera alla รฅterstรฅende kandidater, UFT hoppar รถver den egenskapen istรคllet och gรฅr vidare till nรคsta.
  4. Stanna vid en match. UFT upprepar filtrerings- och utvรคrderingscykeln tills exakt ett objekt รฅterstรฅr, eller tills det fรฅr slut pรฅ valfria egenskaper att kontrollera.

Om elimineringsprocessen fortfarande inte kan isolera ett enskilt objekt, UFT รฅtergรฅr till den inlรคrda beskrivningen plus en ordinal identifierare, sรฅsom index, plats eller skapandetid. Nรคr inte ens den kombinationen identifierar objektet pausar kรถrsessionen och visar ett kรถrtidsfel.

Sรฅ hรคr aktiverar eller inaktiverar du smart identifiering

Smart identifiering konfigureras per testobjektklass frรฅn Verktyg > ObjektidentifieringVรคlj miljรถ och objektklass, aktivera Aktivera smart identifiering, Klicka sedan Instรคlld fรถr att vรคlja Bas- och Valfria filteregenskaper fรถr den klassen. Samma dialogruta lรฅter dig stรคnga av alternativet fรถr en klass som alltid ska anvรคnda sin inlรคrda beskrivning istรคllet.

Aktivera/inaktivera smart identifiering

Sรฅ fungerar smart identifiering (videogenomgรฅng)

Videon nedan gรฅr igenom den grundlรคggande och valfria filterelimineringsprocessen med ett liveexempel.

Klicka hรคr. om videon inte รคr tillgรคnglig

Fรถrdelar och nackdelar med att anvรคnda smart identifiering

Smart identifiering รถkar motstรฅndskraften, men den motstรฅndskraften har en kostnad under kรถrning. Vรคg bรฅda sidor innan du lรฅter den vara aktiverad som standard รถver ett helt objektlager.

  • โœ… ร–verlever mindre UI-รคndringar: Ett omdรถpt attribut eller en flyttad position pรฅ sidan bryter inte lรคngre alla skript som berรถr objektet.
  • โœ… Minskar underhรฅll av objektfรถrrรฅd: Testare lรคgger mindre tid pรฅ att spela in objekt igen efter smรฅ frontend-releaser.
  • โœ… Syns i resultaten: Varje anrop loggar en varning, sรฅ att team kan granska hur ofta reservfunktionen verkligen behรถvs.
  • โš ๏ธ Lรฅngsammare testkรถrning: Att bygga och filtrera en kandidatlista tar mรคtbart lรคngre tid รคn en direkt fastighetsmatchning, och kostnaden mรฅngdubblas รถver en stor svit.
  • โš ๏ธ Kan maskera verkliga defekter: Om Smart Identification i tysthet hittar ett liknande objekt kan en genuin UI-regression gรฅ obemรคrkt fรถrbi.
  • โš ๏ธ Behรถver regelbunden granskning: Bas- och valfria filteregenskaper behรถver fortfarande granskas dรฅ och dรฅ allt eftersom applikationen utvecklas.

De flesta team lรฅter Smart Identification vara aktiverat fรถr utforskande och lรฅgfrekventa skript, och inaktiverar det sedan selektivt pรฅ prestandakritiska objekt nรคr objektets identifieringsegenskaper รคr stabila.

ร„ndra objektegenskap fรถr att undvika smart identifiering

Smart Identifications flexibilitet kommer med den kรถrtidskostnad som beskrivs ovan, sรฅ mรฅnga team fรถredrar att fixa objektidentifieringsegenskaperna sjรคlva snarare รคn att upprepade gรฅnger fรถrlita sig pรฅ reservlรถsningen. Var uppmรคrksam pรฅ tvรฅ signaler som visar att en egenskapsfix รถvertrรคffar en kรถrtidsreservlรถsning: en Smart Identification-varning som visas vid nรคstan varje kรถrning och ett skript som har blivit mรคrkbart lรฅngsammare sedan reservlรถsningen bรถrjade aktiveras. Bรฅda pekar pรฅ ett objekt vars standardidentifieringsegenskaper inte lรคngre passar applikationen, snarare รคn ett engรฅngsfel i anvรคndargrรคnssnittet. Videon nedan visar fixen pรฅ ett riktigt inloggningsformulรคr.

Klicka hรคr. om videon inte รคr tillgรคnglig

Videotranskription: Viktiga slutsatser

  • Smart identifiering saktar ner skriptkรถrningen, vilket inte รคr รถnskvรคrt fรถr stora eller ofta kรถrda programsviter.
  • Fรถr att undvika det helt, รคndra standardegenskaperna fรถr objektidentifiering istรคllet fรถr att fรถrlita dig pรฅ reservfunktionen.
  • In Objektidentifiering, ta bort โ€namnโ€ frรฅn de obligatoriska egenskaperna och ersรคtt det med โ€HTML-idโ€ fรถr att gรถra testet oberoende av namnรคndringar.
  • Registrera samma steg igen nรคr den obligatoriska egenskapslistan har uppdaterats.
  • Om namnet senare รคndras frรฅn โ€Skickaโ€ till โ€Logga inโ€ kรถrs skriptet nu utan att utlรถsa smart identifiering.
  • Pรฅ samma sรคtt, om nรฅgon obligatorisk eller hjรคlpegenskap pรฅ ett objekt som testas รคndras ofta, ersรคtt den med en mer stabil egenskap fรถr att hรฅlla skriptkรถrningen snabb.
  • Att justera egenskaper รคr en fรคrdighet som byggs upp genom erfarenhet; den fรถrbรคttras ju mer du arbetar med verktyget.

Inaktivera smart identifiering med VBScript

Smart identifiering kan ocksรฅ stรคngas av fรถr en hel kรถrsession utan att vidrรถra objektfรถrrรฅdet med hjรคlp av Inaktivera omspelning med hjรคlp av algoritm kรถrtidsinstรคllning. Detta รคr anvรคndbart nรคr ett skript ska misslyckas omedelbart pรฅ grund av en egenskapsmatchning istรคllet fรถr att tyst รฅtergรฅ till elimineringsprocessen.

' 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

Hรฅll det inaktiverade fรถnstret sรฅ kort som mรถjligt. Stegen som kรถrs inuti det mรฅste exakt matcha sin inlรคrda beskrivning, sรฅ att eventuell legitim avvikelse i applikationen som testas orsakar ett omedelbart fel snarare รคn en smidig reservlรถsning.

Resurser

Ladda ner webbsidorna som anvรคnds i handledningen ovan fรถr sjรคlvรถvning

Vanliga frรฅgor

Nej. Smart identifiering gรคller fรถr de flesta UFT En miljรถ, inklusive Windows, Javaoch .NET-objekt, inte bara webb. Tillgรคngligheten beror pรฅ tillรคgget och testobjektklassen snarare รคn miljรถtypen.

Att bygga en kandidatlista och filtrera den egenskap fรถr egenskap tar lรคngre tid รคn en enda matchning av inlรคrd beskrivning. Pรฅ stora objektdatabaser lรคggs den extra bearbetningen till, sรฅ mรฅnga team inaktiverar den pรฅ prestandakritiska objekt.

Ja. ร–ppna objektet i objektfรถrrรฅdet, gรฅ till Objektegenskaper > Ytterligare detaljer och stรคll in Aktivera smart identifiering till Falskt fรถr endast det objektet, sรฅ att resten av fรถrrรฅdet inte pรฅverkas.

De lรถser ett liknande problem pรฅ olika sรคtt. Sjรคlvlรคkande lokaliseringsanordningar i moderna AI-testverktyg lรคr sig om ett รคndrat element automatiskt, medan Smart Identification filtrerar en fast egenskapslista. Mรฅnga team anvรคnder bรฅda tillsammans.

Nej. Smart identifiering filtrerar lagrade textegenskaper, medan UFT De nyare AI-baserade och Insight-identifieringsteknikerna kรคnner igen objekt visuellt. De tvรฅ fungerar som separata, kompletterande reservlager.

Sammanfatta detta inlรคgg med: