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.
Š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.

