Accedi4j Selenium: Come scaricare e utilizzare il file delle proprietà Log4j

In cosa consiste Log4j Selenium?

Log4j è un framework di registrazione (APIS) veloce, flessibile e affidabile scritto in Java sviluppato all'inizio del 1996. È distribuito sotto il dominio Apache Licenza software. Log4J è stato portato su C, C++, C#, Perl, Python, Ruby e Lingue Eiffel. È uno strumento utilizzato su piccola e grande scala Selenium Progetti di automazione.

Perché utilizzare Log4j?

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

Componenti Log4j

Componenti Log4j

Logger

È 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 è a Java-utilità basata su che ha già implementati tutti i metodi generici per utilizzare log4j

Definire il livello Log4j

Principalmente esistono cinque tipi di livelli di registro

  1. Tutto: questo livello di registrazione registrerà tutto (attiva tutti i registri)
  2. DEBUG – stampa le informazioni di debug ed è utile nella fase di sviluppo
  3. INFO – stampa un messaggio informativo che evidenzia lo stato di avanzamento della domanda
  4. WARN: stampa informazioni relative a comportamenti difettosi e imprevisti del sistema.
  5. ERRORE – stampa un messaggio di errore che potrebbe consentire al sistema di continuare
  6. FATAL: stampa informazioni critiche sul sistema che causano il blocco dell'applicazione
  7. SPENTO: nessuna registrazione

Appendatori

Viene utilizzato per consegnare LogEvents alla loro destinazione. Decide cosa accadrà con le informazioni di log. In parole semplici, viene utilizzato per scrivere i log nel file. Di seguito sono riportati alcuni tipi di Appenders

  1. ConsoleAppender registra sull'output standard
  2. L'appender di file stampa i registri su alcuni file
  3. Appender di file in sequenza a un file con dimensione massima

Nota: Nelle proprietà log4j possiamo chiamare appender con qualsiasi nome. Esistono anche altri appendici, ma ci limiteremo a questi pochi.

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.

Public static Logger getRootLogger()
Public static Logger getLogger(String name)

Come è configurato log4j?

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

  • Utilizzeremo 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, ad es Selenium.log
  • Secondo: scriverà le informazioni generate dai comandi manuali in codice nel nome del file: Manual.logs
  • Il layout sarà PatternLayout
  • #Registratore di root

    log4j.rootLogger=DEBUG,file
    log4j.appender.file=org.apache.log4j.RollingFileAppender
    log4j.appender.file.File=D:\\Guru99\\src\\Selenium.logs
    log4j.appender.file.maxFileSize=900KB
    log4j.appender.file.maxBackupIndex=5
    log4j.appender.file.layout=org.apache.log4j.PatternLayout
    log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c<strong>{1}</strong>:%L - %m%n
    log4j.appender.file.Append=false
    

    #Registri dell'applicazione

    log4j.logger.devpinoyLogger=DEBUG, dest1
    log4j.appender.dest1=org.apache.log4j.RollingFileAppender
    log4j.appender.dest1.maxFileSize=900KB
    log4j.appender.dest1.maxBackupIndex=6
    log4j.appender.dest1.layout=org.apache.log4j.PatternLayout
    log4j.appender.dest1.layout.ConversionPattern=%d{dd/MM/yyyy HH:mm:ss} %c %m%n
    log4j.appender.dest1.File=D:\\ Guru99\\src\\Manual.logs
    log4j.appender.dest1.Append=false
    

    Nell'esempio precedente, abbiamo configurato log4j per accedere a due file diversi denominati come 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 ad esso.
    • "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.
    • “Aggiungi” 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

    Logger log = Logger.getLogger("devpinoyLogger");

    Utilizza la variabile di riferimento "log" e il metodo di debug per registrare le informazioni che desideriamo.

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

    Cos'è uno strumento LogExpert?

    1. Lo strumento LogExpert è uno strumento per Windows sviluppato per accodare i tronchi
    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'aggiunta 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 sia possibile fare riferimento allo strumento.

    Come utilizzare Log4j in Selenium

    Passo 1) In Eclipse creare un nuovo progetto con nome log4j_demo

    Usa Log4j In Selenium

    Passo 2) Fare clic con il tasto destro su src -> Percorso di creazione -> Configura percorso di creazione

    Usa Log4j In Selenium

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

    Usa Log4j In Selenium

    Passo 4) 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. Assegnare il nome del file come "log4j.properties"
    3. Clicca su Finisci

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

    Usa Log4j In Selenium

    Passo 5) In log4j.properties copia l'intera configurazione.

    Usa Log4j In Selenium

    Passo 6) Crea classe principale:

    1. Fare clic con il tasto destro sul pacchetto predefinito -> Nuovo -> Classe
    2. Dai il nome della classe e clicca su Fine

    Usa Log4j In Selenium

    Passo 7) 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 Auto-generated method stub
             WebDriver driver = new FirefoxDriver();
             Logger log = Logger.getLogger("devpinoyLogger");
             
             driver.get("https://healthunify.com/bmicalculator/");
    		 log.debug("opening webiste");
             driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
    		 log.debug("entring weight");
    		 driver.findElement(By.name("wg")).sendKeys("87");
             log.debug("selecting kilograms");
             driver.findElement(By.name("opt1")).sendKeys("kilograms");
             log.debug("selecting height in feet");
             driver.findElement(By.name("opt2")).sendKeys("5");
             log.debug("selecting height in inchs");
             driver.findElement(By.name("opt3")).sendKeys("10");
             log.debug("Clicking on calculate");
             driver.findElement(By.name("cc")).click();
    
    		 log.debug("Getting SIUnit value");
             String SIUnit = driver.findElement(By.name("si")).getAttribute("value");
             log.debug("Getting USUnit value");
             String USUnit = driver.findElement(By.name("us")).getAttribute("value");
             log.debug("Getting UKUnit value");
             String UKUnit = driver.findElement(By.name("uk")).getAttribute("value");
             log.debug("Getting overall description");
             String note = 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 https://healthunify.com/bmicalculator/e verificare il calcolatore BMI. Il peso inserito è 87 kg e l'altezza è 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

    Passo 8) Esegui lo script. Apri la posizione di Manuale e Selenium logs per verificare i dati di registrazione.

    Come è possibile utilizzare lo strumento LogExpert per analizzare i log

    1. Scarica lo strumento da https://github.com/zarunbal/LogExpert . Vai alla cartella di download di LogExpert

      Lo strumento LogExpert può essere utilizzato per analizzare i registri

    2. Apri LogExpert.exe
    3. Fare clic su File -> Apri e individuare il percorso in cui si trova Manual.log e SeleniumVengono archiviati i file .log. Seleziona il file
    4. Seleziona l'opzione "Segui la coda".

      Lo strumento LogExpert può essere utilizzato per analizzare il registro

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

      Le immagini seguenti mostrano la disposizione dei registri

      Lo strumento LogExpert può essere utilizzato per analizzare il registro

      Lo strumento LogExpert può essere utilizzato per analizzare il registro

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

    • cercare qualsiasi testo ed espressione regolare,
    • crea segnalibri e commentali e puoi anche navigare tra i segnalibri, cosa 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 linee diverse in base ad alcune determinate parole.

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