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.

ล 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
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:
- SVE โ Ova razina zapisivanja biljeลพi sve (ukljuฤuje sve zapise).
- DEBUG โ ispisuje informacije o otklanjanju pogreลกaka i koristan je u fazi razvoja.
- INFO โ ispisuje informativne poruke koje istiฤu napredak aplikacije.
- UPOZORENJE โ ispisuje informacije o neispravnom i neoฤekivanom ponaลกanju sustava.
- GREล KA โ ispisuje poruke o greลกkama koje bi mogle omoguฤiti sustavu nastavak rada.
- FATAL โ ispisuje kritiฤne informacije o sustavu koje uzrokuju ruลกenje aplikacije.
- 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:
- ConsoleAppender biljeลพi podatke u standardni izlaz.
- FileAppender ispisuje logove u odreฤenu datoteku.
- 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:
- LogExpert je Windows alat razvijen za rep trupaca.
- To je besplatan preglednik logova otvorenog koda.
- To je alat za analizu zapisnika s viลกe znaฤajki kao ลกto su pretraลพivanje, filtriranje, oznaฤavanje i isticanje zapisnika.
- Datoteke zapisnika se automatski aลพuriraju kada se otvore u ovom alatu.
- Viลกe datoteka zapisnika moลพe se otvoriti u razliฤitim karticama.
- Komentari se mogu dodavati oznakama, a tipkovni preฤac omoguฤuje navigaciju izmeฤu razliฤitih oznaka. Za navigaciju je dostupan potpuni popis oznaka.
- 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.
Korak 2) Desni klik na src -> Putanja izgradnje -> Konfiguriraj putanju izgradnje.
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.
Korak 4) Napravite novu datoteku. Ova datoteka sadrลพi svu Log4j konfiguraciju.
- Desni klik na src -> Novo -> Ostalo -> Opฤenito -> Datoteka.
- Datoteci dajte naziv โlog4j.propertiesโ.
- 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.
Korak 5) U log4j.properties kopirajte cijelu konfiguraciju.
Korak 6) Kreirajte glavnu klasu:
- Desni klik na zadani paket -> Novo -> Klasa.
- Dajte naziv razredu i kliknite Zavrลกi.
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
- Preuzmite alat s https://github.com/zarunbal/LogExpertIdite u mapu za preuzimanje LogExperta.
- Otvorite LogExpert.exe.
- Kliknite na Datoteka -> Otvori i pronaฤite putanju gdje se nalaze datoteke Manual.log i Selenium.log datoteke su pohranjene. Odaberite datoteku.
- Odaberite opciju "Prati rep".
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.
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.











