Reporter.ReportEvent in UFT/QTP met Voorbeeld

⚡ Slimme samenvatting

Reporter.ReportEvent in UFT/QTP Verstuurt aangepaste berichten over geslaagde, mislukte, waarschuwingen en informatie rechtstreeks naar de Run Results Viewer met behulp van de statusconstanten micPass, micFail, micDone en micWarning, waardoor testers een leesbaar, stapsgewijs overzicht krijgen van wat een geautomatiseerd script daadwerkelijk heeft gedaan.

  • 🎯 Definitie: Reporter.ReportEvent schrijft een aangepaste status en bericht naar de UFT Resultatenboom, onafhankelijk van ingebouwde controlepunten.
  • 🧩 Syntax: De methode neemt de volgende parameters als invoer: EventStatus, ReportStepName, Details en een optioneel ImageFilePath, in die volgorde.
  • 🚦 Statusconstanten: micPass, micFail, micDone en micWarning bepalen elk de kleur van de stap en of de uitvoeringsstatus verandert.
  • 🖼️ Screenshots: Geef het pad naar de vastgelegde bitmap door als vierde argument om een ​​afbeelding aan een mislukte stap te koppelen.
  • ⚙️ Aantal eigendommen: Reporter.Filter, Reporter.ReportPath en Reporter.RunStatus bieden controle over wat er wordt gelogd en waar de resultaten worden opgeslagen.
  • 🧪 Voorbeelden: Plaats ReportEvent in een If…Then-controle, zodat elke stap de werkelijke uitkomst (geslaagd of mislukt) rapporteert.
  • ???? filtering: Stel Reporter.Filter in op rfEnableErrorsAndWarnings tijdens CI-runs, zodat geslaagde stappen echte fouten niet maskeren.
  • 📊 Aangepaste rapporten: Combineer results.xml met een XSL- of VBScript-bibliotheek om de resultaten te presenteren zoals belanghebbenden dat verwachten.

Wat is Reporter.ReportEvent in UFT/QTP?

Reporter.ReportEvent is een standaardmethode die is ingebouwd in UFT/QTP (nu verkocht als OpenText/Micro Focus UFT Een daarvan is dat er een aangepast, leesbaar bericht rechtstreeks in het testresultatenvenster wordt weergegeven. In tegenstelling tot de automatische 'geslaagd' of 'mislukt'-oordelen die ingebouwde checkpoints genereren, kan de tester met een ReportEvent-aanroep zelf bepalen wat er precies wordt gelogd, wanneer en hoe het moet worden gelabeld.

In deze HP QTP zelfstudie demonstreert het gebruik van de functie Reporter.ReportEvent en Resultaten opmaakIn deze handleiding wordt u gevraagd een kort script te schrijven. Het voltooien van deze scriptopdracht is de snelste manier om te zien hoe aangepaste rapportages de resultatenstructuur in realtime bijwerken.

Klik hier als de video niet toegankelijk is

Reporter.ReportEvent is vooral belangrijk bij automatisering, omdat een script meestal onbeheerd, volgens een schema of binnen een CI/CD-pipeline wordt uitgevoerd. Het uitvoerbestand is dan het enige bewijs van wat er is gebeurd, dus een stap die stilzwijgend mislukt of zonder uitleg slaagt, maakt debuggen achteraf veel moeilijker. Door na een kritieke actie een expliciete ReportEvent-aanroep toe te voegen, wordt de resultatenstructuur een leesbaar, stapsgewijs auditspoor dat een tester, ontwikkelaar of manager kan raadplegen zonder het script zelf te hoeven openen.

Dit is anders dan een objectcontrolepunt, dat UFT genereert automatisch en rapporteert met behulp van de standaard stapnaam. Reporter.ReportEvent daarentegen stelt u in staat om zakelijk relevante taal toe te voegen, zoals 'Orderbevestiging weergegeven' in plaats van een generieke 'Check Point Pass op WebEdit-object', wat veel gemakkelijker te lezen is voor een niet-technische belanghebbende in het uiteindelijke rapport. De methode werkt op dezelfde manier, ongeacht of het script gericht is op een webpagina, een Windows desktopapplicatie of een mainframe-terminal, aangezien Reporter een globaal object is en geen eigenschap van een specifiek testobject.

Guru99's UFT/QTP Deze serie behandelt deze methode direct daarna. If-, Else- en Exists-instructies, omdat de meeste Reporter.ReportEvent-aanroepen zich binnen een voorwaardelijk blok bevinden dat bepaalt of de uitkomst als micPass of micFail moet worden gerapporteerd.

Syntaxis en EventStatus-waarden van Reporter.ReportEvent

Je kunt gebruiken Reporter.ReportEvent om aangepaste teststappen te rapporteren in Micro Focus UFTDe testresultatenboom van 's. De methode accepteert drie verplichte argumenten en één optioneel argument, in een vaste volgorde, zoals hieronder weergegeven.

Reporter.ReportEvent EventStatus, ReportStepName, Details [, ImageFilePath]

Gebeurtenisstatus Hiermee kunt u het pictogram en de kleur instellen die voor de stap worden weergegeven en de algehele uitvoeringsstatus omkeren; RapportStapnaam is het korte label dat in de testresultatenboom verschijnt, meestal geschreven als het verwachte resultaat; Details Bevat de uitgebreidere beschrijving, doorgaans het daadwerkelijk waargenomen resultaat; en de optionele Afbeeldingsbestandspad Voegt een eerder in het script gemaakte schermafbeelding toe aan die specifieke stap.

WAARDE CONSTANTE EFFECT OP DE RESULTATEN EFFECT OP DE UITVOERINGSSTATUS
0 micPass De stap wordt in de resultatenboom weergegeven als 'Pass'. Geen verandering; de test blijft geslaagd.
1 microfoonfout De stap wordt in de resultatenboom weergegeven als 'Mislukt'. De algehele status van de run verandert in Mislukt.
2 microfoonKlaar De stap wordt weergegeven als een informatiemelding. Geen wijziging in de status Geslaagd/Niet geslaagd
3 microfoonwaarschuwing De stap wordt weergegeven als een waarschuwing. Geen wijziging in de status Geslaagd/Niet geslaagd

Elke constante kan ook als numerieke waarde worden doorgegeven in plaats van als naam, dus Reporter.ReportEvent 1, “Stap”, “Detail” gedraagt ​​zich precies zoals Reporter.ReportEvent micFail, “Stap”, “Detail”Het gebruik van een benoemde constante is gemakkelijker te lezen in een script dat later door een andere tester zal worden onderhouden.

Een script bevat doorgaans meerdere ReportEvent-aanroepen binnen één actie: een micDone-vermelding voordat een actie begint, een micPass- of micFail-vermelding voor de toetscontrole en extra micWarning-vermeldingen voor alles wat onderweg ongebruikelijk is.

  • Wanneer testcases worden uitgevoerd met behulp van automatiseringstools, kan het voor sommige gebruikers lastig zijn om de ruwe testresultaten te begrijpen. U kunt gebruikmaken van Met results.xml kunt u een XSL-bestand maken dat de testresultaten presenteert zoals u dat wilt..
  • U kunt ook gebruik maken van VBScript bibliotheekfuncties om Sla de resultaten op in een XLS- of tekstbestand. voor het rapporteren buiten UFT.

Hoe Reporter.ReportEvent te gebruiken: praktische voorbeelden

De syntax kennen is één ding; het zien ervan in een echt script zorgt ervoor dat de vier statusconstanten op hun plaats vallen. Het onderstaande voorbeeld plaatst een controle in een If…Then…Else-structuur en rapporteert vervolgens een geslaagd of mislukt resultaat met Reporter.ReportEvent, zodat de uitkomst in de resultatenboom precies verschijnt waar een reviewer die verwacht.

If Browser("Guru99 Demo").Page("Guru99 Demo").WebButton("Login").Exist(5) Then
    Reporter.ReportEvent micPass, "Login button check", "Login button was found on the page"
Else
    Reporter.ReportEvent micFail, "Login button check", "Login button was not found on the page"
End If

Dit weerspiegelt het patroon dat wordt getoond in Guru99's VBScript-voorwaardelijke instructies In deze tutorial wordt met een If…Then…Else-blok gekozen tussen twee uitkomsten; het enige verschil is dat elke tak ook Reporter.ReportEvent aanroept om het resultaat te loggen.

Gebruik microfoonKlaar voor een stap die puur informatief is, en microfoonwaarschuwing Wanneer iets ongebruikelijk lijkt, maar de uitvoering niet direct mag mislukken. Het volgende codefragment registreert een gegevensinvoerstap als 'Klaar', markeert een trage reactie als 'Waarschuwing' en voegt een schermafbeelding toe met behulp van het optionele argument ImageFilePath.

Reporter.ReportEvent micDone, "Enter search text", "Typed 'UFT tutorial' into the search box"
errorImage = "C:\Results\SearchDelay.png"
Browser("Guru99 Demo").CaptureBitmap errorImage, True
Reporter.ReportEvent micWarning, "Search response time", "Results took longer than 5 seconds to load", errorImage

Houden RapportStapnaam Kort en bondig houden Details Het is belangrijk om het daadwerkelijke resultaat nauwkeurig weer te geven. Een reviewer die honderden gelogde stappen scant na een mislukte nachtelijke run, moet kunnen zien wat er is gebeurd zonder het script zelf te openen. Een consistente naamgeving voor elke actie maakt die scan bovendien veel sneller.

Teams die ReportEvent vanuit meerdere scripts aanroepen, verplaatsen deze logica vaak naar een gedeelde VBScript-functie, zoals LogStep(status, naam, details), zodat elk script een consistente resultatenstructuur produceert zonder hetzelfde If…Then-blok te herhalen.

Eigenschappen van het Reporter-object: Filter, ReportPath en RunStatus

Reporter.ReportEvent is niet het enige lid van het Reporter-object. Drie extra eigenschappen bieden meer controle over de inhoud van de resultaten en waar deze worden weergegeven. UFT Ze worden opgeslagen en duiken regelmatig op in frameworks voor productieautomatisering.

EIGENDOM DOEL TYPISCH GEBRUIK
Filter Hiermee wordt bepaald welke gebeurtenistypen in de resultaten worden opgenomen. Reporter.Filter = rfEnableErrorsAndWarnings verbergt voltooide stappen in een lange run.
Rapportpad Alleen-lezen; retourneert de map waarin de resultaten van de huidige run zijn opgeslagen. resultatenmap = Rapporteur.Rapportpad
RunStatus Alleen-lezen; geeft de huidige status (geslaagd/mislukt) van de uitvoering tot nu toe weer. Als Reporter.RunStatus = micFail is, dan de actie afsluiten

Reporter.Filter accepteert vier waarden: 0 of rfEnableAll toont alle gebeurtenissen en is de standaardwaarde; 1 of rfEnableErrorsAndWarnings verbergt voltooide stappen; 2 of rfEnableErrorsOnly verbergt zowel voltooide stappen als waarschuwingen; en 3 of rfDisableAll schakelt het loggen van resultaten volledig uit. Door Reporter.RunStatus halverwege een script te controleren, kan een test zijn eigen logica volgen, bijvoorbeeld door stappen over te slaan.ping De resterende stappen in een actie nadat een eerdere stap al is mislukt.

Omdat ReportPath en RunStatus alleen-lezen zijn, kunt u er geen waarde aan toewijzen; gebruik ze om informatie over de huidige uitvoering te lezen, bijvoorbeeld om het pad naar de resultatenmap naar een logbestand te schrijven aan het begin van een script, of om een ​​langdurige actie af te breken na een fatale fout. Het lezen van deze eigenschappen voegt verwaarloosbare overhead toe, dus u kunt Reporter.RunStatus veilig controleren na elke belangrijke stap in een lange regressietestsuite zonder de uitvoering merkbaar te vertragen.

Beste werkwijzen voor Reporter.ReportEvent in UFT

Een paar gewoontes zorgen ervoor dat aangepaste rapportages nuttig blijven in plaats van ruis te veroorzaken.

  • Reserveer micFail voor echte storingen: Elke micFail-oproep wijzigt Reporter.RunStatus, dus het gebruik ervan voor cosmetische problemen maskeert echte defecten later in dezelfde run.
  • Schrijf ReportStepName als een verwacht resultaat: Een beoordelaar moet de controle kunnen afleiden uit de naam van de stap, zonder de kolom 'Details' te hoeven lezen.
  • Maak alleen schermafbeeldingen bij een fout: Het bij elke stap doorgeven van ImageFilePath zorgt ervoor dat de resultatenmap snel vol raakt en vertraagt ​​het proces, zonder veel voordeel.
  • Ruisende runs filteren: Stel Reporter.Filter in op rfEnableErrorsAndWarnings voor geplande of CI-runs, zodat geslaagde stappen de belangrijke fouten niet maskeren.
  • Centraliseer de logica: Wikkel de Reporter.ReportEvent-aanroepen in een herbruikbare container. actie of een functiebibliotheek, zodat elk script in de suite de resultaten op dezelfde manier vastlegt.
  • Exporteer voor niet-technische lezers: Combineer results.xml met een aangepaste XSL wanneer belanghebbenden buiten het QA-team de resultaten moeten kunnen bekijken zonder het bestand te openen. UFT.

Veelgestelde vragen

ReportEvent schrijft platte tekst naar de resultatenstructuur. ReportHTMLEvent is beschikbaar sinds UFT 12.52 accepteert HTML in de stapnaam en details, zodat u tekst in de Run Results Viewer vetgedrukt, gekleurd of opgemaakt kunt maken.

Nee. Alleen micFail verandert de algehele uitvoeringsstatus naar Mislukt. micDone en micWarning schrijven beide een stap naar de resultatenboom ter informatie, maar de test kan nog steeds als Geslaagd worden voltooid, zelfs als er waarschuwingen zijn geregistreerd.

Ja. Leg een bitmap vast met de CaptureBitmap-methode van een object, sla deze op in een bestand en geef het pad naar dat bestand door als het optionele vierde argument ImageFilePath. UFT Geeft de afbeelding weer in het deelvenster 'Vastgelegde gegevens' voor die stap.

Ja. AI-codeerassistenten kunnen de standaard If…Then- en ReportEvent-structuren genereren op basis van een beschrijving van een controle in eenvoudige taal, en kunnen scripts signaleren die micFail verkeerd gebruiken of Details overslaan. Een tester moet echter nog steeds controleren of de geregistreerde status overeenkomt met het werkelijke resultaat.

AI-gestuurde observatietools kunnen een run samenvatten en afwijkingen automatisch markeren, maar Reporter.ReportEvent levert nog steeds de precieze, door ontwikkelaars beheerde stapnamen en statussen die deze tools voeden. De meeste teams gebruiken beide tools samen in plaats van de ene door de andere te vervangen.

Vat dit bericht samen met: