Kontrolpunkter i QTP/UFT med Eksempel
⚡ Smart opsummering
Kontrolpunkter i UFT/QTP Valider om en applikation returnerer den nøjagtige egenskab, tekst, billede eller databaseværdi, som en tester forventer i et trin, og omdanner dermed en optaget afspilning til en bestået eller ikke-bestået dom, som automatiserede teams kan stole på.

Hvad er et checkpoint i UFT/QTP?
A kontrolpost in UFT/QTP er et verifikationspunkt, der sammenligner den aktuelle værdi af en bestemt objektegenskab, sideattribut eller datakilde med en forventet værdi, der blev registreret tidligere i testen. Hvis de aktuelle og forventede værdier stemmer overens, UFT registrerer en BESTÅET status; hvis de ikke gør det, registrerer den en IKKE BESTÅET status.
Checkpoints konverterer et script, der blot afspiller handlinger, til et script, der verificerer resultater. Et optaget script kan fuldføre hvert trin med succes, selv når den applikation, der testes, viser forkert tekst, forkert billede eller en beskadiget databasepost – et checkpoint er det, der fanger denne forskel og rapporterer den.
Hvorfor bruge checkpoints i testautomatisering?
Optagelse af et script afspiller kun en sekvens af klik og tastetryk; det bekræfter aldrig, om applikationen producerede det korrekte resultat. Kontrolpunkter lukker dette hul ved at omdanne hver optagede handling til en testbar påstand med et målbart resultat.
- Konverter afspilning til verifikation, så hver kørsel producerer en tydelig PASS eller FAIL i stedet for blot et færdigt script.
- Opfang regressioner tidligt, før en defekt når et build, som testere antager er stabilt.
- Valider data, der er usynlige under manuel observation, såsom XML-nyttelast, databaserækker eller egenskaber for skjulte objekter.
- Dokumentér forventet adfærd, så alle, der læser scriptet, forstår, hvad "korrekt" betyder i det pågældende trin.
Fordi kontrolpunkter kører automatisk ved hver udførelse, fjerner de behovet for, at en tester manuelt inspicerer hver skærm efter hver cyklus, hvilket er det, der gør det UFT/QTP praktisk til gentagne regressionstest på tværs af bygninger.
Typer af kontrolpunkter i UFT/QTP
UFT/QTP tilbyder adskillige kontrolpunktstyper, så en tester kan validere præcis det aspekt af applikationen, der er vigtigt i et givet trin – en statisk egenskab, en tekstblok, et bitmapbillede, en databasepost eller et helt XML-dokument. Ved at vælge den type, der matcher det objekt, der testes, holder du et trin fokuseret og nemt at vedligeholde.
- Standardkontrolpunkt: Sammenligner de forventede værdier af objektegenskaber, der er registreret under optagelse, med objektets aktuelle værdier under en kørselssession. Det understøttes af alle tilføjelsesmiljøer.
- Sidekontrolpunkt: Et standardtjekpunkt oprettet til en webside. Det kontrollerer det samlede antal links og billeder på siden og kan måle sidens indlæsningstid.
- Tekstkontrolpunkt: Bekræfter, at specifik tekst vises inden for et defineret område af en webside eller en Windows-baseret applikation.
- Kontrolpunkt for tekstområde: Bekræfter, at en tekststreng vises inden for et defineret skærmområde på en Windows-baseret applikation, i henhold til kriterier som matchning med store og små bogstaver eller jokertegn.
- Bitmap-kontrolpunkt: Kontrollerer bitmap'en af et billede eller en hel webside med en pixel-for-pixel sammenligning mellem det faktiske og det forventede billede.
- Billedkontrolpunkt: Kontrollerer egenskaberne for et webbillede, såsom dets kildefilplacering. I modsætning til et Bitmap Checkpoint sammenligner det ikke pixels.
- Tilgængelighedskontrolpunkt: Verificerer overholdelse af World Wide Web Consortium (W3C) retningslinjer for webbaseret teknologi, hvilket gør det nemmere for personer med handicap at bruge applikationen.
- Database-tjekpunkt: Kører en forespørgsel på rekordtid og gemmer de returnerede databaseværdier som forventede værdier; den samme forespørgsel kører igen på kørselstidspunktet, så de faktiske og forventede værdier kan sammenlignes.
- Bordkontrolpunkt: Kontrollerer dynamisk indholdet af celler i en tabel eller et gitter, sammen med tabelegenskaber såsom rækkehøjde og cellebredde. Det minder om et databasekontrolpunkt.
- XML-tjekpunkt: Verificerer XML-data, XML-skema og XML-ressourcer, der er integreret i en webside eller i et separat .xml-dokument.
Tabellen nedenfor sammenligner de ti kontrolpunktstyper side om side, så du kan vælge den rigtige, før du starter optagelsen.
| Kontrolpunkt Type | Verificerer | Bedste brugt til |
|---|---|---|
| Standard | Objektegenskabsværdier | Generel validering på ethvert tilføjelsesobjekt |
| Side | Links, billeder, indlæsningstid | Bekræftelse af, at en webside er helt indlæst |
| tekst | Tilstedeværelsen af specifik tekst | Bekræftelse af visning af en besked eller etiket |
| Tekstområde | Tekst inden for et skærmområde | Windows applikationer med ikke-standard tekstkontroller |
| Bitmap | Billedmatch på pixelniveau | Visuel regression af diagrammer, logoer og layouts |
| Billede | Egenskaber for billedkilde | Bekræftelse af, at den korrekte billedfil leveres |
| Tilgængelighed | W3C-overholdelse | Revision af websider for mangler i tilgængelighed |
| Database | Værdier for forespørgselsresultater | Bekræftelse af, at backend-data matcher brugergrænsefladen |
| Bordlampe | Indhold og layout af gitterceller | Rapporter, søgeresultater og datagitter |
| XML | XML-data og -skema | Webtjenester og XML-drevne sider |
Checkpoint vs. Outputværdi: Hvad er forskellen?
Testere, der er nye til UFT/QTP forveksler ofte kontrolpunkter med outputværdier, fordi begge indsættes fra den samme menu og begge læser en live-egenskab fra et objekt. De to funktioner tjener modsatte formål.
| Aspect | Checkpoint | Output værdi |
|---|---|---|
| Formål | Bekræfter, at en registreret egenskab matcher en forventet værdi | Indfanger en runtime-egenskab, så et senere trin kan genbruge den |
| Bestået/ikke bestået effekt | Mislykkes med trinnet og rapporterer en uoverensstemmelse i resultaterne | Dumper aldrig testen af sig selv |
| Hvor værdien går hen | Sammenlignet internt, vist som BESTÅET/IKKE BESTÅET i testresultater | Gemt i runtime-datatabellen eller en variabel |
| Typisk brug | Bekræft en sidetitel eller en databasetotal | Overfør et genereret ordrenummer til den næste handling |
Brug et kontrolpunkt, når scriptet har brug for bevis for bestået/ikke bestået, og en outputværdi, når et senere trin har brug for de registrerede data som input.
Sådan indsætter du et checkpoint UFT/QTP
De fleste checkpoint-typer kan kun indsættes, mens UFT optager; når optagelsen stopper, bliver kontrolpunktsmenuen utilgængelig for nye indsættelser. Trinene nedenfor indsætter et standardkontrolpunkt, den type der bruges oftest.
Klik link. hvis videoen ikke er tilgængelig
- Åbn programmet under test, og starte optagelsen in UFT.
- Naviger til den skærm eller det objekt, der skal verificeres, og højreklik derefter på det trin, som kontrolpunktet hører til umiddelbart efter.
- Fra kontekstmenuen skal du vælge Indsæt standardkontrolpunkt, eller vælge en bestemt type – Bitmap, Database, Tabel osv. – fra undermenuen Kontrolpunkt.
- I dialogboksen Egenskaber for kontrolpunkt skal du beholde standardnavnet for kontrolpunkt eller erstatte det med et beskrivende navn.
- Vælg de objektegenskaber, der skal verificeres. Hver valgt egenskab er markeret med et flueben; ABC-ikonet markerer en konstant værdi, og ikonet ændres, hvis egenskaben er parametriseret.
- Klik på OK. UFT indsætter en Check-sætning umiddelbart efter det aktuelle trin.
- Stop optagelsen, og afspil testen igen for at bekræfte, at kontrolpunktet rapporterer BESTÅET.
⚠ Almindelig fejl: Hvis trinnet umiddelbart før kontrolpunktet lukker eller erstatter det vindue, det er målrettet mod, UFT kaster en kørselsfejl, fordi objektet ikke længere eksisterer, når kontrolpunktet forsøger at læse det. HP QTP, er det normalt nok at omarrangere de berørte trin, så målobjektet stadig er åbent, når kontrolpunktet udføres, til at løse problemet.
VBScript-uddraget nedenfor viser den samme idé udtrykt gennem UFT automatiseringsobjektmodel: en Check-sætning, der returnerer en boolsk værdi, som scriptet derefter rapporterer via Reporter-objektet.
Dim Result ' Holds the PASS/FAIL outcome of the checkpoint Browser("Flight Reservation").Page("Flight Reservation").WinEdit("Agent Name:").Set "Diana" Browser("Flight Reservation").Page("Flight Reservation").WinButton("OK").Click ' Run the Standard Checkpoint that was inserted after the OK click Result = Browser("Flight Reservation").Page("Flight Reservation").Check(CheckPoint("Flight Reservation Window")) If Result Then Reporter.ReportEvent micPass, "Checkpoint Passed", "Flight Reservation window matches expected values" Else Reporter.ReportEvent micFail, "Checkpoint Failed", "Flight Reservation window does not match expected values" End If
Denne video demonstrerer de forskellige typer af checkpoints, der er tilgængelige i UFT/QTP, inklusive standard-, bitmap- og databasekontrolpunkter i aktion.
Bedste praksis for effektiv brug af kontrolpunkter
Et kontrolpunkt er kun så pålideligt som det objekt og den egenskab, det er rettet mod. Fremgangsmåderne nedenfor holder kontrolpunkterne nøjagtige, når den applikation, der testes, ændrer sig.
- Tjek det specifikke objekt, ikke hele siden, for at undgå skrøbelige tests, der fejler ved irrelevante ændringer i brugergrænsefladen.
- Hold det markerede objekt åbent, når kontrolpunktet udføres; ændring af rækkefølgen af et trin er ofte løsningen på den ovenfor beskrevne kørselsfejl "objekt ikke fundet".
- Foretrække Database eller XML-kontrolpunkter frem for bitmap-kontrolpunkter til datavalidering — bitmap-sammenligninger afbrydes ved ændringer i skrifttype, opløsning eller tema, der ikke har noget med dataene at gøre.
- Parameteriser kontrolpunktsværdier fra en datatabel, når den samme kontrol skal køres på tværs af flere testiterationer.
- Navngiv hvert kontrolpunkt beskrivende, så en fejl er let at finde i vinduet Testresultater.
- Par kontrolpunkter med synkronisering, f.eks. en Wait-sætning eller Sync metode, så en kontrol aldrig kører, før siden er færdigindlæst.
