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.
