Kako koristiti Log4j u Selenium?

โšก Pametni saลพetak

Prijavi se Selenium je brz, fleksibilan Java Okvir za biljeลพenje podataka koji biljeลพi detalje toka skripti za automatizaciju. Podrลพava viลกe razina zapisnika, dodavanja i izgleda te se dobro uparuje s LogExpertom za analizu generiranih datoteka zapisnika.

  • ๐Ÿ”˜ Komponente: Log4j je izgraฤ‘en oko Loggera, Appendera i Layout-a koji zajedno biljeลพe, usmjeravaju i formatiraju dogaฤ‘aje dnevnika za Selenium projekti automatizacije.
  • โ˜‘๏ธ Razine zapisnika: Sedam razina (ALL, DEBUG, INFO, WARN, ERROR, FATAL, OFF) kontrolira koliko se detalja snima tijekom izvrลกavanja skripte i otklanjanja pogreลกaka.
  • โœ… Dodaci: ConsoleAppender, FileAppender i RollingFileAppender odreฤ‘uju hoฤ‡e li se unosi dnevnika slati u konzolu, statiฤku datoteku ili pomiฤni skup datoteka.
  • ๐Ÿงช konfiguracija: Datoteka log4j.properties definira korijenske i aplikacijske loggere, putanje datoteka, maksimalnu veliฤinu datoteke, indeks sigurnosne kopije i pravila formatiranja PatternLayout-a.
  • ๐Ÿ› ๏ธ Preglednik LogExperta: Besplatni alat LogExpert zavrลกava Selenium i ruฤne datoteke zapisnika u stvarnom vremenu, s filtriranjem, oznaฤavanjem, isticanjem i pregledom viลกe kartica.

Kako koristiti Log4j u Selenium

ล to je Log4j in Selenium?

Log4j je brz, fleksibilan i pouzdan okvir za biljeลพenje (API) napisan u Java i razvijen poฤetkom 1996. Distribuira se pod apaลก Softverska licenca. Log4j je prenesen na C, C++, C#, Perl, Python, Ruby i Eiffel programski jezici. To je alat koji se koristi za male i velike projekte. Selenium projekti automatizacije.

Zaลกto koristiti Log4j?

Log4j nudi nekoliko praktiฤnih prednosti za Selenium projekti:

  • To je open source.
  • Pomoฤ‡u Log4j-a moguฤ‡e je pohraniti detalje toka Selenium automatizacija u datoteci ili bazi podataka.
  • Log4j je pogodan i za velike i za male projekte.
  • U Log4j-u, log naredbe zamjenjuju System.out.println naredbe u kodu kako bi se znao status projekta dok se izvrลกava.

Komponente Log4j

Komponente Log4j

drvosjeฤe

Logger je odgovoran za zapisivanje informacija. Za implementaciju loggera u projektu potrebno je izvrลกiti sljedeฤ‡e korake.

Napravite instancu za klasu Logger

Klasa Logger je Javausluลพni program temeljen na -u koji ima sve generiฤke metode veฤ‡ implementirane za koriลกtenje Log4j-a.

Definirajte Log4j razinu

Primarno postoji sedam vrsta razina zapisnika:

  1. SVE โ€“ Ova razina zapisivanja biljeลพi sve (ukljuฤuje sve zapise).
  2. DEBUG โ€“ ispisuje informacije o otklanjanju pogreลกaka i koristan je u fazi razvoja.
  3. INFO โ€“ ispisuje informativne poruke koje istiฤu napredak aplikacije.
  4. UPOZORENJE โ€“ ispisuje informacije o neispravnom i neoฤekivanom ponaลกanju sustava.
  5. GREล KA โ€“ ispisuje poruke o greลกkama koje bi mogle omoguฤ‡iti sustavu nastavak rada.
  6. FATAL โ€“ ispisuje kritiฤne informacije o sustavu koje uzrokuju ruลกenje aplikacije.
  7. ISKLJUฤŒENO โ€“ Nema zapisivanja.

Dodaci

Dodavaฤ se koristi za dostavu LogEventa na njihovo odrediลกte. Odluฤuje ลกto ฤ‡e se dogoditi s informacijama iz zapisnika. Jednostavno reฤeno, zapisuje zapisnike u datoteku. Slijede neke vrste dodavaฤa:

  1. ConsoleAppender biljeลพi podatke u standardni izlaz.
  2. FileAppender ispisuje logove u odreฤ‘enu datoteku.
  3. RollingFileAppender zapisuje u datoteku maksimalne veliฤine.

Biljeลกka: U log4j.properties, dodavaฤ se moลพe pozvati s bilo kojim imenom. Postoje i drugi dodavaฤi, ali ovdje ฤ‡emo se usredotoฤiti na njih nekoliko.

izgleda

Izgled je odgovoran za formatiranje podataka zapisnika u razliฤitim stilovima.

Klasa Logger pruลพa razliฤite metode za rukovanje aktivnostima zapisivanja. Pruลพa dvije statiฤke metode za dobivanje objekta Logger.

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

Kako je Log4j konfiguriran?

Za konfiguriranje Log4j-a, odluฤite koji appender implementirati. Parametri appendera su postavljeni u skladu s tim.

  • Koristite DEBUG razinu i RollingFileAppender.
  • Izraฤ‘uju se dvije konfiguracije ili zapisnici:
    • Prvo: korijenski logger, koji zapisuje sve zapise generirane od strane sustava u datoteku pod nazivom Selenium.logovi.
    • Drugo: program za zapisivanje podataka aplikacije koji zapisuje informacije generirane ruฤnim naredbama u kodu u datoteku pod nazivom Manual.logs.
  • Koriลกteni raspored je 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{1}:%L - %m%n
log4j.appender.file.Append=false

#Dnevnici aplikacije

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

U gornjem primjeru, Log4j je konfiguriran za prijavu u dvije razliฤite datoteke pod nazivom Selenium.log i Manual.log.

  • file i dest1 dva su identifikatora.
  • โ€žDatotekaโ€œ se koristi za davanje naziva datoteke u koju se spremaju zapisnici.
  • โ€žmaxFileSizeโ€œ se koristi za konfiguriranje maksimalne veliฤine datoteke zapisnika. Kada datoteka dosegne tu veliฤinu, stvara se nova datoteka s istim nazivom, a stari naziv datoteke dobiva sufiks indeksa.
  • โ€žmaxBackupIndexโ€œ se koristi za konfiguriranje maksimalnog broja datoteka za sigurnosno kopiranje.
  • โ€œlayoutโ€ se koristi za postavljanje formata datoteke dnevnika.
  • "Append" se koristi za postavljanje funkcije dodavanja. Kada je postavljeno na "false", svaki put se stvara nova datoteka umjesto ponovnog koriลกtenja stare datoteke za zapisivanje.

Kako se Log4j koristi unutar skripte?

U kodu se "log" koristi kao referentna varijabla koja referencira metodu getLogger klase Logger.

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

Koristite referentnu varijablu "log" i metodu debug za zapisivanje potrebnih informacija.

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

ล to je alat LogExpert?

LogExpert je alat sa sljedeฤ‡im karakteristikama:

  1. LogExpert je Windows alat razvijen za rep trupaca.
  2. To je besplatan preglednik logova otvorenog koda.
  3. To je alat za analizu zapisnika s viลกe znaฤajki kao ลกto su pretraลพivanje, filtriranje, oznaฤavanje i isticanje zapisnika.
  4. Datoteke zapisnika se automatski aลพuriraju kada se otvore u ovom alatu.
  5. Viลกe datoteka zapisnika moลพe se otvoriti u razliฤitim karticama.
  6. Komentari se mogu dodavati oznakama, a tipkovni preฤac omoguฤ‡uje navigaciju izmeฤ‘u razliฤitih oznaka. Za navigaciju je dostupan potpuni popis oznaka.
  7. Preฤaci alata navedeni su u datoteci za pomoฤ‡ kako bi se mogli koristiti po potrebi.

Kako koristiti Log4j in Selenium

Korak 1) In Eclipse, stvorite novi projekt s nazivom log4j_demo.

Koristite Log4j In Selenium

Korak 2) Desni klik na src -> Putanja izgradnje -> Konfiguriraj putanju izgradnje.

Koristite Log4j In Selenium

Korak 3) Kliknite na Libraries (Knjiลพnice) i dodajte Log4j biblioteku. Moลพe se preuzeti s https://logging.apache.org/log4j/1.2/download.html.

Koristite Log4j In Selenium

Korak 4) Napravite novu datoteku. Ova datoteka sadrลพi svu Log4j konfiguraciju.

  1. Desni klik na src -> Novo -> Ostalo -> Opฤ‡enito -> Datoteka.
  2. Datoteci dajte naziv โ€žlog4j.propertiesโ€œ.
  3. Kliknite Finish.

Napravite joลก dvije datoteke i imenujte ih Selenium.logs i Manual.logs. Ove datoteke sadrลพe sve zapisnike koje je stvorio sustav i ruฤno zabiljeลพene izjave.

Koristite Log4j In Selenium

Korak 5) U log4j.properties kopirajte cijelu konfiguraciju.

Koristite Log4j In Selenium

Korak 6) Kreirajte glavnu klasu:

  1. Desni klik na zadani paket -> Novo -> Klasa.
  2. Dajte naziv razredu i kliknite Zavrลกi.

Koristite Log4j In Selenium

Korak 7) Kopirajte sljedeฤ‡i kod u glavnu klasu.

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

U gornjem kodu, skripta posjeฤ‡uje https://healthunify.com/bmicalculator/ i provjerava kalkulator BMI-a. Unesena teลพina je 87 kg, a visina je 170 cm. Skripta provjerava izlaz u SI, ameriฤkim i britanskim jedinicama.

Pomoฤ‡u Logger.getLogger(โ€œdevpinoyLoggerโ€), skripta stvara zapisnike na razini sustava. Pomoฤ‡u metode log.debug, podaci se pohranjuju u Manual.log.

Korak 8) Pokrenite skriptu. Otvorite lokaciju Manual i Selenium zapisnici za provjeru podataka zapisnika.

Kako se alat LogExpert moลพe koristiti za analizu zapisa

  1. Preuzmite alat s https://github.com/zarunbal/LogExpertIdite u mapu za preuzimanje LogExperta.

    Alat LogExpert moลพe se koristiti za analizu zapisa

  2. Otvorite LogExpert.exe.
  3. Kliknite na Datoteka -> Otvori i pronaฤ‘ite putanju gdje se nalaze datoteke Manual.log i Selenium.log datoteke su pohranjene. Odaberite datoteku.
  4. Odaberite opciju "Prati rep".

    Alat LogExpert moลพe se koristiti za analizu zapisnika

    Odabirom opcije "Prati rep" omoguฤ‡uje se praฤ‡enje zapisnika, ลกto znaฤi da LogExpert automatski aลพurira datoteku zapisnika dok se skripta izvrลกava. S bilo kojim drugim ureฤ‘ivaฤem podataka poput Notepada, datoteka se mora viลกe puta zatvoriti i ponovno otvoriti kako bi se zapisnici aลพurirali. S LogExpertom u naฤinu rada "Prati rep" to nije potrebno.

    Sljedeฤ‡e slike prikazuju raspored trupaca.

    Alat LogExpert moลพe se koristiti za analizu zapisnika

    Alat LogExpert moลพe se koristiti za analizu zapisnika

Pomoฤ‡u LogExperta, zapisnici koje je stvorio Selenium WebDriver se moลพe debugirati. U ovom alatu se moลพe:

  • Pretraลพite bilo koji tekst i regularni izraz.
  • Izradite oznake i komentirajte ih, a takoฤ‘er se kreฤ‡ite izmeฤ‘u oznaka, ลกto nije moguฤ‡e ni u jednom drugom alatu.
  • Filtrirajte zapisnike, pretraลพite raspone teksta i primijenite drugi filtar na prethodno filtrirane zapisnike.
  • Oznaฤite razliฤite retke na temelju odreฤ‘enih rijeฤi.

Ovaj alat takoฤ‘er pomaลพe podijeliti podatke u razliฤite stupce.

Pitanja i odgovori

Log4j 1.x je ukinut 2015. godine i koristi svojstva ili XML datoteku za konfiguraciju. Log4j 2.x nudi bolje performanse, asinhrone loggere, podrลกku za lambda i poboljลกanu sigurnost nakon Log4Shell zakrpa, ลกto ga ฤini preporuฤenim izborom za nove projekte.

Log4j podrลพava konfigurirane razine zapisnika, trajni izlaz datoteka, kontinuirano sigurnosno kopiranje i strukturirane obrasce. System.out.println piลกe samo u konzolu i ne moลพe se filtrirati ili arhivirati. Log4j omoguฤ‡uje Selenium rezultate testova lakลกe je trijaลพirati, provjeriti i reproducirati.

Da. AI asistenti mogu analizirati veliki Log4j izlaz, grupirati ponovljene kvarove i otkrivati โ€‹โ€‹obrasce uzroka Selenium trฤi. Istiฤu nestabilne lokatore, spore korake i slaลพu se traces, pretvarajuฤ‡i sirove zapise u prioritetne akcijske stavke za inลพenjere osiguranja kvalitete.

Platforme za promatranje voฤ‘ene umjetnom inteligencijom unoลกenjem Log4j streamova, otkrivanjem anomalija u stvarnom vremenu i predviฤ‘anjem kvarova prije nego ลกto utjeฤu na korisnike. Modeli strojnog uฤenja ocjenjuju ozbiljnost, dedupliciraju ลกumne dogaฤ‘aje i pokreฤ‡u pametna upozorenja, zamjenjujuฤ‡i ruฤne grep tijekove rada proaktivnim praฤ‡enjem.

Ne. LogExpert je popularan besplatni Windows preglednik s praฤ‡enjem repa i filtriranjem, ali alternative ukljuฤuju BareTail, Glogg, Klogg i pune platforme poput Splunka, Graylogili ELK stog za centraliziranu analizu na mnogim strojevima.

Saลพmite ovu objavu uz: