Log4j ind Selenium: Sådan downloader og bruger du Log4j Properties File

Hvad er Log4j i Selenium?

Log4j er en hurtig, fleksibel og pålidelig logningsramme (APIS) skrevet i Java udviklet i begyndelsen af ​​1996. Det er distribueret under Apache Softwarelicens. Log4J er blevet overført til C, C++, C#, Perl, Python, Ruby og Eiffel sprog. Det er et værktøj, der bruges til små til store skalaer Selenium Automationsprojekter.

Hvorfor bruge Log4j?

  • Det er en open source
  • Med Log4j er det muligt at gemme flow details vores Selenium Automatisering i en fil eller databaser
  • Log4j bruges til store såvel som små projekter
  • I Log4j bruger vi log-sætninger i stedet for SOPL-sætninger i koden for at kende status for et projekt, mens det udføres

Log4j komponenter

Log4j komponenter

Loggere

Det er ansvarlig for at logge oplysninger. At implementere loggere i et projekt following trin skal udføres

Opret en instans til logger-klassen

Logger-klassen er et Java-baseret værktøj, der har fået alle de generiske metoder allerede implementeret til at bruge log4j

Definer Log4j-niveauet

PrimariDer er kun fem slags log-niveauer

  1. Alle – Dette logføringsniveau vil logge alt (det slår alle logfilerne til)
  2. DEBUG – udskriv fejlfindingsinformationen og er nyttig i udviklingsstadiet
  3. INFO – udskriv informationsmeddelelse, der fremhæver applikationens fremskridt
  4. ADVARSEL – udskriv information vedrørende fejlbehæftet og uventet systemadfærd.
  5. FEJL – udskriv fejlmeddelelse, der kan tillade systemet at fortsætte
  6. FATAL – udskriv systemkritiske oplysninger, som får applikationen til at gå ned
  7. FRA – Ingen logning

Vedhæng

Det bruges til at levere LogEvents til deres destination. Det bestemmer, hvad der skal ske med logoplysninger. Med enkle ord bruges det til at skrive logfilerne i filen. Following er få typer vedhæng

  1. ConsoleAppender logger til standardoutput
  2. Filtilføjelse udskriver logfiler til en eller anden fil
  3. Rulning af filtillæg til en fil med maksimal størrelse

Bemærk: I log4j-egenskaber kan vi kalde appender med et hvilket som helst navn. Der er også andre bilag, men vi vil begrænse os til disse få.

layouts

Det er ansvarligt for at formatere logoplysninger i forskellige stilarter.

Logger-klassen giver forskellige metoder til at håndtere logningsaktiviteter. Det giver to statiske metoder til at opnå et loggerobjekt.

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

Hvordan er log4j konfigureret?

For at konfigurere log4j skal vi beslutte, hvilken appender der skal implementeres. I overensstemmelse hermed vil parametrene for appender blive indstillet.

  • Vi vil bruge DEBUG-niveau og RollingFileAppender
  • Vi vil lave to konfigurationer eller logfiler,
  • Først: root logger, der vil skrive alle systemgenererede logfiler i filnavnet, dvs Selenium.logs
  • For det andet: Skriver informationen genereret af manuelle kommandoer i kode i filnavnet Manual.logs
  • Layout vil være PatternLayout
  • #Root logger

    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
    

    #Applikationslogfiler

    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
    

    I ovenstående eksempel har vi konfigureret log4j til at logge på to forskellige filer med navnet som Selenium.log og Manual.log.

    • file og dest1 er de to identifikatorer.
    • "Fil" bruges til at give et filnavn, hvori logfiler vil blive gemt
    • "maxFileSize" bruges til at konfigurere den maksimale størrelse af logfilen. Når filen når denne størrelse, oprettes en ny fil med samme navn, og det gamle filnavn vil blive tilføjet som et indeks til den.
    • "maxBackupIndex" bruges til at konfigurere det maksimale antal filer, der skal sikkerhedskopieres.
    • "layout" bruges til at indstille formatet på logfilen.
    • "Tilføj" bruges til at indstille tilføj funktionen. Hvis den er indstillet til falsk, vil der hver gang blive oprettet en ny fil i stedet for en gammel fil, der vil blive brugt til logning

    Hvordan bruges log4j i script?

    I kode har vi brugt "log" som en referencevariabel, der refererer til getLogger-metoden for Logger Class

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

    Brug "log" referencevariabel og fejlretningsmetode til at logge de oplysninger, vi ønsker.

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

    Hvad er et LogExpert-værktøj?

    1. LogExpert værktøj er et værktøj til Windows udviklet til at hale stammerne
    2. Det er gratis og open source log viewer.
    3. Det er et loganalyseværktøj med flere funktioner som searching, filtrering, bogmærke og fremhævelse af logfilerne
    4. I disse værktøjslogfiler bliver filer automatisk opdateret, når de åbnes
    5. I dette værktøj kan vi åbne flere logfiler i forskellige faner
    6. Vi kan også lægge kommentarer til bogmærker, og der er genvejstasten til at navigere mellem forskellige bogmærker. Vi kan også se en komplet bogmærkeliste og navigere derfra
    7. Genveje til værktøjet er givet i hjælpefilen, så de kan henvises til værktøjet.

    Sådan bruger du Log4j ind Selenium

    Trin 1) In Eclipse opret et nyt projekt med navnet log4j_demo

    Brug Log4j In Selenium

    Trin 2) Højreklik på src -> Build Path -> Konfigurer Build Path

    Brug Log4j In Selenium

    Trin 3) Klik på Biblioteker og Tilføj Log4J Library . Du kan downloade den fra https://logging.apache.org/log4j/1.2/download.html

    Brug Log4j In Selenium

    Trin 4) Opret en ny fil. Denne fil vil inkludere hele log4j-konfigurationen

    1. Højreklik på src -> Ny -> Andet -> Generelt -> Fil
    2. Angiv filnavnet som "log4j.properties"
    3. Klik på Afslut

    Opret to filer mere og giv dem navne som f.eks Selenium.logs og Manual.logs. Disse filer vil indeholde alle de logfiler, der er oprettet af systemet og manuelt loggede udsagn

    Brug Log4j In Selenium

    Trin 5) I log4j.properties kopieres hele konfigurationen.

    Brug Log4j In Selenium

    Trin 6) Opret hovedklasse:

    1. Højreklik på standardpakke -> Ny -> Klasse
    2. Giv klassens navn og klik på afslut

    Brug Log4j In Selenium

    Trin 7) Kopier folloenwing kode ind i hovedklassen

    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();
    	}
    }
    

    I ovenstående kode besøger vi https://healthunify.com/bmicalculator/og verificere BMI-beregneren. Den indtastede vægt er 87 kg og højden er 5 fod 10 tommer. Scriptet kontrollerer output i SE, US og UK enheder.

    Ved at bruge Logger.getLogger(“devpinoyLogger”) opretter vi logfiler på systemniveau

    Ved at bruge log.debug-metoden gemmer vi data i Manual.log

    Trin 8) Kør scriptet. Åbn placeringen af ​​Manual og Selenium logs for at kontrollere logningsdata.

    Hvordan LogExpert-værktøjet kan bruges til at analysere logfiler

    1. Download værktøjet fra https://github.com/zarunbal/LogExpert . Gå til LogExpert download mappe

      LogExpert Tool kan bruges til at analysere logfiler

    2. Åbn LogExpert.exe
    3. Klik på Filer -> Åbn og gennemse til stien, hvor Manual.log og Selenium.log-filer gemmes. Vælg filen
    4. Vælg muligheden "Følg hale".

      LogExpert Tool kan bruges til at analysere log

      Valg af follow tail-indstillingen muliggør tailing af logfiler, hvilket betyder, at LogExpert automatisk opdaterer logfilen, når scriptet er i udførelsesfasen. Hvis vi bruger en anden editor som notesblok, skal vi lukke og genåbne filen igen og igen for at opdatere logfilerne. Men med ExpertTool i Follow Tail Mode er dette ikke påkrævet.

      Following billeder viser logfilernes layout

      LogExpert Tool kan bruges til at analysere log

      LogExpert Tool kan bruges til at analysere log

    Ved at bruge LogExpert-værktøjet kan man fejlsøge logfiler oprettet af selenium webdriver som i dette værktøj engang kan

    • søg efter enhver tekst og regulære udtryk,
    • oprette bogmærker og kommentere dem og kan også navigere mellem bogmærker, hvilket ikke er muligt i noget andet værktøj,
    • Filtrer logfilerne og søg efter tekstområder og kan også anvende et andet filter på de tidligere filtrerede logfiler,
    • Fremhæv en anden linje baseret på nogle bestemte ord.

    Dette værktøj hjælper også med at opdele dataene i forskellige kolonner.