Smart identifikation i QTP/UFT med Eksempel

⚡ Smart opsummering

Smart Identifikation er en reservemekanisme i UFT En til at lokalisere et objekt, når dets lærte beskrivelse ikke længere matcher den applikation, der testes, ved hjælp af basis- og valgfrie filteregenskaber til at indsnævre en liste over kandidater til ét match.

  • 🔍 Definition: Mekanismen aktiveres kun, når den lærte beskrivelse ikke finder ét unikt objektmatch.
  • 🧩 To ejendomstyper: Basisfilteregenskaber definerer, hvad objektet er; valgfrie filteregenskaber indsnævrer matchningen yderligere.
  • 🇧🇷 Elimineringsproces: UFT genopbygger en kandidatliste fra basisegenskaber og filtrerer den derefter ved hjælp af valgfrie egenskaber én efter én.
  • 🖥️ Konfiguration: Aktivér og konfigurer filtrene pr. objektklasse fra Værktøjer > Objektidentifikation.
  • ⚠️ Resultatets synlighed: Hvert kald logger et advarselstrin i testresultattræet.
  • ???? Ydelsesafvejning: Den ekstra filtrering øger runtime-overhead på tværs af store testsuiter.
  • 🔧 Manuel rettelse: Erstat en flygtig egenskab som navn med en stabil egenskab som HTML-id for at undgå fallback-funktionen.
  • 💻 Scriptkontrol: Indstillingen ("DisableReplayUsingAlgorithm") slår Smart Identification til/fra for en hel kørselssession.

Hvad er Smart Identifikation i QTP/UFT?

Smart identifikation er en reservemekanisme til objektgenkendelse i OpenText UFT For det første, værktøjet tidligere kendt som HP QuickTest Professional (QTPHvis den normale identifikationsproces ikke kan finde et unikt match for et objekts lærte beskrivelse, UFT udløser Smart Identifikation, forudsat at mekanismen er aktiveret i indstillingerne for Objektidentifikation for det pågældende objekts klasse.

I modsætning til den lærte beskrivelse kræver Smart Identification ikke et præcist match på hver gemt egenskab. Den evaluerer to kategorier af egenskaber for at indsnævre en pulje af kandidatobjekter til præcis én:

  • Grundfilteregenskaber. De mest grundlæggende egenskaber ved en testobjektklasse; dem hvis værdier ikke kan ændres uden at ændre essensen af ​​det oprindelige objekt.
  • Valgfrie filteregenskaber. Understøttende egenskaber, der hjælper med at identificere et objekt, men som er mere tilbøjelige til at ændre sig over tid.

Når Smart Identification kører, UFT "glemmer" den lærte beskrivelse og genopbygger en ny kandidatliste, der indeholder alle objekter, der matcher alle basisfilteregenskaberne. Derefter indsnævres listen yderligere, og de valgfrie filteregenskaber kontrolleres én ad gangen, indtil et enkelt objekt er tilbage.

Hvis Smart Identification aktiveres under en kørselssession, logger testresultattræet en advarselsmeddelelse, der bekræfter, at mekanismen blev brugt, og et Smart Identification-trin indsættes i resultaterne, så afvigelsen fra den lærte beskrivelse forbliver synlig.

Smart Identification er nummer tre i UFTs objektidentifikationshierarki, efter den lærte beskrivelse og enhver visuel relationsidentifikator, og før den ordinale identifikator, der bruges som en sidste udvej. At forstå, hvor det passer ind, forklarer, hvorfor deaktivering af det fuldstændigt, i stedet for at rette de underliggende egenskaber, sjældent er det bedste langsigtede valg for et script, der kører ofte.

Basisfilteregenskaber vs. valgfrie filteregenskaber

Begge filtre fungerer sammen, men de spiller forskellige roller i den ovenfor beskrevne elimineringsprocessen. Sammenligningen nedenfor tydeliggør, hvornår hvert enkelt anvendes, og hvor meget elimineringskraft hvert enkelt har.

Aspect Egenskaber for basisfilter Valgfri filteregenskaber
roller Opret den indledende kandidatliste Indskrænk kandidatlisten til ét objekt
Stabilitet Ændrer sig næsten aldrig uden at ændre objektets identitet Kan ændres periodisk uden at ændre objektets identitet
Matchende regel Enhver kandidat skal matche alle basisegenskaber Markerede én egenskab ad gangen; en egenskab springes over, hvis den ville eliminere alle kandidater
Typisk eksempel HTML-tag, objektklasse, indeks Navn, HTML-id, alt-tekst, billedkilde
Hvor konfigureret Objektidentifikation > Konfigurer > Egenskaber for basisfilter Objektidentifikation > Konfigurer > Valgfri filteregenskaber

Da den samme egenskab ikke kan være på begge lister, skal opdelingen planlægges omhyggeligt. Egenskaber, der definerer, hvad et objekt fundamentalt er, hører hjemme på basislisten; egenskaber, der blot hjælper med at skelne det fra lignende objekter, hører hjemme på den valgfri liste.

Sådan fungerer smart identifikation: Trin-for-trin-processen

Smart Identifikation aktiveres kun, når den lærte beskrivelse, og en visuel relationsidentifikator, ikke kan identificere et enkelt objekt. Når den er udløst, UFT fungerer gennem en forudsigelig elimineringsproces i fire trin:

  1. Genopbyg kandidatlisten. UFT ignorerer den lærte beskrivelse og scanner objektets overordnede objekt for hvert objekt, der matcher alle basisfilterets egenskaber.
  2. Anvend den første valgfrie egenskab. UFT fjerner alle kandidater, der ikke matcher den første egenskab på listen over valgfrie filteregenskaber.
  3. Evaluer resultatet. Hvis der er mere end én kandidat tilbage, UFT gentager det forrige trin med den næste valgfrie egenskab. Hvis et filter ville fjerne alle resterende kandidater, UFT springer i stedet den egenskab over og går videre til den næste.
  4. Stop ved én kamp. UFT gentager filter-og-evaluer-cyklussen, indtil der er præcis ét objekt tilbage, eller indtil der ikke er flere valgfrie egenskaber at kontrollere.

Hvis elimineringsprocessen stadig ikke kan isolere et enkelt objekt, UFT falder tilbage til den lærte beskrivelse plus en ordinal identifikator, såsom indeks, placering eller oprettelsestidspunkt. Når selv denne kombination ikke kan identificere objektet, sættes kørselssessionen på pause og viser en kørselsfejl.

Sådan aktiverer eller deaktiverer du smart identifikation

Smart Identifikation konfigureres pr. testobjektklasse fra Værktøjer > ObjektidentifikationVælg miljøet og objektklassen, og tænd Aktivér smart identifikation, og klik derefter på Konfigurer for at vælge Base- og Optional Filter Properties for den pågældende klasse. Den samme dialogboks lader dig slå indstillingen fra for en klasse, der altid skal bruge sin lærte beskrivelse i stedet.

Aktiver/deaktiver Smart Identification

Sådan fungerer smart identifikation (videogennemgang)

Videoen nedenfor gennemgår den grundlæggende og valgfrie filterelimineringsprocessen med et live-eksempel.

Klik link. hvis videoen ikke er tilgængelig

Fordele og ulemper ved at bruge smart identifikation

Smart Identifikation tilføjer robusthed, men denne robusthed har en omkostning under kørsel. Afvej begge sider, før du lader den være aktiveret som standard på tværs af et helt objektlager.

  • ✅ Overlever mindre ændringer i brugergrænsefladen: En omdøbt attribut eller en forskudt position på siden afbryder ikke længere alle scripts, der berører objektet.
  • ✅ Reducerer vedligeholdelse af objektarkiv: Testere bruger mindre tid på at genindspille objekter efter små frontend-udgivelser.
  • ✅ Forbliver synlig i resultaterne: Hvert kald logger en advarsel, så teams kan kontrollere, hvor ofte fallback-funktionen virkelig er nødvendig.
  • ⚠️ Langsommere testudførelse: Det tager målbart længere tid at opbygge og filtrere en kandidatliste end et direkte match af ejendomme, og omkostningerne mangedobles på tværs af en stor suite.
  • ⚠️ Kan maskere reelle defekter: Hvis Smart Identification i stilhed finder et lignende objekt, kan en ægte UI-regression gå ubemærket hen.
  • ⚠️ Skal gennemgås regelmæssigt: Basis- og valgfrie filteregenskaber skal stadig gennemgås lejlighedsvis, efterhånden som applikationen udvikler sig.

De fleste teams lader Smart Identification være aktiveret for udforskende og lavfrekvente scripts og deaktiverer den derefter selektivt på ydeevnekritiske objekter, når objektets identifikationsegenskaber er stabile.

Rediger objektegenskab for at undgå smart identifikation

Smart Identifications fleksibilitet kommer med den ovenfor beskrevne omkostninger under runtime, så mange teams foretrækker at rette objektidentifikationsegenskaberne selv i stedet for gentagne gange at stole på fallback'en. Vær opmærksom på to signaler om, at en egenskabsrettelse overgår en runtime-fallback: en Smart Identification-advarsel, der vises ved næsten hver kørsel, og et script, der er blevet mærkbart langsommere, siden fallback'en begyndte at aktiveres. Begge peger på et objekt, hvis standardidentifikationsegenskaber ikke længere passer til applikationen, snarere end en engangsfejl i brugergrænsefladen. Videoen nedenfor demonstrerer rettelsen på en rigtig loginformular.

Klik link. hvis videoen ikke er tilgængelig

Videotransskription: Vigtige konklusioner

  • Smart identifikation forsinker scriptudførelsen, hvilket ikke er ønskeligt for store eller hyppigt kørende suiter.
  • For at undgå det helt, skal du ændre standardegenskaberne for objektidentifikation i stedet for at stole på fallback-metoden.
  • In Objektidentifikation, fjern "navn" fra de obligatoriske egenskaber og erstat det med "HTML-id" for at gøre testen uafhængig af navneændringer.
  • Gentag de samme trin, når listen over obligatoriske egenskaber er blevet opdateret.
  • Hvis navnet senere ændres fra "Send" til "Login", kører scriptet nu uden at udløse Smart Identification.
  • På samme måde, hvis en obligatorisk eller hjælpeegenskab på et objekt under test ændres ofte, skal den erstattes med en mere stabil egenskab for at holde scriptudførelsen hurtig.
  • Egenskabsjustering er en færdighed, der opbygges gennem erfaring; den forbedres, jo mere du arbejder med værktøjet.

Deaktiver smart identifikation ved hjælp af VBScript

Smart Identification kan også slås fra i en hel kørselssession uden at røre objektarkivet ved hjælp af Deaktiver genafspilning ved hjælp af algoritme kørselsindstilling. Dette er nyttigt, når et script fejler øjeblikkeligt på grund af en egenskabsfejl i stedet for lydløst at vende tilbage til 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

Hold det deaktiverede vindue så kort som muligt. Trin, der køres i det, skal stemme nøjagtigt overens med deres lærte beskrivelse, så enhver legitim afvigelse i den applikation, der testes, forårsager en øjeblikkelig fejl snarere end et elegant fallback.

Ressourcer

Download websiderne, der blev brugt i ovenstående vejledning, til selvøvelse

Ofte Stillede Spørgsmål

Nej. Smart Identification gælder for de fleste UFT Et miljø, inklusive Windows, Javaog .NET-objekter, ikke kun Web. Tilgængeligheden afhænger af tilføjelsesprogrammet og testobjektklassen snarere end miljøtypen.

Det tager længere tid at opbygge en kandidatliste og filtrere den, egenskab for egenskab, end at matche en enkelt lært beskrivelse. På store objektlagre akkumuleres den ekstra behandling, så mange teams deaktiverer den på ydeevnekritiske objekter.

Ja. Åbn objektet i objektarkivet, gå til Objektegenskaber > Yderligere detaljer, og indstil Aktiver smart identifikation til Falsk for kun det objekt, så resten af ​​arkivet forbliver uændret.

De løser et lignende problem forskelligt. Selvreparerende lokaliseringsanordninger i moderne AI-testværktøjer genlære et ændret element automatisk, mens Smart Identification filtrerer en fast egenskabsliste. Mange teams bruger begge dele sammen.

Nej. Smart Identification filtrerer gemte tekstegenskaber, mens UFT Ens nyere AI-baserede og Insight-identifikationsteknikker genkender objekter visuelt. De to fungerer som separate, komplementære reservelag.

Opsummer dette indlæg med: