Log4j in Selenium: Cum să descărcați și să utilizați fișierul de proprietăți Log4j
În ce este Log4j Selenium?
Log4j este un cadru de logare (APIS) rapid, flexibil și de încredere scris în Java dezvoltat la începutul anului 1996. Este distribuit sub Apache Licență software. Log4J a fost portat pe C, C++, C#, Perl, Python, Ruby și Eiffel Languages. Este un instrument folosit la scară mică până la mare Selenium Proiecte de automatizare.
De ce să folosiți Log4j?
- Este o sursă deschisă
- Cu Log4j, este posibil să stocați detaliile fluxului nostru Selenium Automatizare într-un fișier sau baze de date
- Log4j este folosit atât pentru proiecte mari, cât și pentru proiecte mici
- În Log4j, folosim instrucțiuni de jurnal în loc de instrucțiuni SOPL în cod pentru a cunoaște starea unui proiect în timp ce acesta este în execuție
Componentele Log4j
Lemnari
Este responsabil pentru înregistrarea informațiilor. Pentru a implementa loggerele într-un proiect, trebuie să efectuați următorii pași
Creați o instanță pentru clasa logger
Clasa logger este a Javautilitar bazat pe -care are toate metodele generice deja implementate pentru a utiliza log4j
Definiți nivelul Log4j
În primul rând, există cinci tipuri de niveluri de jurnal
- Toate – Acest nivel de înregistrare va înregistra totul (activează toate jurnalele)
- DEBUG – imprimă informațiile de depanare și este util în etapa de dezvoltare
- INFO – imprimați mesaj informativ care evidențiază progresul aplicației
- WARN – imprimați informații despre comportamentul defect și neașteptat al sistemului.
- EROARE – tipăriți mesajul de eroare care ar putea permite sistemului să continue
- FATAL – tipăriți informații critice ale sistemului care cauzează blocarea aplicației
- OFF – Fără înregistrare
Anexe
Este folosit pentru a livra LogEvents la destinație. Acesta decide ce se va întâmpla cu informațiile de jurnal. Cu cuvinte simple, este folosit pentru a scrie jurnalele în fișier. Următoarele sunt câteva tipuri de apendice
- ConsoleAppender se înregistrează la ieșirea standard
- Apendicele de fișiere imprimă jurnalele într-un anumit fișier
- Rularea fișierului atașat la un fișier cu dimensiune maximă
Notă: În proprietățile log4j putem apela appender cu orice nume. Există și alți anexe, dar ne vom limita la acești câțiva.
aspecte
Este responsabil pentru formatarea informațiilor de înregistrare în diferite stiluri.
Clasa Logger oferă diferite metode pentru a gestiona activitățile de înregistrare. Acesta 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, trebuie să decidem ce apendice să implementăm. În consecință, vor fi setați parametrii anexei.
- Vom folosi nivelul DEBUG și RollingFileAppender
- Vom face două configurații sau jurnale,
- În primul rând: root logger, care va scrie toate jurnalele generate de sistem în numele fișierului, adică Selenium.busteni
- În al doilea rând: va scrie informațiile generate de comenzile manuale în cod în numele fișierului - Manual.logs
#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
#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, am configurat log4j să se conecteze la două fișiere diferite numite ca 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 vor fi salvate jurnalele
- „maxFileSize” este folosit pentru a configura dimensiunea maximă a fișierului jurnal. Când fișierul atinge această dimensiune, va fi creat un fișier nou cu același nume și numele vechi de fișier va fi adăugat ca index la acesta.
- „maxBackupIndex” este folosit pentru a configura numărul maxim de fișiere pentru a face backup.
- „layout” este folosit pentru a seta formatul fișierului jurnal.
- „Adăugați” este folosit pentru a seta funcția de adăugare. Dacă este setat la fals, de fiecare dată va fi creat un fișier nou, în loc să fie folosit fișierul vechi pentru înregistrare
Cum este utilizat log4j în script?
În cod, am folosit „log” ca variabilă de referință care face referire la metoda getLogger a clasei Logger
Logger log = Logger.getLogger("devpinoyLogger");
Utilizați variabila de referință „jurnal” și metoda de depanare pentru a înregistra informațiile pe care le dorim.
log.debug("--information--");
Ce este un instrument LogExpert?
- Instrumentul LogExpert este un instrument pentru Windows dezvoltat pentru a coada buștenii
- Este un vizualizator de jurnal gratuit și open source.
- Este un instrument de analiză a jurnalelor cu mai multe caracteristici, cum ar fi căutarea, filtrarea, marcarea și evidențierea jurnalelor
- În jurnalele acestui instrument, fișierele sunt actualizate automat când sunt deschise
- În acest instrument, putem deschide mai multe fișiere jurnal în diferite file
- De asemenea, putem pune comentarii la marcaje și există tasta de comandă rapidă pentru a naviga între diferite marcaje. De asemenea, putem vedea lista completă de marcaje și putem naviga de acolo
- Comenzile rapide ale instrumentului sunt date în fișierul de ajutor, astfel încât să poată fi referite la instrument.
Cum să utilizați Log4j în Selenium
Pas 1) In Eclipse creați un nou proiect cu numele log4j_demo
Pas 2) Faceți clic dreapta pe src -> Build Path -> Configurați Build Path
Pas 3) Faceți clic pe Biblioteci și Adăugați bibliotecă Log4J. Îl poți descărca de pe https://logging.apache.org/log4j/1.2/download.html
Pas 4) Creați un fișier nou. Acest fișier va include toată configurația log4j
- Faceți clic dreapta pe src -> New -> Other -> General -> File
- Dați numele fișierului ca „log4j.properties”
- Faceți clic pe Finalizare
Creați încă două fișiere și dați-le nume precum Selenium.jurnalele și jurnalele.manuale. Aceste fișiere vor conține 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 numele 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 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(); } }
În codul de mai sus, vizităm https://healthunify.com/bmicalculator/și verificați calculatorul IMC. Greutatea introdusă este de 87 kg și înălțimea este de 5 picioare 10 inci. Scriptul verifică ieșirea în unități SE, SUA și Marea Britanie.
Folosind Logger.getLogger(„devpinoyLogger”) creăm jurnalele la nivel de sistem
Folosind metoda log.debug stocăm datele în Manual.log
Pas 8) Rulați scriptul. Deschideți locația Manualului și Selenium jurnalele 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/LogExpert . Accesați folderul de descărcare LogExpert
- Deschideți LogExpert.exe
- Faceți clic pe Fișier -> Deschidere și Răsfoiți la calea unde Manual.log și SeleniumFișierele .log sunt stocate. Selectați fișierul
- Selectați opțiunea „Urmărește coada”.
Selectarea opțiunii de urmărire a urmăririi permite înregistrarea jurnalelor, ceea ce înseamnă că LogExpert actualizează automat fișierul jurnal atunci când scriptul este în faza de execuție. Dacă folosim orice alt editor, cum ar fi bloc-notes, atunci trebuie să închidem și să redeschidem fișierul din nou și din nou pentru a actualiza jurnalele. Dar cu ExpertTool în modul Follow Tail, acest lucru nu este necesar.
Imaginile următoare arată aspectul jurnalelor
Folosind instrumentul LogExpert, se pot depana jurnalele create de driverul web selenium, așa cum se poate face în acest instrument.
- caută orice text și expresie regulată,
- creați marcaje și comentați-le și, de asemenea, puteți naviga între marcaje, ceea ce nu este posibil în niciun alt instrument,
- Filtrați jurnalele și căutați intervale de text și, de asemenea, puteți aplica un alt filtru jurnalelor filtrate anterioare,
- Evidențiați o linie diferită pe baza unor anumite cuvinte.
Acest instrument ajută, de asemenea, la împărțirea datelor în diferite coloane.