Cum se utilizează Log4j în Selenium?
⚡ Rezumat inteligent
Log4j in Selenium este rapid, flexibil Java cadru de lucru pentru jurnalizare care înregistrează detaliile fluxului scripturilor de automatizare. Acesta acceptă mai multe niveluri de jurnalizare, extensii și machete și se combină bine cu LogExpert pentru analiza fișierelor jurnal generate.

În ce este Log4j Selenium?
Log4j este un framework de înregistrare (API) rapid, flexibil și fiabil, scris în Java și dezvoltat la începutul anului 1996. Este distribuit sub Apache Licență software. Log4j a fost portat pe C, C++, C#, Perl, Python, Ruby și Eiffel. Este un instrument utilizat pentru programare la scară mică și mare Selenium proiecte de automatizare.
De ce să folosiți Log4j?
Log4j oferă mai multe beneficii practice pentru Selenium proiecte:
- Este open source.
- Cu Log4j, este posibil să stocați detaliile fluxului Selenium automatizare într-un fișier sau într-o bază de date.
- Log4j funcționează atât pentru proiecte mari, cât și pentru proiecte mici.
- În Log4j, instrucțiunile de tip „log” înlocuiesc instrucțiunile System.out.println în cod pentru a cunoaște starea unui proiect în timpul execuției acestuia.
Componentele Log4j
Lemnari
Înregistratorul este responsabil pentru înregistrarea informațiilor. Pentru a implementa înregistratoare într-un proiect, trebuie parcurși următorii pași.
Creați o instanță pentru clasa Logger
Clasa Logger este o Javautilitar bazat pe care sunt deja implementate toate metodele generice pentru a utiliza Log4j.
Definiți nivelul Log4j
În principal, există șapte tipuri de niveluri de jurnalizare:
- TOT – Acest nivel de înregistrare înregistrează totul (activează toate jurnalele).
- DEBUG – afișează informații de depanare și este util în etapa de dezvoltare.
- INFO – afișează mesaje informative care evidențiază progresul aplicației.
- AVERTIZARE – afișează informații despre comportamentul defectuos și neașteptat al sistemului.
- EROARE – afișează mesaje de eroare care ar putea permite sistemului să continue.
- FATAL – afișează informații critice de sistem care provoacă blocarea aplicației.
- OPRIT – Fără înregistrare în jurnal.
Anexe
Un Appender este folosit pentru a livra LogEvents la destinație. Acesta decide ce se va întâmpla cu informațiile din jurnal. Cu alte cuvinte, scrie jurnalele într-un fișier. Următoarele sunt câteva tipuri de Appenderi:
- ConsoleAppender înregistrează în jurnalul de ieșire standard.
- FileAppender tipărește jurnalele într-un fișier specific.
- RollingFileAppender scrie într-un fișier cu o dimensiune maximă.
Notă: În log4j.properties, un appender poate fi apelat cu orice nume. Există și alte appendere, dar accentul se pune aici pe acestea.
aspecte
Layout-ul este responsabil pentru formatarea informațiilor de înregistrare în jurnal în diferite stiluri.
Clasa Logger oferă diferite metode pentru gestionarea activităților de înregistrare în jurnal. Aceasta oferă două metode statice pentru obținerea unui obiect Logger.
public static Logger getRootLogger()
public static Logger getLogger(String name)
Cum este configurat Log4j?
Pentru a configura Log4j, decideți ce program de aplicare să implementați. Parametrii programului de aplicare sunt setați în consecință.
- Folosește nivelul DEBUG și RollingFileAppender.
- Sunt create două configurații sau jurnale:
- Primul: un logger rădăcină, care scrie toate jurnalele generate de sistem într-un fișier numit Selenium.jurnale.
- În al doilea rând: un jurnal de aplicații, care scrie informațiile generate de comenzile manuale în cod, în fișierul numit Manual.logs.
- Aspectul folosit este 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
#Jurnalele aplicației
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
În exemplul de mai sus, Log4j este configurat să se înregistreze în două fișiere diferite numite Selenium.log și Manual.log.
- fișier și dest1 sunt cei doi identificatori.
- „Fișier” este folosit pentru a da numele fișierului în care sunt salvate jurnalele.
- „maxFileSize” este utilizat pentru a configura dimensiunea maximă a fișierului jurnal. Când fișierul atinge această dimensiune, se creează un fișier nou cu același nume, iar numele vechi al fișierului primește un sufix de index.
- „maxBackupIndex” este utilizat pentru a configura numărul maxim de fișiere de care se va face backup.
- „layout” este folosit pentru a seta formatul fișierului jurnal.
- „Append” este folosit pentru a seta funcția append. Când este setat la false, de fiecare dată se creează un fișier nou, în loc să se reutilizeze fișierul vechi pentru înregistrare.
Cum se folosește Log4j într-un script?
În cod, „log” este utilizat ca variabilă de referință care face referire la metoda getLogger a clasei Logger.
Logger log = Logger.getLogger("devpinoyLogger");
Folosește variabila de referință „log” și metoda de depanare pentru a înregistra în jurnal informațiile necesare.
log.debug("--information--");
Ce este un instrument LogExpert?
LogExpert este un instrument cu următoarele caracteristici:
- LogExpert este o Windows instrument dezvoltat pentru urmărirea buștenilor.
- Este un vizualizator de jurnale gratuit și open source.
- Este un instrument de analiză a jurnalelor cu multiple funcții, cum ar fi căutarea, filtrarea, marcarea și evidențierea jurnalelor.
- Fișierele jurnal se actualizează automat atunci când sunt deschise în acest instrument.
- Mai multe fișiere jurnal pot fi deschise în file diferite.
- Comentariile pot fi adăugate la marcaje, iar o tastă rapidă permite navigarea între diferite marcaje. O listă completă de marcaje este disponibilă pentru navigare.
- Comenzile rapide ale instrumentului sunt furnizate în fișierul de ajutor, astfel încât să poată fi consultate atunci când este nevoie.
Cum să utilizați Log4j în Selenium
Pas 1) In Eclipse, creați un proiect nou cu numele log4j_demo.
Pas 2) Faceți clic dreapta pe src -> Build Path -> Configure Build Path.
Pas 3) Faceți clic pe Biblioteci și adăugați biblioteca Log4j. Aceasta poate fi descărcată de la https://logging.apache.org/log4j/1.2/download.html.
Pas 4) Creați un fișier nou. Acest fișier conține toată configurația Log4j.
- Click dreapta pe src -> Nou -> Altul -> General -> Fișier.
- Dați numele fișierului „log4j.properties”.
- Faceți clic pe Finalizare.
Creați încă două fișiere și denumiți-le Selenium.logs și Manual.logs. Aceste fișiere conțin toate jurnalele create de sistem și instrucțiunile înregistrate manual.
Pas 5) În log4j.properties, copiați întreaga configurație.
Pas 6) Creați clasa principală:
- Faceți clic dreapta pe pachetul implicit -> Nou -> Clasă.
- Dați un nume clasei și faceți clic pe Terminare.
Pas 7) Copiați următorul cod în clasa principală.
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();
}
}
În codul de mai sus, scriptul vizitează https://healthunify.com/bmicalculator/ și verifică calculatorul IMC. Greutatea introdusă este de 87 KG, iar înălțimea este de 1,78 m. Scriptul verifică rezultatul în unități SI, SUA și Marea Britanie.
Folosind Logger.getLogger(„devpinoyLogger”), scriptul creează jurnale la nivel de sistem. Folosind metoda log.debug, datele sunt stocate în Manual.log.
Pas 8) Rulați scriptul. Deschideți locația Manualului și Selenium jurnale pentru a verifica datele de înregistrare.
Cum poate fi folosit instrumentul LogExpert pentru a analiza jurnalele
- Descărcați instrumentul de pe https://github.com/zarunbal/LogExpertAccesați folderul de descărcare LogExpert.
- Deschideți LogExpert.exe.
- Faceți clic pe Fișier -> Deschidere și navigați la calea unde se află Manual.log și SeleniumFișierele .log sunt stocate. Selectați fișierul.
- Selectați opțiunea „Urmăriți coada”.
Selectarea opțiunii „Urmărește coada” activează urmărirea jurnalelor, ceea ce înseamnă că LogExpert actualizează automat fișierul jurnal în timp ce scriptul este în execuție. Cu orice alt editor precum Notepad, fișierul trebuie închis și redeschis în mod repetat pentru a actualiza jurnalele. Cu LogExpert în modul „Urmărește coada”, acest lucru nu este necesar.
Următoarele imagini prezintă dispunerea jurnalelor.
Folosind LogExpert, jurnalele create de Selenium WebDriver poate fi depanat. Cu acest instrument, se poate:
- Căutați orice text și expresie regulată.
- Creați marcaje și comentați-le, precum și navigați între marcaje, ceea ce nu este posibil în niciun alt instrument.
- Filtrați jurnalele, căutați intervale de text și aplicați un alt filtru jurnalelor filtrate anterior.
- Evidențiați diferite rânduri pe baza anumitor cuvinte.
Acest instrument ajută, de asemenea, la împărțirea datelor în diferite coloane.











