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.

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:
- Bygg upp kandidatlistan igen. UFT ignorerar den inlรคrda beskrivningen och skannar objektets รถverordnade objekt efter varje objekt som matchar alla basfilteregenskaper.
- Tillรคmpa den fรถrsta valfria egenskapen. UFT tar bort alla kandidater som inte matchar den fรถrsta egenskapen i listan รถver valfria filteregenskaper.
- 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.
- 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.
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

