Log4j con Selenium Tutorial: download, installazione, utilizzo e Esempio

Sommario:

Anonim

Cos'è Log4j?

Log4j è un framework di registrazione veloce, flessibile e affidabile (APIS) scritto in Java sviluppato all'inizio del 1996. È distribuito sotto la licenza software Apache. Log4J è stato portato nei linguaggi C, C ++, C #, Perl, Python, Ruby ed Eiffel. È uno strumento utilizzato per progetti di automazione selenio su piccola e grande scala.

Perché usare Log4j?

  • È un open source
  • Con Log4j, è possibile memorizzare i dettagli del flusso della nostra Selenium Automation in un file o in database
  • Log4j viene utilizzato per progetti grandi e piccoli
  • In Log4j, utilizziamo le istruzioni di log piuttosto che le istruzioni SOPL nel codice per conoscere lo stato di un progetto mentre è in esecuzione

Log4j ha tre componenti principali

  1. Registratori : è responsabile della registrazione delle informazioni. Per implementare i logger in un progetto, è necessario eseguire i seguenti passaggi:
  • Crea un'istanza per la classe logger : la classe Logger è un'utilità basata su Java che ha tutti i metodi generici già implementati per utilizzare log4j
  • Definisci il livello Log4j : Principalmente ci sono cinque tipi di livelli di log
    1. Tutti: questo livello di registrazione registrerà tutto (attiva tutti i log)
    2. DEBUG: stampa le informazioni di debug ed è utile in fase di sviluppo
    3. INFO - stampa un messaggio informativo che evidenzia lo stato di avanzamento dell'applicazione
    4. AVVISO: stampa le informazioni relative al comportamento del sistema difettoso e imprevisto.
    5. ERRORE: messaggio di errore di stampa che potrebbe consentire al sistema di continuare
    6. FATALE: stampa le informazioni critiche del sistema che causano l'arresto anomalo dell'applicazione
    7. OFF - Nessuna registrazione
  1. Appendici : viene utilizzato per consegnare LogEvents alla loro destinazione. Decide cosa accadrà con le informazioni di registro. In parole semplici, viene utilizzato per scrivere i log in file. Di seguito sono riportati alcuni tipi di appendici
    1. ConsoleAppender accede all'output standard
    2. L'appender file stampa i registri su alcuni file
    3. Appender file a rotazione in un file con dimensione massima

    Nota: nelle proprietà di log4j possiamo chiamare appender con qualsiasi nome. Ci sono anche altri allegati, ma ci limiteremo a questi pochi.

  2. Layout : è responsabile della formattazione delle informazioni di registrazione in diversi stili.

La classe Logger fornisce diversi metodi per gestire le attività di registrazione. Fornisce due metodi statici per ottenere un oggetto logger.

Logger statico pubblico getRootLogger ()Logger statico pubblico getLogger (nome stringa)

Come è configurato log4j?

Per configurare log4j dobbiamo decidere quale appender implementare. Di conseguenza, verranno impostati i parametri dell'appender.

  • Useremo il livello DEBUG e RollingFileAppender
  • Faremo due configurazioni o log,
    • Primo: root logger, che scriverà tutti i log generati dal sistema nel nome del file cioè Selenium.logs
    • Secondo: scriverà le informazioni generate dai comandi manuali nel codice nel nome del file - Manual.logs
  • Il layout sarà PatternLayout

#Root logger

log4j.rootLogger = DEBUG, filelog4j.appender.file = org.apache.log4j.RollingFileAppenderlog4j.appender.file.File = D: \\ Guru99 \\ src \\ Selenium.logslog4j.appender.file.maxFileSize = 900KBlog4j.appender.file.maxBackupIndex = 5log4j.appender.file.layout = org.apache.log4j.PatternLayoutlog4j.appender.file.layout.ConversionPattern =% d {ASSOLUTO}% 5p% c  {1} :% L -% m% nlog4j.appender.file.Append = false

#Registri delle applicazioni

log4j.logger.devpinoyLogger = DEBUG, dest1log4j.appender.dest1 = org.apache.log4j.RollingFileAppenderlog4j.appender.dest1.maxFileSize = 900 KBlog4j.appender.dest1.maxBackupIndex = 6log4j.appender.dest1.layout = org.apache.log4j.PatternLayoutlog4j.appender.dest1.layout.ConversionPattern =% d {dd / MM / yyyy HH: mm: ss}% c% m% nlog4j.appender.dest1.File = D: \\ Guru99 \\ src \\ Manual.logslog4j.appender.dest1.Append = false

Nell'esempio sopra, abbiamo configurato log4j per accedere a due file diversi denominati Selenium.log e Manual.log.

  • file e dest1 sono i due identificatori.
  • "File" viene utilizzato per fornire il nome del file in cui verranno salvati i registri
  • "maxFileSize" viene utilizzato per configurare la dimensione massima del file di registro. Quando il file raggiunge questa dimensione, verrà creato un nuovo file con lo stesso nome e il vecchio nome del file verrà aggiunto come indice.
  • "maxBackupIndex" viene utilizzato per configurare il numero massimo di file di cui eseguire il backup.
  • "layout" viene utilizzato per impostare il formato del file di registro.
  • "Append" viene utilizzato per impostare la funzione di aggiunta. Se è impostato su false, ogni volta che verrà creato un nuovo file anziché il vecchio file verrà utilizzato per la registrazione

Come viene utilizzato log4j all'interno dello script?

Nel codice abbiamo utilizzato "log" come variabile di riferimento che fa riferimento al metodo getLogger della classe Logger

Log logger = Logger.getLogger ("devpinoyLogger");

Utilizzare la variabile di riferimento "log" e il metodo di debug per registrare le informazioni desiderate.

log.debug ("- information--");

Cos'è uno strumento LogExpert?

  1. Lo strumento LogExpert è uno strumento per Windows sviluppato per codificare i registri
  2. È un visualizzatore di log gratuito e open source.
  3. È uno strumento di analisi dei log con molteplici funzionalità come la ricerca, il filtraggio, l'inserimento di segnalibri e l'evidenziazione dei log
  4. Nei registri di questo strumento, i file vengono aggiornati automaticamente quando vengono aperti
  5. In questo strumento, possiamo aprire più file di registro in diverse schede
  6. Possiamo anche inserire commenti sui segnalibri e c'è il tasto di scelta rapida per navigare tra i diversi segnalibri. Possiamo anche vedere l'elenco completo dei segnalibri e navigare da lì
  7. Le scorciatoie dello strumento sono fornite nel file della guida in modo che possano essere riferite allo strumento.

Passaggi per utilizzare Log4j con Selenium

Passaggio 1) In Eclipse creare un nuovo progetto con il nome log4j_demo

Passaggio 2) Fare clic con il pulsante destro del mouse su src -> Build Path -> Configure Build Path

Passaggio 2) Fare clic su Librerie e Aggiungi libreria Log4J. Puoi scaricarlo da https://logging.apache.org/log4j/1.2/download.html

Passaggio 3) Crea un nuovo file. Questo file includerà tutta la configurazione di log4j

  1. Fare clic con il tasto destro su src -> Nuovo -> Altro -> Generale -> File
  2. Assegna al file il nome "log4j.properties"
  3. Fare clic su Fine

Crea altri due file e assegna loro nomi come Selenium.logs e Manual.logs. Questi file conterranno tutti i registri creati dal sistema e le dichiarazioni registrate manualmente

Passaggio 4) In log4j.properties copia l'intera configurazione.

Passaggio 5) Crea classe principale:

  1. Fare clic con il tasto destro sul pacchetto predefinito -> Nuovo -> Classe
  2. Assegna il nome alla classe e fai clic su Fine

Passaggio 6) Copia il seguente codice nella classe principale

import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.firefox.FirefoxDriver;import org.apache.log4j.Logger;public class LoggingDemo {/ *** @param args* /public static void main (String [] args) {// TODO Stub del metodo generato automaticamenteDriver WebDriver = nuovo FirefoxDriver ();Log logger = Logger.getLogger ("devpinoyLogger");driver.get ("http://healthunify.com/bmicalculator/");log.debug ("apertura del sito web");driver.manage (). timeouts (). implicitlyWait (20, TimeUnit.SECONDS);log.debug ("peso in entrata");driver.findElement (By.name ("wg")). sendKeys ("87");log.debug ("selezione di chilogrammi");driver.findElement (By.name ("opt1")). sendKeys ("chilogrammi");log.debug ("selezione dell'altezza in piedi");driver.findElement (By.name ("opt2")). sendKeys ("5");log.debug ("selezione dell'altezza in pollici");driver.findElement (By.name ("opt3")). sendKeys ("10");log.debug ("Cliccando su calcola");driver.findElement (By.name ("cc")). click ();log.debug ("Recupero del valore SIUnit");String SIUnit = driver.findElement (By.name ("si")). GetAttribute ("value");log.debug ("Recupero valore USUnit");String USUnit = driver.findElement (By.name ("us")). GetAttribute ("value");log.debug ("Ottenere il valore UKUnit");String UKUnit = driver.findElement (By.name ("uk")). GetAttribute ("value");log.debug ("Ottenere la descrizione generale");Nota stringa = driver.findElement (By.name ("desc")). GetAttribute ("value");System.out.println ("SIUnit =" + SIUnit);System.out.println ("USUnit =" + USUnit);System.out.println ("UKUnit =" + UKUnit);System.out.println ("note =" + note);driver.quit ();}}

Nel codice sopra, visitiamo http://healthunify.com/bmicalculator/ e verifichiamo il calcolatore BMI. Il peso inserito è di 87 kg e l'altezza è di 5 piedi e 10 pollici. Lo script controlla l'output nelle unità SE, USA e UK.

Utilizzando Logger.getLogger ("devpinoyLogger") creiamo log a livello di sistema

Utilizzando il metodo log.debug memorizziamo i dati in Manual.log

Passaggio 7) Esegui lo script. Aprire la posizione dei registri manuali e selenio per controllare i dati di registrazione.

Come lo strumento LogExpert può essere utilizzato per analizzare i registri

  1. Scarica lo strumento da http://logexpert.codeplex.com/. Vai alla cartella di download di LogExpert
  2. Apri LogExpert.exe
  3. Fare clic su File -> Apri e Sfoglia fino al percorso in cui sono archiviati i file Manual.log e Selenium.log. Seleziona il file
  4. Seleziona l'opzione "Segui la coda"

    La selezione dell'opzione follow tail abilita l'accodamento dei log, il che significa che LogExpert aggiorna automaticamente il file di log quando lo script è in fase di esecuzione. Se utilizziamo un altro editor come il blocco note, dobbiamo chiudere e riaprire il file ancora e ancora per aggiornare i log. Ma con ExpertTool in modalità Follow Tail questo non è necessario.

    Le immagini seguenti mostrano il layout dei log

Utilizzando lo strumento LogExpert, è possibile eseguire il debug dei log creati dal webdriver selenio come in questo strumento una volta

  • cercare qualsiasi testo ed espressione regolare,
  • creare segnalibri e commentarli e anche navigare tra i segnalibri che non è possibile in nessun altro strumento,
  • Filtra i registri e cerca intervalli di testo e puoi anche applicare un altro filtro ai registri filtrati precedenti,
  • Evidenzia una riga diversa in base ad alcune parole.

Questo strumento aiuta anche a suddividere i dati in diverse colonne.