Reporter.ReportEvent u UFT/QTP s Primjerom

⚡ Pametni sažetak

Reporter.ReportEvent u UFT/QTP šalje prilagođene poruke o prolazu, neuspjehu, upozorenju i informativne poruke izravno u preglednik rezultata pokretanja koristeći konstante statusa micPass, micFail, micDone i micWarning, dajući testerima čitljiv, korak-po-korak zapis onoga što je automatizirani skript zapravo učinio.

  • 🎯 Definicija: Reporter.ReportEvent zapisuje prilagođeni status i poruku u UFT Stablo rezultata, neovisno o ugrađenim kontrolnim točkama.
  • 🧩 Sintaksa: Metoda uzima EventStatus, ReportStepName, Details i opcionalni ImageFilePath, tim redoslijedom.
  • 🚦 Konstante statusa: micPass, micFail, micDone i micWarning postavljaju boju koraka i hoće li se status izvođenja promijeniti.
  • 🖼️ Slike: Kao četvrti argument proslijedite snimljenu putanju bitmape za dodavanje slike neuspjelom koraku.
  • ️ Nekretnine: Reporter.Filter, Reporter.ReportPath i Reporter.RunStatus dodaju kontrolu nad time što se bilježi i gdje se rezultati spremaju.
  • 🧪 Primjeri: Zamotajte ReportEvent unutar If…Then provjere tako da svaki korak izvještava o uspjehu ili neuspjehu na temelju stvarnog ishoda.
  • ???? Filtriranje: Postavite Reporter.Filter na rfEnableErrorsAndWarnings tijekom CI izvršavanja kako propušteni koraci ne bi zakopali stvarne greške.
  • 📊 Prilagođena izvješća: Kombinirajte results.xml s XSL-om ili VBScript bibliotekom kako biste rezultate predstavili onako kako ih dionici očekuju.

Što je Reporter.ReportEvent u UFT/QTP?

Reporter.ReportEvent je standardna metoda ugrađena u UFT/QTP (sada se prodaje kao OpenText/Mikro fokus UFT Jedan) koji zapisuje prilagođenu, ljudima čitljivu poruku izravno u prozor s rezultatima testa. Za razliku od automatskih presuda o prolazu ili padu koje generiraju ugrađene kontrolne točke, poziv ReportEvent omogućuje testeru da odluči točno što će se zabilježiti, kada i kako će se to označiti.

Ova HP QTP udžbenik demonstrira korištenje funkcije Reporter.ReportEvent i Oblikovanje rezultataU vodiču se traži da izradite kratki skript, a dovršavanje te vježbe skriptiranja najbrži je način da vidite kako prilagođeno izvješćivanje ažurira stablo rezultata u stvarnom vremenu.

Kliknite ovdje ako video nije dostupan

Reporter.ReportEvent je najvažniji u automatizaciji jer se skripta obično izvršava bez nadzora, prema rasporedu ili unutar CI/CD cjevovoda. Datoteka s rezultatima izvršavanja postaje jedini zapis o tome što se dogodilo, pa korak koji tiho ne uspije ili prođe bez objašnjenja znatno otežava kasnije otklanjanje pogrešaka. Dodavanje eksplicitnog poziva ReportEvent nakon kritične radnje pretvara stablo rezultata u čitljiv, korak-po-korak revizijski trag koji tester, programer ili menadžer može pregledati bez otvaranja same skripte.

Ovo se razlikuje od kontrolne točke objekta, koja UFT automatski generira i izvještava koristeći vlastiti zadani naziv koraka. Reporter.ReportEvent umjesto toga omogućuje vam dodavanje poslovno smislenog jezika, kao što je „Prikazana potvrda narudžbe“ umjesto generičkog „Check Point Pass na WebEdit objektu“, što je puno lakše čitati netehničkim dionicima u konačnom izvješću. Metoda funkcionira na isti način bez obzira cilja li skripta web stranicu, Windows desktop aplikacija ili mainframe terminal, budući da je Reporter globalni objekt, a ne svojstvo bilo kojeg testnog objekta.

Gurušezdesete UFT/QTP Serija pokriva ovu metodu odmah nakon Naredbe If, ​​Else i Exists, jer se većina poziva Reporter.ReportEvent nalazi unutar uvjetnog bloka koji odlučuje treba li ishod prijaviti kao micPass ili micFail.

Sintaksa i vrijednosti EventStatusa klase Reporter.ReportEvent

Možete koristiti Reporter.ReportEvent za prijavu prilagođenih koraka testiranja u Micro Focusu UFTStablo rezultata testiranja. Metoda prihvaća tri obavezna argumenta i jedan opcionalni argument, fiksnim redoslijedom, kao što je prikazano u nastavku.

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

Status događaja postavlja ikonu i boju prikazanu za korak i može promijeniti ukupni status izvođenja; Naziv koraka izvješća je kratka oznaka koja se pojavljuje u stablu rezultata testiranja, obično napisana kao očekivani rezultat; Detaljnije sadrži dulji opis, obično stvarni opaženi rezultat; i opcionalni PutanjaSlikovneDatoteke prilaže snimku zaslona snimljenu ranije u skripti tom određenom koraku.

VRIJEDNOST KONSTANTA UTJECAJ NA REZULTATE UTJECAJ NA STATUS IZVOĐENJA
0 micPass Korak je prikazan kao Prolaz u stablu rezultata Nema promjena; test se nastavlja kao prolazan
1 mikrofonNeuspjeh Korak je prikazan kao Neuspjeh u stablu rezultata Ukupni status izvršavanja mijenja se u Neuspješno
2 mikrofonGotovo Korak se prikazuje kao informativna poruka Nema promjene statusa Prošao/Ne prošao
3 Upozorenje za mikrofon Korak se prikazuje kao upozorenje Nema promjene statusa Prošao/Ne prošao

Svaka konstanta se također može proslijediti kao njezina numerička vrijednost umjesto njezina imena, tako da Reporter.ReportEvent 1, „Korak“, „Detalji“ ponaša se točno kao Reporter.ReportEvent micFail, "Korak", "Detalji"Korištenje imenovane konstante lakše je za čitanje u skripti koju će kasnije održavati drugi tester.

Skripta obično ugnijezdi nekoliko poziva ReportEvent unutar jedne akcije: unos micDone prije početka akcije, jedan unos micPass ili micFail za provjeru ključa i dodatne unose micWarning za sve neobično što se primijeti usput.

  • Kada se testni slučajevi izvršavaju pomoću alata za automatizaciju, određenim korisnicima može biti teško razumjeti sirove rezultate testiranja. Možete koristiti results.xml za stvaranje XSL datoteke koja prikazuje rezultate testa na način koji želite.
  • Vous korištenje pouvez aussi VBScript funkcije knjižnice za pohraniti rezultate u xls ili tekstualnu datoteku za izvještavanje izvan UFT.

Kako koristiti Reporter.ReportEvent: Praktični primjeri

Poznavanje sintakse je jedno; vidjeti je unutar pravog skripta je ono što čini da četiri konstante statusa kliknu. Primjer u nastavku omotava provjeru unutar naredbe If…Then…Else, a zatim izvještava o prolazu ili neuspjehu s Reporter.ReportEvent tako da se ishod pojavljuje u stablu rezultata točno tamo gdje ga recenzent očekuje.

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

To odražava uzorak prikazan u Gurušezdesete VBScript uvjetne naredbe tutorial, gdje blok If…Then…Else bira između dva ishoda; jedina razlika ovdje je što svaka grana također poziva Reporter.ReportEvent za zapisivanje rezultata.

Koristiti mikrofonGotovo za korak koji je isključivo informativne prirode i Upozorenje za mikrofon kada nešto izgleda neobično, ali ne bi trebalo odmah propasti izvođenje. Sljedeći isječak bilježi korak unosa podataka kao Završeno, zatim označava spor odgovor kao Upozorenje i prilaže snimku zaslona pomoću opcionalnog argumenta 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

Zadržati Naziv koraka izvješća kratko i zadrži Detaljnije specifičan o stvarnom rezultatu. Preglednik koji skenira stotine zabilježenih koraka nakon neuspjelog noćnog izvršavanja trebao bi moći utvrditi što se dogodilo bez otvaranja samog skripta, a dosljedan obrazac imenovanja za svaku radnju čini to skeniranje mnogo bržim.

Timovi koji pozivaju ReportEvent iz više skripti često premještaju ovu logiku u zajedničku VBScript funkciju, kao što je LogStep(status, name, details), tako da svaka skripta stvara konzistentno stablo rezultata bez ponavljanja istog If…Then bloka.

Svojstva objekta Reporter: Filter, ReportPath i RunStatus

Reporter.ReportEvent nije jedini član objekta Reporter. Tri dodatna svojstva daju dodatnu kontrolu nad time što rezultati sadrže i gdje se nalaze. UFT pohranjuje ih i često se pojavljuju u okvirima za automatizaciju proizvodnje.

NEKRETNINE SVRHA TIPIČNA UPOTREBA
Filter Kontrolira koje se vrste događaja zapisuju u rezultate Reporter.Filter = rfEnableErrorsAndWarnings skriva propuštene korake u dugom trajanju
Put izvješća Samo za čitanje; vraća mapu u kojoj su pohranjeni rezultati trenutnog izvršavanja resultsFolder = Reporter.ReportPat
Status izvođenja Samo za čitanje; vraća trenutni status prolaza/neuspjeha dosadašnjeg izvršavanja Ako je Reporter.RunStatus = micFail, onda se izvodi radnja izlaza

Reporter.Filter prihvaća četiri vrijednosti: 0 ili rfEnableAll prikazuje svaki događaj i to je zadana vrijednost; 1 ili rfEnableErrorsAndWarnings skriva propuštene korake; 2 ili rfEnableErrorsOnly skriva i propuštene korake i upozorenja; i 3 ili rfDisableAll u potpunosti isključuje zapisivanje rezultata. Provjera Reporter.RunStatus usred skripte omogućuje testu da grana vlastitu logiku, na primjer, preskoči.ping preostalih koraka u akciji nakon što je prethodni korak već propao.

Budući da su ReportPath i RunStatus samo za čitanje, ne možete im dodijeliti vrijednost; koristite ih za čitanje informacija o trenutnom izvršavanju, na primjer za pisanje putanje mape rezultata u datoteku dnevnika na početku skripte ili za prekidanje duge radnje nakon fatalnog kvara. Čitanje ovih svojstava dodaje zanemarivo opterećenje, pa je sigurno provjeriti Reporter.RunStatus nakon svakog većeg koraka u dugom regresijskom paketu bez usporavanja izvršavanja na bilo koji primjetan način.

Najbolje prakse za Reporter.ReportEvent u UFT

Nekoliko navika održava prilagođeno izvještavanje korisnim umjesto previše bučnim.

  • Rezervirajte micFail za stvarne kvarove: Svaki poziv micFail preokreće Reporter.RunStatus, pa njegovo korištenje za kozmetičke probleme skriva stvarne nedostatke kasnije u istom pokretanju.
  • Napišite ReportStepName kao očekivani rezultat: Preglednik bi trebao razumjeti provjeru samo iz naziva koraka, bez čitanja stupca Detalji.
  • Snimanje zaslona samo u slučaju neuspjeha: Prosljeđivanje ImageFilePath-a u svakom koraku brzo puni mapu s rezultatima i usporava izvođenje uz malu korist.
  • Filtriranje bučnih pokreta: Postavite Reporter.Filter na rfEnableErrorsAndWarnings za planirana ili CI izvršavanja kako propušteni koraci ne bi zakopali važne kvarove.
  • Centralizirajte logiku: Zamotajte pozive Reporter.ReportEventa unutar ponovno upotrebljivog akcijski ili biblioteku funkcija tako da svaki skript u paketu bilježi rezultate na isti način.
  • Izvoz za čitatelje koji nisu tehnički potkovani: Kombinirajte results.xml s prilagođenim XSL-om kada dionici izvan QA tima trebaju pregledati rezultate bez otvaranja UFT.

Pitanja i odgovori

ReportEvent zapisuje običan tekst u stablo rezultata. ReportHTMLEvent, dostupan od UFT Verzija 12.52 prihvaća HTML u nazivu i detaljima koraka tako da možete podebljati, obojiti ili formatirati tekst u pregledniku rezultata izvođenja.

Ne. Samo micFail mijenja ukupni status izvođenja u Fail. micDone i micWarning zapisuju korak u stablo rezultata za informacije, ali test i dalje može završiti kao Passed čak i ako su zabilježena upozorenja.

Da. Snimite bitmapu pomoću metode CaptureBitmap objekta, spremite je u datoteku i proslijedite tu putanju datoteke kao neobavezni četvrti argument ImageFilePath. UFT prikazuje sliku u oknu Snimljeni podaci za taj korak.

Da. AI asistenti za kodiranje mogu generirati If…Then i ReportEvent standardne obrasce iz jednostavnog opisa provjere i mogu označiti skripte koje zloupotrebljavaju micFail ili preskaču detalje. Tester bi i dalje trebao potvrditi da zabilježeni status odgovara stvarnom rezultatu.

Alati za promatranje vođeni umjetnom inteligencijom mogu sažeti izvođenje i automatski istaknuti anomalije, ali Reporter.ReportEvent i dalje daje precizne, od strane programera kontrolirane nazive koraka i statuse koji hrane te alate. Većina timova koristi oboje zajedno umjesto da zamjenjuju jedno drugim.

Sažmite ovu objavu uz: