Come generare rapporti di estensione in selenio

Pubblicato: 2021-06-21

La libreria open source utilizzata per l'automazione dei test in selenio è ExtentReports. quadri di prova; NUnit, JUnit, ecc possono essere integrati con la libreria. I report integrati vengono creati nel selenio attraverso i framework di TestNG e JUnit, ma i report Extent sono ancora la prima scelta dei tester di automazione del selenio. I report sull'estensione in selenio forniscono maggiori informazioni sull'esecuzione degli script di automazione. I risultati sono rappresentati come grafici a torta e sono fondamentalmente documenti HTML. Sono dettagli come le istantanee e i registri personalizzati possono essere generati tramite la libreria.

Dopo l'esecuzione riuscita di un test automatizzato, i tester devono generare un rapporto sull'esecuzione del test. Un rapporto predefinito viene fornito dal TestNG, ma i dettagli non vengono forniti. Con l'applicabilità dell'API ExtentReport, è possibile generare report interattivi tramite semplici configurazioni. I framework di Java e .Net come JUnit, NUnit e TestNG, ecc. sono supportati dalla libreria.

Dipendenza dall'estensione rapporto maven

Fonte

I rapporti sull'estensione del selenio sono costituiti da due classi:

Sommario

1. Classe ExtentReports

Il tester specifica un percorso e in base al percorso specificato, i report HTML vengono generati dalla classe ExtentReports. O c'è la generazione di un nuovo report o la sovrascrittura di un report esistente. Viene deciso in base al valore booleano. Il valore booleano predefinito è "true", il che significa che verranno sovrascritti tutti i dati esistenti in passato.

2. Classe ExtentTest

I passaggi del test vengono registrati tramite la classe ExtentTest sui report HTML generati tramite il metodo precedente.

3. Estensione HtmlReporter

Un file HTML viene creato da questa classe.

Le funzioni integrate elencate possono essere utilizzate con le classi elencate di seguito.

  • startTest: vengono eseguite le precondizioni di un caso nel test
  • endTest: vengono eseguite le postcondizioni di un caso nel test.
  • Metodo del registro: lo stato di ogni fase del test viene registrato nel report HTML generato tramite il registro.
  • Flush: viene creato un nuovo report rimuovendo i dati su un report precedente.

I seguenti valori vengono utilizzati per indicare lo stato di un test: PASS, SKIP, FAIL e INFO.

Come creare report di estensione

Alcuni prerequisiti per la generazione di un report di estensione sono:

  • Preinstallazione e configurazione di Java.
  • L'installazione di TestNG.
  • Download degli Extent Report Jars (versione 2.41.2).
  • Requisito di extent-config.xml che consente la configurazione del report HTML.

I passaggi di base necessari da seguire per la generazione di report di estensione sono:

  • Deve essere creato un progetto di test.
  • L'estensione del file jar del report deve essere scaricata.
  • Il file jar del report dell'estensione viene aggiunto al progetto.
  • Viene creata una classe implementata.

Passaggi per la generazione di un rapporto sull'estensione

  • I report sull'estensione possono essere generati in WebDriver di selenium tramite l'importazione di un file jar che è extentreports-java-2.41.2.jar. Il contenuto del file jar deve essere estratto in una directory una volta scaricato.
  • I file jar estratti dal file ZIP scaricato devono essere aggiunti al progetto di build. Viene utilizzata l'opzione Build Path -> Configura Build Path.
  • Una classe Java è stata creata di recente per l'estensione riportata tramite il codice seguente.

Fonte

Spiegazione del codice

Con il metodo startTest, inizia l'esecuzione del test. L'oggetto dei report di estensione viene inizializzato. L'oggetto report extent utilizza qualsiasi percorso definito dall'utente come parametro passato ad esso.

@beforeclass: l'uso dei report di estensione è dimostrato dal codice.

@test: le seguenti azioni vengono automatizzate tramite questa classe:

  • Apertura del browser Chrome tramite l'URL www.google.com .
  • Il titolo della pagina deve essere convalidato con il valore previsto una volta aperto.
  • Lo stato del caso del test deve essere registrato come PASS o FAIL utilizzando il metodo del registro dei rapporti di estensione.

@afterclass: in questa classe sono inclusi i codici per l'esecuzione di un caso di postcondizioni di test. Include il codice per la conclusione del test o il lavaggio del rapporto. Senza l'uso del metodo flush(), i report di extent in selenio non verranno generati.

Cattura schermate nei rapporti sull'estensione

1. Attraverso il metodo di cattura

  • Ci sono diversi vantaggi nell'usare uno screenshot durante il test.
  • Se il software inizia ad agire in modo errato, i tester potrebbero identificare il problema osservando gli screenshot.
  • Pertanto, se l'esecuzione del test riscontra problemi, le acquisizioni dello schermo consentiranno ai tester di eseguire il debug dello script di test.
  • Gli screenshot devono essere acquisiti solo durante il fallimento di un test, poiché viene consumata più memoria dalle acquisizioni.
  • Viene preso il codice seguente utilizzato per acquisire uno screenshot

Fonte

2. Spiegazione del codice

  • L'attuale WebDriver del selenio viene acquisito come screenshot tramite il metodo getScreenShotAs(). Viene quindi memorizzato in varie forme di output.

File scrFile = (driver (TakesScreenshot)).getScreenshotAs(OutputType.File);

  • Un oggetto del file viene restituito tramite il metodo getScreenShotAs e memorizzato in una variabile del file. Per utilizzare questo metodo, è obbligatorio eseguire il cast dell'istanza del driver Web per acquisire uno screenshot.

File Dest = nuovo File(“scr/../Errimages/” + System.currentTimeMillis()+ “.png”);

  • Una cartella con il nome di "ErrImages" viene creata all'interno della cartella "src" tramite il codice sopra. Il file viene salvato nella cartella creata con il nome del file come ora del sistema corrente.

Stringa errflpath = Dest,getAbsolutePath();

Fileutils.copyFile(scrFile, Dest);

percorso di ritorno;

  • Le immagini di errore generate vengono copiate in una cartella di destinazione.

3. Metodo di registrazione

  • Nel metodo log viene utilizzato un metodo integrato. Il addScreenCapture della classe Extent viene utilizzato per acquisire uno screenshot e quindi aggiunto ai report di extent generati.

test.log(LogStatus.Fail,test.addScreenCapture(capture(driver))+ "Test non riuscito");

Vantaggi dei rapporti di estensione

  • L'uso dei report di estensione è facile.
  • I grafici a torta vengono utilizzati per visualizzare i risultati.
  • Viene fornita la percentuale di un caso superato di un test.
  • La capacità di aggiungere i dettagli dell'ambiente in modo naturale.
  • Rispetto agli altri rapporti, il rapporto sull'estensione offre la possibilità di personalizzazione.
  • È possibile generare report più interattivi tramite l'extent API. I report interattivi potrebbero essere sotto forma di visualizzazione grafica, acquisizione di screenshot durante ogni fase di test, visualizzazione dashboard e report che potrebbero essere inviati tramite posta elettronica.
  • È possibile l'integrazione con i framework JUnit, TestNG e NUnit.
  • L'esecuzione parallela di esecuzioni di test è possibile con la generazione di un unico report per tutte le esecuzioni parallele.
  • Il rapporto può essere configurato.
  • Per l'esecuzione di ogni test case viene visualizzato il tempo impiegato.
  • È possibile tracciare facilmente le esecuzioni di più casi di test in un'unica suite.
  • Sulla base dei rapporti del test, i risultati possono essere filtrati. Inoltre, i risultati graduali possono essere filtrati attraverso le opzioni di pass/fail/info.
  • Le categorizzazioni dei report sono fornite per categorie come Regressione/funzionale, ecc.
  • I registri delle fasi del test possono essere aggiunti ai rapporti.

Esempio di Extent Report in Selenium

Viene mostrato un esempio per farti comprendere il processo di generazione del report di estensione Maven.

Passaggio 1 : creare un progetto Maven e una classe BasicExtentReport.java con l'aggiunta di un codice disponibile qui

  • Un file HTML autonomo viene generato dalla classe 'ExtentHtmlReporter'.
  • 'ExtentHtmlReporter(java.io.File)' è accettato da questa classe e il percorso 'ExtentHtmlReporter(java.lang.String filePath)'.
  • Il percorso del file viene passato per salvare i report.
  • Il metodo config() della classe 'ExtentHtmlReporter' consente diverse opzioni di configurazione. Gli elementi possono essere modificati tramite il codice per apportare modifiche all'aspetto del rapporto sull'estensione, inclusi timestamp, nome del rapporto, ecc.
  • Lo stato di ogni fase del test è riportato da 'AfterMethod' e quindi lo stato del test viene aggiornato come Pass, Fail, skip, ecc. al verificarsi di qualsiasi errore, viene generato un messaggio per fornire l'informazione. Viene eseguito tramite 'result.getThrowable()'.
  • Le etichette dello stato vengono create utilizzando la classe MarkupHelper che colora anche lo stato del report.

Passaggio 2: il passaggio del sistema operativo e dei parametri del browser avviene tramite la creazione di un file testng.xml. Il codice è disponibile sul sito menzionato.

Passaggio 3: viene aggiunto un altro codice al file pom.cml.

Passaggio 4: l'esecuzione del programma genera il report risultante .

Fonte

Per visualizzare i rapporti di errore, fare clic sui test non riusciti. Questo visualizzerà lo stato del test insieme al motivo del fallimento del test.

Alcune cose aggiuntive relative ai rapporti sull'estensione sono:

  • Per motivi di apparenza, il tema esistente in un report può essere modificato.
  • Per comodità dell'utente, la vista dashboard può essere nascosta o mostrata.
  • In caso di esecuzione di più test, è possibile cercare un test case in modo graduale.
  • Il tempo totale impiegato per l'esecuzione del test, inclusi l'ora di inizio e l'ora di fine, viene visualizzato all'utente.
  • Filtri aggiuntivi sono presenti in un report. I risultati possono essere filtrati in base allo stato dei test come test superati, test falliti o casi di test in cui sono presenti solo informazioni.

Impara i corsi di software online dalle migliori università del mondo. Guadagna programmi Executive PG, programmi di certificazione avanzati o programmi di master per accelerare la tua carriera.

Conclusione

Per la generazione di report personalizzabili, i report di estensione sono il modo migliore. Essendo una libreria open source con una facile configurazione con selenio, i report di estensione sono diventati sicuramente la scelta migliore per tutti i tester di automazione. L'articolo ha discusso brevemente i rapporti sull'estensione, come generarli e la loro utilità. I benefici possono essere raccolti attraverso la conoscenza della programmazione software che è alla base della generazione dei report di misura.

Se sei disposto ad apprendere ed esplorare i vantaggi della programmazione software, controlla il corso di Executive PG Program in Software Development – ​​Specialization in Full Stack Development , offerto da upGrad . Questo è un corso appositamente progettato per professionisti di livello base nella fascia di età compresa tra 21 e 45 anni. Fornendo una piattaforma per lezioni online e sessioni interattive con esperienze pratiche, il corso fornisce la garanzia del posizionamento nei migliori settori. Il nostro team è a disposizione per qualsiasi domanda.

Che cos'è un generatore di rapporti sul selenio?

Selenium Report Builder o Selenium IDE è un plugin per Firefox per Selenium che aiuta a creare e modificare i casi di test Selenium. Rende il processo di automazione più efficiente e riduce lo sforzo necessario per creare report diversi. È un modo comodo per eseguire i test e fornisce una panoramica dello stato corrente. I report vengono generati in vari formati come testo, PDF, CSV, HTML ecc.

Cosa può essere testato automaticamente usando Selenium?

Selenium è uno strumento per automatizzare le applicazioni Web a scopo di test e può essere utilizzato per test di regressione. Selenium può automatizzare qualsiasi cosa un utente può fare in un browser. La maggior parte dei siti Web ha una sorta di funzionalità che semplifica ai dipendenti l'esecuzione di attività come l'ordinazione di inventario, l'elaborazione degli ordini, l'aggiornamento del sito Web, ecc. Il selenio può essere utilizzato per testare applicazioni e siti Web basati sul Web. È un linguaggio di alto livello che supporta vari linguaggi di programmazione come JAVA e C#. Il selenio viene utilizzato per automatizzare il browser e offre agli sviluppatori di applicazioni Web la possibilità di scrivere test automatici da eseguire su applicazioni Web.

Cos'è la griglia al selenio?

Selenium Grid è uno strumento che consente di eseguire test automatizzati su diversi browser (o altri nodi della griglia). Consente l'esecuzione parallela di questi test con diverse configurazioni (percorsi, browser, sistemi operativi) e più browser contemporaneamente. I test stessi possono essere eseguiti in modalità headless in modo da non richiedere alcuna GUI. La griglia offre l'esecuzione asincrona dei lavori ed è in grado di gestire centinaia di lavori contemporaneamente. La griglia di selenio è quindi un modello hub and spoke per l'esecuzione di test case. Grid consente agli utenti di raggruppare più browser per eseguire un singolo test case. Una volta configurato, può essere utilizzato per eseguire test su più macchine o browser su richiesta o in base a una pianificazione. Selenium Grid può essere utilizzato per parallelizzare l'esecuzione dei test, scalare i test e aumentare la copertura dei test.