Reporter.ReportEvent in UFT/QTP con l'esempio

โšก Riepilogo intelligente

Reporter.ReportEvent in UFT/QTP Invia messaggi personalizzati di superamento, fallimento, avviso e informativi direttamente nel visualizzatore dei risultati dell'esecuzione utilizzando le costanti di stato micPass, micFail, micDone e micWarning, fornendo ai tester una registrazione leggibile e dettagliata di ciรฒ che uno script automatizzato ha effettivamente fatto.

  • ๐ŸŽฏ Definizione: Reporter.ReportEvent scrive uno stato e un messaggio personalizzati nel UFT Albero dei risultati, indipendente dai checkpoint integrati.
  • ๐Ÿงฉ Sintassi: Il metodo accetta, in quest'ordine, EventStatus, ReportStepName, Details e un ImageFilePath facoltativo.
  • ๐Ÿšฆ Costanti di stato: micPass, micFail, micDone e micWarning impostano ciascuno il colore del passaggio e se lo stato dell'esecuzione cambia.
  • ๏ธ Screenshots: Passa il percorso di una bitmap acquisita come quarto argomento per allegare un'immagine a una fase non riuscita.
  • โš™๏ธ Proprietร : Reporter.Filter, Reporter.ReportPath e Reporter.RunStatus consentono di controllare cosa viene registrato e dove vengono salvati i risultati.
  • ๐Ÿงช Esempi: Avvolgi ReportEvent all'interno di un controllo Ifโ€ฆThen in modo che ogni passaggio segnali il superamento o il fallimento in base al risultato effettivo.
  • ๐Ÿšซ Filtering: Imposta Reporter.Filter su rfEnableErrorsAndWarnings durante le esecuzioni CI in modo che i passaggi superati non nascondano gli errori reali.
  • ๐Ÿ“Š Rapporti personalizzati: Combina il file results.xml con un file XSL o una libreria VBScript per presentare i risultati nel modo previsto dalle parti interessate.

Che cos'รจ Reporter.ReportEvent in UFT/QTP?

Reporter.ReportEvent รจ un metodo standard integrato UFT/QTP (ora venduto come OpenText/Micro Focus UFT Uno) che scrive un messaggio personalizzato e leggibile dall'uomo direttamente nella finestra dei risultati del test. A differenza dei verdetti automatici di superamento o fallimento generati dai checkpoint integrati, una chiamata ReportEvent consente al tester di decidere esattamente cosa viene registrato, quando e come deve essere etichettato.

Questo HP QTP lezione dimostra l'uso della funzione Reporter.ReportEvent and Formattazione dei risultatiIl tutorial richiede di creare un breve script e completare questo esercizio di scripting รจ il modo piรน rapido per vedere i report personalizzati aggiornare l'albero dei risultati in tempo reale.

Clicchi Qui. se il video non รจ accessibile

Il metodo `ReportEvent` รจ fondamentale nell'automazione perchรฉ uno script viene solitamente eseguito in modo automatico, secondo una pianificazione o all'interno di una pipeline CI/CD. Il file dei risultati dell'esecuzione diventa l'unica registrazione di quanto accaduto, quindi un passaggio che fallisce silenziosamente o che viene eseguito senza alcuna spiegazione rende il debug molto piรน difficile in seguito. L'aggiunta di una chiamata esplicita a `ReportEvent` dopo un'azione critica trasforma l'albero dei risultati in una traccia di controllo leggibile e dettagliata che un tester, uno sviluppatore o un responsabile possono esaminare senza dover aprire lo script stesso.

Questo รจ diverso da un checkpoint dell'oggetto, che UFT genera automaticamente e segnala utilizzando il proprio nome di passaggio predefinito. Reporter.ReportEvent consente invece di allegare un linguaggio significativo per il business, come "Conferma d'ordine visualizzata" invece di un generico "Check Point Pass sull'oggetto WebEdit", che รจ molto piรน facile da leggere per uno stakeholder non tecnico nel report finale. Il metodo funziona allo stesso modo sia che lo script abbia come destinazione una pagina web, un Windows applicazione desktop o terminale mainframe, poichรฉ Reporter รจ un oggetto globale piuttosto che una proprietร  di un singolo oggetto di test.

Guru99 di UFT/QTP la serie copre questo metodo subito dopo Istruzioni If, Else ed Exists, perchรฉ la maggior parte delle chiamate a Reporter.ReportEvent si trovano all'interno di un blocco condizionale che decide se il risultato deve essere segnalato come micPass o micFail.

Sintassi di Reporter.ReportEvent e valori di EventStatus

Puoi usare Reporter.ReportEvent per segnalare i passaggi di test personalizzati in Micro Focus UFTAlbero dei risultati del test. Il metodo accetta tre argomenti obbligatori e un argomento facoltativo, in un ordine fisso, come mostrato di seguito.

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

Stato dell'evento Imposta l'icona e il colore visualizzati per la fase e puรฒ invertire lo stato generale dell'esecuzione; ReportStepName รจ l'etichetta abbreviata che appare nell'albero dei risultati del test, generalmente scritta come risultato atteso; Dettagli contiene la descrizione piรน lunga, in genere il risultato effettivo osservato; e l'opzionale Percorso del file immagine allega uno screenshot acquisito in precedenza nello script a quello specifico passaggio.

VALORE COSTANTE EFFETTO SUI RISULTATI EFFETTO SULLO STATO DI ESECUZIONE
0 micPass Il passaggio viene visualizzato come Pass nell'albero dei risultati Nessun cambiamento; il test continua con esito positivo
1 micFail Il passaggio viene visualizzato come "Errore" nell'albero dei risultati. Lo stato generale dell'esecuzione cambia in Fallimento
2 micDone Il passaggio viene mostrato come messaggio informativo Nessuna modifica allo stato di superamento/non superamento
3 micWarning Il passaggio viene visualizzato come avviso Nessuna modifica allo stato di superamento/non superamento

Ogni costante puรฒ anche essere passata come valore numerico invece che come nome, quindi Reporter.ReportEvent 1, โ€œPassoโ€, โ€œDettaglioโ€ si comporta esattamente come Reporter.ReportEvent micFail, โ€œStepโ€, โ€œDetailโ€Utilizzare una costante denominata rende lo script piรน leggibile, soprattutto se verrร  gestito in seguito da un altro tester.

Uno script in genere include diverse chiamate a ReportEvent all'interno di un'azione: una voce micDone prima dell'avvio dell'azione, una voce micPass o micFail per il controllo della chiave e ulteriori voci micWarning per qualsiasi anomalia rilevata durante il processo.

  • Quando i casi di test vengono eseguiti utilizzando strumenti di automazione, puรฒ essere difficile per alcuni utenti comprendere i risultati grezzi del test. รˆ possibile utilizzare results.xml per creare un file XSL che presenta i risultati del test nel modo che preferisci.
  • รˆ inoltre possibile utilizzare VBScript funzioni della libreria per salvare i risultati in un file xls o in un file di testo per segnalare all'esterno UFT.

Come utilizzare Reporter.ReportEvent: esempi pratici

Conoscere la sintassi รจ una cosa; vederla all'interno di uno script reale รจ ciรฒ che permette di comprendere appieno le quattro costanti di stato. L'esempio seguente racchiude un controllo all'interno di un'istruzione Ifโ€ฆThenโ€ฆElse, quindi segnala un esito positivo o negativo con Reporter.ReportEvent, in modo che il risultato appaia nell'albero dei risultati esattamente dove un revisore si aspetta di trovarlo.

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

Ciรฒ rispecchia il modello mostrato in Guru99 di Istruzioni condizionali VBScript tutorial, in cui un blocco Ifโ€ฆThenโ€ฆElse sceglie tra due risultati; l'unica differenza qui รจ che ogni ramo chiama anche Reporter.ReportEvent per registrare il risultato.

Usa il micDone per un passo che รจ puramente informativo e micWarning quando qualcosa sembra insolito ma non dovrebbe interrompere l'esecuzione immediatamente. Il frammento successivo registra un passaggio di immissione dati come completato, quindi segnala una risposta lenta come avviso e allega uno screenshot utilizzando l'argomento opzionale 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

mantenere ReportStepName corto e mantieni Dettagli Specificare il risultato effettivo. Un revisore che analizza centinaia di passaggi registrati dopo un'esecuzione notturna fallita dovrebbe essere in grado di capire cosa รจ successo senza dover aprire lo script stesso, e un modello di denominazione coerente per ogni azione rende questa analisi molto piรน rapida.

I team che richiamano ReportEvent da molti script spesso spostano questa logica in una funzione VBScript condivisa, come LogStep(status, name, details), in modo che ogni script produca un albero dei risultati coerente senza ripetere lo stesso blocco Ifโ€ฆThen.

Proprietร  dell'oggetto Reporter: Filtro, Percorso del report e Stato di esecuzione

Reporter.ReportEvent non รจ l'unico membro dell'oggetto Reporter. Tre proprietร  aggiuntive offrono un controllo extra su cosa contengono i risultati e dove UFT li memorizzano e compaiono frequentemente nei framework di automazione della produzione.

PROPRIETร€ SCOPO USO TIPICO
Filtra Controlla quali tipi di eventi vengono scritti nei risultati Reporter.Filter = rfEnableErrorsAndWarnings nasconde i passaggi passati in una lunga esecuzione
ReportPath Sola lettura; restituisce la cartella in cui sono memorizzati i risultati dell'esecuzione corrente. CartellaRisultati = Reporter.PercorsoReport
RunStatus Sola lettura; restituisce lo stato attuale di superamento/fallimento dell'esecuzione fino a quel momento. Se Reporter.RunStatus = micFail, esci dall'azione.

Reporter.Filter accetta quattro valori: 0 o rfEnableAll mostra ogni evento ed รจ l'impostazione predefinita; 1 o rfEnableErrorsAndWarnings nasconde i passaggi superati; 2 o rfEnableErrorsOnly nasconde sia i passaggi superati che gli avvisi; e 3 o rfDisableAll disattiva completamente la registrazione dei risultati. Il controllo di Reporter.RunStatus a metร  script consente a un test di diramare la propria logica, ad esempio saltareping i passaggi rimanenti di un'azione quando un passaggio precedente รจ giร  fallito.

Poichรฉ ReportPath e RunStatus sono di sola lettura, non รจ possibile assegnare loro un valore; utilizzateli per leggere informazioni sull'esecuzione corrente, ad esempio per scrivere il percorso della cartella dei risultati in un file di log all'inizio di uno script o per interrompere un'azione lunga dopo un errore irreversibile. La lettura di queste proprietร  aggiunge un overhead trascurabile, quindi รจ possibile controllare Reporter.RunStatus dopo ogni passaggio importante in una suite di regressione lunga senza rallentare l'esecuzione in modo percettibile.

migliori pratiche per Reporter.ReportEvent in UFT

Alcune abitudini contribuiscono a rendere i report personalizzati utili anzichรฉ fonte di confusione.

  • Riserva micFail ai guasti reali: Ogni chiamata a micFail modifica Reporter.RunStatus, quindi utilizzarla per problemi estetici nasconde difetti reali che si verificano successivamente nella stessa esecuzione.
  • Scrivi ReportStepName come risultato atteso: Un revisore dovrebbe essere in grado di comprendere il controllo dal solo nome del passaggio, senza dover leggere la colonna Dettagli.
  • Acquisisci schermate solo in caso di errore: Passare ImageFilePath a ogni singolo passaggio riempie rapidamente la cartella dei risultati e rallenta l'esecuzione senza apportare grandi benefici.
  • Filtra le sequenze rumorose: Imposta Reporter.Filter su rfEnableErrorsAndWarnings per le esecuzioni pianificate o CI, in modo che i passaggi superati non nascondano gli errori importanti.
  • centralizzare la logica: Avvolgere le chiamate Reporter.ReportEvent all'interno di un riutilizzabile azione o una libreria di funzioni in modo che ogni script della suite registri i risultati nello stesso modo.
  • Esporta per lettori non tecnici: Combina results.xml con un XSL personalizzato quando le parti interessate esterne al team QA devono rivedere i risultati senza aprire UFT.

DOMANDE FREQUENTI

ReportEvent scrive testo semplice nell'albero dei risultati. ReportHTMLEvent, disponibile da UFT 12.52, accetta HTML nel nome e nei dettagli del passaggio in modo da poter mettere in grassetto, colorare o formattare il testo nel visualizzatore dei risultati dell'esecuzione.

No. Solo micFail cambia lo stato generale dell'esecuzione in Fallimento. Sia micDone che micWarning scrivono un passaggio nell'albero dei risultati a scopo informativo, ma il test puรฒ comunque terminare con esito positivo anche se sono stati registrati degli avvisi.

Sรฌ. Acquisisci una bitmap con il metodo CaptureBitmap di un oggetto, salvala in un file e passa il percorso di quel file come quarto argomento facoltativo ImageFilePath. UFT visualizza l'immagine nel riquadro Dati acquisiti per quel passaggio.

Sรฌ. Gli assistenti di programmazione basati sull'IA possono generare il codice standard Ifโ€ฆThen e ReportEvent a partire da una descrizione in linguaggio naturale di un controllo e possono segnalare gli script che utilizzano in modo improprio micFail o saltano i dettagli. Un tester dovrebbe comunque verificare che lo stato registrato corrisponda al risultato reale.

Gli strumenti di osservabilitร  basati sull'IA possono riassumere un'esecuzione ed evidenziare automaticamente le anomalie, ma Reporter.ReportEvent fornisce comunque i nomi e gli stati precisi dei passaggi, controllati dallo sviluppatore, che alimentano tali strumenti. La maggior parte dei team li utilizza entrambi, anzichรฉ sostituirne uno con l'altro.

Riassumi questo post con: