Log4j:n käyttö Selenium?

⚡ Älykäs yhteenveto

Kirjaudu4j sisään Selenium on nopea, joustava Java lokitiedostojen hallintajärjestelmä, joka tallentaa automaatioskriptien työnkulkutiedot. Se tukee useita lokitasoja, liittäjiä ja asetteluja ja toimii hyvin yhdessä LogExpertin kanssa luotujen lokitiedostojen analysointia varten.

  • 🔘 Komponentit: Log4j perustuu lokitoimintoihin, liittäjiin ja asetteluihin, jotka yhdessä tallentavat, reitittävät ja muotoilevat lokitapahtumia Selenium automaatioprojektit.
  • ☑️ Lokitasot: Seitsemän tasoa (KAIKKI, VIRHEENJÄRJESTELMÄ, INFO, VAROITUS, VIRHE, KOHTALAINEN, POIS) hallitsevat sitä, kuinka paljon tietoja tallennetaan komentosarjan suorituksen ja virheenkorjauksen aikana.
  • Liitteet: ConsoleAppender, FileAppender ja RollingFileAppender päättävät, lähetetäänkö lokimerkinnät konsoliin, staattiseen tiedostoon vai jatkuvasti päivittyvään tiedostojoukkoon.
  • 🧪 kokoonpano: log4j.properties-tiedosto määrittää pää- ja sovelluslokigeneraattorit, tiedostopolut, tiedostojen enimmäiskoon, varmuuskopioindeksin ja PatternLayout-muotoilusäännöt.
  • 🛠️ LogExpert-katseluohjelma: Ilmainen LogExpert-työkalun hännät Selenium ja manuaaliset lokitiedostot reaaliajassa, suodatuksella, kirjanmerkeillä, korostuksilla ja usean välilehden tarkastelulla.

Log4j:n käyttö Selenium

Mitä Log4j sisältää Selenium?

Log4j on nopea, joustava ja luotettava lokikirjausrajapinta (API), joka on kirjoitettu Java ja kehitettiin vuoden 1996 alussa. Se on jaettu Apache Ohjelmistolisenssi. Log4j on portattu C-kielelle. C++, C#, Perl, Python, Ruby- ja Eiffel-kielillä. Se on työkalu, jota käytetään sekä pienessä että suuressa mittakaavassa Selenium automaatioprojektit.

Miksi käyttää Log4j:tä?

Log4j tarjoaa useita käytännön etuja Selenium projektit:

  • Se on avoimen lähdekoodin.
  • Log4j:n avulla on mahdollista tallentaa virtaustiedot Selenium automaatio tiedostossa tai tietokannassa.
  • Log4j toimii niin suurissa kuin pienissäkin projekteissa.
  • Log4j:ssä lokilausekkeet korvaavat System.out.println-lausekkeet koodissa, jotta projektin tila voidaan nähdä suorituksen aikana.

Log4j-komponentit

Log4j-komponentit

Metsästäjät

Loggeri on vastuussa tietojen kirjaamisesta. Loggerien toteuttamiseksi projektissa on suoritettava seuraavat vaiheet.

Luo Logger-luokan instanssi

Logger-luokka on Java-pohjainen apuohjelma, jossa on jo toteutettu kaikki yleiset metodit Log4j:n käyttämiseen.

Määritä Log4j-taso

Lokitietoja on pääasiassa seitsemän eri tasoa:

  1. KAIKKI – Tämä lokitietojen taso tallentaa kaiken (se ottaa kaikki lokit käyttöön).
  2. DEBUG – tulostaa virheenkorjaustietoja ja on hyödyllinen kehitysvaiheessa.
  3. INFO – tulostaa tiedotteita, jotka korostavat sovelluksen edistymistä.
  4. VAROITUS – tulostaa tietoja järjestelmän virheellisestä ja odottamattomasta toiminnasta.
  5. VIRHE – tulostaa virheilmoituksia, jotka saattavat sallia järjestelmän jatkaa.
  6. FATAL – tulostaa järjestelmäkriittisiä tietoja, jotka aiheuttavat sovelluksen kaatumisen.
  7. POIS – Ei lokitietoja.

Liitteet

Liitteenä olevaa funktiota käytetään lokitapahtumien toimittamiseen määränpäähänsä. Se päättää, mitä lokitiedoille tapahtuu. Yksinkertaisesti sanottuna se kirjoittaa lokit tiedostoon. Seuraavassa on muutamia liitteen tyyppejä:

  1. ConsoleAppender kirjaa tiedot vakiotulosteeseen.
  2. FileAppender tulostaa lokit tiettyyn tiedostoon.
  3. RollingFileAppender kirjoittaa tiedostoon, jonka koko on sallittu enimmäismäärässä.

Huomautus: Tiedostossa log4j.properties voidaan kutsua liittäjää millä tahansa nimellä. On muitakin liittäjiä, mutta tässä keskitytään näihin muutamiin.

kaavoista

Asettelu vastaa lokitietojen muotoilusta eri tyyleihin.

Logger-luokka tarjoaa erilaisia ​​metodeja lokitietojen käsittelyyn. Se tarjoaa kaksi staattista metodia Logger-objektin hankkimiseen.

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

Miten Log4j on konfiguroitu?

Log4j:n konfiguroimiseksi päätä, mikä liittäjä otetaan käyttöön. Liittäjän parametrit asetetaan vastaavasti.

  • Käytä DEBUG-tasoa ja RollingFileAppenderia.
  • Kaksi konfiguraatiota tai lokia luodaan:
    • Ensinnäkin: juurilokien tallentaja, joka kirjoittaa kaikki järjestelmän luomat lokit tiedostoon nimeltä Selenium.lokit.
    • Toinen: sovellusten lokikirjaustoiminto, joka kirjoittaa manuaalisten komentojen koodissa luomat tiedot Manual.logs-nimiseen tiedostoon.
  • Käytetty asettelu on PatternLayout.

#Juurinkerääjä

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{1}:%L - %m%n
log4j.appender.file.Append=false

#Sovelluslokit

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

Yllä olevassa esimerkissä Log4j on määritetty kirjautumaan kahteen eri tiedostoon nimeltä Selenium.log ja Manual.log.

  • tiedosto ja kohde1 ovat kaksi tunnistetta.
  • ”Tiedosto”-kohtaa käytetään antamaan tiedostonimi, johon lokit tallennetaan.
  • ”maxFileSize”-parametria käytetään lokitiedoston enimmäiskoon määrittämiseen. Kun tiedosto saavuttaa tämän koon, luodaan uusi tiedosto samalla nimellä ja vanha tiedostonimi saa indeksiliitteen.
  • ”MaxBackupIndex”-parametria käytetään varmuuskopioitavien tiedostojen enimmäismäärän määrittämiseen.
  • "Asettelua" käytetään lokitiedoston muodon asettamiseen.
  • ”Liitä”-parametria käytetään liittämisfunktion asettamiseen. Kun se on asetettu arvoon false, uusi tiedosto luodaan joka kerta vanhan tiedoston käyttämisen sijaan lokikirjauksessa.

Miten Log4j:tä käytetään skriptin sisällä?

Koodissa ”log”-muuttujaa käytetään viittausmuuttujana, joka viittaa Logger-luokan getLogger-metodiin.

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

Käytä ”log”-viittausmuuttujaa ja debug-metodia tarvittavien tietojen lokitiedostoon.

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

Mikä on LogExpert-työkalu?

LogExpert on työkalu, jolla on seuraavat ominaisuudet:

  1. LogExpert on Windows tukkien pyrstöjen tekemiseen kehitetty työkalu.
  2. Se on ilmainen ja avoimen lähdekoodin lokitiedostojen katseluohjelma.
  3. Se on lokitietojen analysointityökalu, jossa on useita ominaisuuksia, kuten haku, suodatus, kirjanmerkkien lisääminen ja lokien korostaminen.
  4. Lokitiedostot päivittyvät automaattisesti, kun ne avataan tässä työkalussa.
  5. Useita lokitiedostoja voidaan avata eri välilehdillä.
  6. Kirjanmerkkeihin voi lisätä kommentteja, ja pikanäppäimellä voi siirtyä eri kirjanmerkkien välillä. Navigointia varten on käytettävissä täydellinen kirjanmerkkiluettelo.
  7. Työkalun pikakuvakkeet on annettu ohjetiedostossa, jotta niihin voi viitata tarvittaessa.

Kuinka käyttää Log4j:tä sisään Selenium

Vaihe 1) In Eclipse, luo uusi projekti nimellä log4j_demo.

Käytä Log4j In Selenium

Vaihe 2) Napsauta hiiren kakkospainikkeella lähdettä (src) -> Rakennuspolku (Build Path) -> Määritä rakennuspolku (Configure Build Path).

Käytä Log4j In Selenium

Vaihe 3) Napsauta Kirjastot ja lisää Log4j-kirjasto. Sen voi ladata osoitteesta https://logging.apache.org/log4j/1.2/download.html.

Käytä Log4j In Selenium

Vaihe 4) Luo uusi tiedosto. Tämä tiedosto sisältää kaikki Log4j-määritykset.

  1. Napsauta hiiren kakkospainikkeella lähdettä (src) -> Uusi (New) -> Muu (Other) -> Yleiset (Yleiset) -> Tiedosto (File).
  2. Anna tiedoston nimeksi ”log4j.properties”.
  3. Napsauta Valmis.

Luo kaksi tiedostoa lisää ja nimeä ne Selenium.logs ja Manual.logs. Nämä tiedostot sisältävät kaikki järjestelmän luomat lokit ja manuaalisesti kirjatut lauseet.

Käytä Log4j In Selenium

Vaihe 5) Kopioi koko kokoonpano tiedostosta log4j.properties.

Käytä Log4j In Selenium

Vaihe 6) Luo pääluokka:

  1. Napsauta hiiren kakkospainikkeella oletuspakettia -> Uusi -> Luokka.
  2. Anna luokalle nimi ja napsauta Valmis.

Käytä Log4j In Selenium

Vaihe 7) Kopioi seuraava koodi pääluokkaan.

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 website");
         driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
         log.debug("entering 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 inches");
         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();
    }
}

Yllä olevassa koodissa skripti vierailee https://healthunify.com/bmicalculator/ ja tarkistaa painoindeksilaskurin. Syötetty paino on 87 kg ja pituus 170 cm. Skripti tarkistaa tulosteen SI-, US- ja UK-yksiköissä.

Skripti luo järjestelmätason lokeja Logger.getLogger(“devpinoyLogger”) -metodin avulla. Tiedot tallennetaan Manual.log-tiedostoon log.debug-metodin avulla.

Vaihe 8) Suorita skripti. Avaa Manuaalin sijainti ja Selenium lokit lokitietojen tarkistamiseksi.

Miten LogExpert-työkalua voidaan käyttää lokien analysointiin

  1. Lataa työkalu osoitteesta https://github.com/zarunbal/LogExpertSiirry LogExpert-latauskansioon.

    LogExpert-työkalua voidaan käyttää lokien analysointiin

  2. Avaa LogExpert.exe-tiedosto.
  3. Valitse Tiedosto -> Avaa ja selaa polkuun, johon Manual.log ja Selenium.log-tiedostot on tallennettu. Valitse tiedosto.
  4. Valitse vaihtoehto ”Seuraa häntää”.

    LogExpert-työkalua voidaan käyttää lokin analysointiin

    Valitsemalla "Seuraa häntää" voit tallentaa lokit jälkeesi, mikä tarkoittaa, että LogExpert päivittää lokitiedoston automaattisesti komentosarjan suorituksen aikana. Muilla editoreilla, kuten Muistiolla, tiedosto on suljettava ja avattava uudelleen toistuvasti lokien päivittämiseksi. Kun LogExpert on Seuraa häntää -tilassa, tätä ei vaadita.

    Seuraavat kuvat näyttävät lokien asettelun.

    LogExpert-työkalua voidaan käyttää lokin analysointiin

    LogExpert-työkalua voidaan käyttää lokin analysointiin

LogExpertin avulla luodaan lokeja Selenium WebDriver voidaan debugata. Tällä työkalulla voi:

  • Hae mitä tahansa tekstiä ja säännöllisiä lausekkeita.
  • Luo kirjanmerkkejä ja kommentoi niitä sekä selaa kirjanmerkkien välillä, mikä ei ole mahdollista missään muussa työkalussa.
  • Suodata lokit, hae tekstialueita ja käytä toista suodatinta aiemmin suodatettuihin lokeihin.
  • Korosta eri rivejä tiettyjen sanojen perusteella.

Tämä työkalu auttaa myös jakamaan tiedot eri sarakkeisiin.

UKK

Log4j 1.x lopetti toimintansa vuonna 2015 ja käyttää ominaisuuksien tai XML-tiedoston konfigurointiin. Log4j 2.x tarjoaa paremman suorituskyvyn, asynkroniset lokikirjaajat, lambda-tuen ja parannetun tietoturvan Log4Shell-korjausten jälkeen, joten se on suositeltu valinta uusiin projekteihin.

Log4j tukee konfiguroitavia lokitasoja, pysyvää tiedostojen tulostusta, rullaavia varmuuskopioita ja jäsenneltyjä malleja. System.out.println kirjoittaa vain konsoliin, eikä sitä voida suodattaa tai arkistoida. Log4j tekee Selenium testitulokset on helpompi luokitella, auditoida ja toistaa.

Kyllä. Tekoälyavustajat voivat jäsentää suuria Log4j-tulosteita, ryhmitellä toistuvia virheitä ja paikantaa perimmäisiä syykuvioita eri alueilla. Selenium juoksuja. Ne korostavat epätasaisia ​​paikantimia, hitaita askeleita ja pinoamista traces, muuttamalla raakalokirivit priorisoiduiksi toimenpiteiksi laadunvarmistusinsinööreille.

Tekoälypohjaiset havainnointialustat käsittelevät Log4j-striimejä, havaitsevat poikkeamia reaaliajassa ja ennustavat viat ennen kuin ne vaikuttavat käyttäjiin. Koneoppimismallit pisteyttävät vakavuutta, poistavat kohinaisten tapahtumien duplikaatiot ja käynnistävät älykkäitä hälytyksiä, korvaten manuaaliset grep-työnkulut ennakoivalla valvonnalla.

Ei. LogExpert on suosittu ilmainen Windows katseluohjelma, jossa on häntäseuranta ja suodatus, mutta vaihtoehtoja ovat BareTail, glogg, Klogg ja täydet alustat, kuten Splunk, Graylogtai ELK-pino keskitettyyn analyysiin useissa koneissa.

Tiivistä tämä viesti seuraavasti: