Reporter.ReportEvent in UFT/QTP példával
⚡ Okos összefoglaló
Reporter.ReportEvent in UFT/QTP Egyéni sikeres, sikertelen, figyelmeztető és információs üzeneteket küld közvetlenül a Futtatási Eredmények Megjelenítőjébe a micPass, micFail, micDone és micWarning állapotkonstansok használatával, így a tesztelők olvasható, lépésről lépésre nyomon követhetik, hogy mit is csinált valójában egy automatizált szkript.
Mi az a Reporter.ReportEvent a következőben: UFT/QTP?
Reporter.ReportEvent egy beépített szabványos módszer UFT/QTP (most úgy eladó, mint OpenText/Mikrofókusz UFT Az egyik), amely egy egyéni, ember által olvasható üzenetet ír közvetlenül a teszteredmények ablakába. A beépített ellenőrzőpontok által generált automatikus sikeres vagy sikertelen ítéletekkel ellentétben a ReportEvent hívás lehetővé teszi a tesztelő számára, hogy pontosan eldöntse, mi kerüljön naplózásra, mikor és hogyan legyen címkézve.
Ez a HP QTP oktatói a függvény használatát mutatja be Reporter.ReportEvent és a Eredmények formázásaAz oktatóanyag egy rövid szkript létrehozását kéri, és ennek a szkriptgyakorlatnak a végrehajtása a leggyorsabb módja annak, hogy az egyéni jelentések valós időben frissítsék az Eredményfát.
Kattints itt ha a videó nem érhető el
A Reporter.ReportEvent az automatizálásban a legfontosabb, mivel egy szkript általában felügyelet nélkül, ütemezetten vagy egy CI/CD folyamaton belül fut. A futási eredményfájl lesz az egyetlen feljegyzés a történtekről, így egy olyan lépés, amely csendben meghiúsul, vagy magyarázat nélkül átmegy, sokkal nehezebbé teszi a hibakeresést később. Egy explicit ReportEvent hívás hozzáadása egy kritikus művelet után az Eredményfát egy olvasható, lépésenkénti auditnaplóvá alakítja, amelyet a tesztelő, fejlesztő vagy vezető a szkript megnyitása nélkül is áttekinthet.
Ez különbözik egy objektum-ellenőrzőponttól, amely UFT automatikusan generál és a saját alapértelmezett lépésnevét használva készít jelentést. A Reporter.ReportEvent ehelyett lehetővé teszi üzleti szempontból értelmes szöveg csatolását, például a „Rendelés visszaigazolása megjelenik” szöveget egy általános „Ellenőrzőpont-átadás WebEdit objektumon” helyett, amelyet egy nem műszaki beállítottságú érdekelt fél sokkal könnyebben elolvas a végleges jelentésben. A metódus ugyanúgy működik, ha a szkript egy weboldalt, egy… Windows asztali alkalmazás vagy nagyszámítógépes terminál, mivel a Reporter egy globális objektum, nem pedig egyetlen tesztobjektum tulajdonsága.
Guru99 a UFT/QTP sorozat ezt a módszert közvetlenül azután tárgyalja If, Else és Exists utasítások, mivel a legtöbb Reporter.ReportEvent hívás egy feltételes blokkon belül található, amely eldönti, hogy az eredményt micPass vagy micFail formában kell-e jelenteni.
Reporter.ReportEvent szintaxis és EventStatus értékek
Használhatja Reporter.ReportEvent egyéni tesztlépések jelentése a Micro Focusban UFTteszteredmény-fája. A metódus három kötelező és egy opcionális argumentumot fogad el, rögzített sorrendben, az alábbiak szerint.
Reporter.ReportEvent EventStatus, ReportStepName, Details [, ImageFilePath]
Esemény állapota beállítja a lépéshez megjelenített ikont és színt, és megfordíthatja az általános futási állapotot; JelentésLépésNeve a Teszteredmények fában megjelenő rövid címke, amelyet általában a várt eredményként írnak le; Részletek a hosszabb leírást tartalmazza, jellemzően a ténylegesen megfigyelt eredményt; és az opcionálisat; Képfájlútvonal egy, a szkriptben korábban rögzített képernyőképet csatol az adott lépéshez.
| VALUE | ÁLLANDÓ | EREDMÉNYEKRE GYAKOROLT HATÁS | HATÁS A FUTÁSI ÁLLAPOTRA |
|---|---|---|---|
| 0 | micPass | A lépés sikeresként jelenik meg az eredményfában. | Nincs változás; a teszt sikeresen folytatódik |
| 1 | micFail | A lépés sikertelenként jelenik meg az Eredmények fában | Az általános futási állapot Sikertelenre változik |
| 2 | mikrofonKész | A lépés információs üzenetként jelenik meg | Nincs változás a Sikeres/Nem sikeres állapotában |
| 3 | mikrofonfigyelmeztetés | A lépés figyelmeztetésként jelenik meg | Nincs változás a Sikeres/Nem sikeres állapotában |
Minden konstans átadható numerikus értékként is a neve helyett, így Reporter.ReportEvent 1, „Lépés”, „Részlet” pontosan úgy viselkedik, mint Reporter.ReportEvent micFail, „Lépés”, „Részlet”A megnevezett konstans használata könnyebben olvasható egy olyan szkriptben, amelyet később egy másik tesztelő fog karbantartani.
Egy szkript általában több ReportEvent hívást ágyaz be egyetlen műveletbe: egy micDone bejegyzést a művelet elindítása előtt, egy micPass vagy micFail bejegyzést a kulcsellenőrzéshez, és további micWarning bejegyzéseket a folyamat során észlelt szokatlan eseményekhez.
- Amikor a teszteseteket automatizálási eszközökkel hajtják végre, bizonyos felhasználók számára nehéz lehet megérteni a nyers teszteredményeket. Használhatja a results.xml fájl létrehozása egy XSL fájl létrehozásához, amely a kívánt módon jeleníti meg a teszteredményeket.
- Ön is használja vbscript könyvtári függvények az eredményeket xls vagy szövegfájlban tárolja külső jelentésekhez UFT.
A Reporter.ReportEvent használata: Gyakorlati példák
A szintaxis ismerete egy dolog; egy valódi szkriptben látni az, ami miatt a négy állapotkonstans kattint. Az alábbi példa egy ellenőrzést egy If…Then…Else utasításba csomagol, majd a Reporter.ReportEvent segítségével sikeres vagy sikertelen eredményt jelez, így az eredmény pontosan ott jelenik meg az Eredmények fában, ahol a felülvizsgáló várja.
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
Ez tükrözi a képen látható mintát Guru99 a VBScript feltételes utasítások oktatóanyag, ahol egy If…Then…Else blokk két kimenetel közül választ; az egyetlen különbség itt az, hogy minden ág a Reporter.ReportEvent függvényt is meghívja az eredmény naplózásához.
Felhasználás mikrofonKész egy tisztán tájékoztató jellegű lépéshez, és mikrofonfigyelmeztetés amikor valami szokatlannak tűnik, de nem szabad, hogy azonnal meghiúsuljon a futtatás. A következő kódrészlet Készként naplózza az adatbeviteli lépést, majd figyelmeztetésként jelöli meg a lassú választ, és egy képernyőképet csatol az opcionális ImageFilePath argumentum használatával.
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
Tart JelentésLépésNeve rövid és tartsd Részletek konkrét a tényleges eredményről. Egy felülvizsgálónak, aki egy sikertelen éjszakai futtatás után több száz naplózott lépést szkennel, képesnek kell lennie megállapítani, mi történt anélkül, hogy magát a szkriptet megnyitná, és az összes műveletre vonatkozó következetes elnevezési minta sokkal gyorsabbá teszi a szkennelést.
Azok a csapatok, amelyek sok szkriptből hívják meg a ReportEvent függvényt, gyakran áthelyezik ezt a logikát egy megosztott VBScript függvénybe, például a LogStep(állapot, név, részletek) függvénybe, így minden szkript egy konzisztens eredményfát hoz létre anélkül, hogy ugyanazt az If…Then blokkot ismételné.
Jelentő objektum tulajdonságai: Szűrő, Jelentésútvonal és Futtatási állapot
A Reporter.ReportEvent nem a Reporter objektum egyetlen tagja. Három további tulajdonság biztosítja a további kontrollt az eredmények tartalma és helye felett. UFT tárolja őket, és gyakran megjelennek a termelésautomatizálási keretrendszerekben.
| INGATLANKÍNÁLAT | CÉLJA | TIPIKUS FELHASZNÁLÁS |
|---|---|---|
| Szűrő | Azt szabályozza, hogy mely eseménytípusok kerüljenek be az eredmények közé | Reporter.Filter = rfEnableErrorsAndWarnings elrejti az átadott lépéseket egy hosszú futásban |
| Jelentésútvonal | Csak olvasható; visszaadja azt a mappát, ahol az aktuális futtatás eredményei tárolva vannak. | eredményMappa = Jelentéskészítő.JelentésÚtvonal |
| Futtatási állapot | Csak olvasható; visszaadja a futtatás eddigi aktuális Sikeres/Sikertelen állapotát. | Ha Reporter.RunStatus = micFail, akkor kilépési művelet |
A Reporter.Filter négy értéket fogad el: a 0 vagy rfEnableAll minden eseményt megjelenít, és ez az alapértelmezett érték; az 1 vagy rfEnableErrorsAndWarnings elrejti a sikeres lépéseket; a 2 vagy rfEnableErrorsOnly elrejti mind a sikeres lépéseket, mind a figyelmeztetéseket; a 3 vagy rfDisableAll pedig teljesen kikapcsolja az eredmények naplózását. A Reporter.RunStatus szkript közbeni ellenőrzése lehetővé teszi a teszt saját logikájának elágaztatását, például a skip műveletet.ping egy művelet fennmaradó lépései, miután egy korábbi lépés már meghiúsult.
Mivel a ReportPath és a RunStatus csak olvashatók, nem rendelhetünk hozzájuk értéket; az aktuális futtatással kapcsolatos információk olvasására használhatjuk őket, például az eredmények mappa elérési útjának naplófájlba írásához egy szkript elején, vagy egy hosszú művelet rövidre zárásához egy végzetes hiba után. Ezen tulajdonságok olvasása elhanyagolható többletterhelést jelent, így biztonságosan ellenőrizhető a Reporter.RunStatus minden nagyobb lépés után egy hosszú regressziós csomagban anélkül, hogy a futtatás észrevehetően lelassulna.
Ajánlott gyakorlatok a Reporter.ReportEventhez a következőben: UFT
Néhány szokásnak köszönhetően az egyéni jelentéskészítés hasznos marad, nem pedig zajos.
- A micFail lefoglalása valódi hibákra: Minden micFail hívás átfordítja a Reporter.RunStatus állapotot, így kozmetikai problémákra használva elrejti a valódi hibákat később ugyanazon futtatás során.
- Írd le a ReportStepName-et várt eredményként: A felülvizsgálónak a lépés nevéből önmagában meg kell értenie az ellenőrzést, a Részletek oszlop elolvasása nélkül.
- Csak hiba esetén készítsen képernyőképeket: Az ImageFilePath minden egyes lépésben történő átadása gyorsan megtölti az eredmények mappáját, és lelassítja a futtatást, kevés előnnyel.
- Zajos futtatások szűrése: Állítsa a Reporter.Filter értékét rfEnableErrorsAndWarnings értékre ütemezett vagy CI-futtatásoknál, hogy a sikeres lépések ne rejtsék el a fontos hibákat.
- Központosítsd a logikát: Reporter.ReportEvent hívások újrafelhasználható akció vagy függvénykönyvtárat, így a csomagban lévő összes szkript ugyanúgy naplózza az eredményt.
- Exportálás nem műszaki olvasók számára: Kombinálja a results.xml fájlt egyéni XSL-lel, ha a minőségbiztosítási csapaton kívüli érdekelt feleknek meg kell tekinteniük az eredményeket a megnyitás nélkül. UFT.

