Log4j cu Selenium Tutorial: Descărcare, instalare, utilizare & Exemplu

Cuprins:

Anonim

Ce este Log4j?

Log4j este un cadru rapid, flexibil și fiabil de înregistrare (APIS) scris în Java dezvoltat la începutul anului 1996. Este distribuit sub licența software Apache. Log4J a fost portat în limbile C, C ++, C #, Perl, Python, Ruby și Eiffel. Este un instrument folosit pentru proiecte Selenium Automation la scară mică sau mare.

De ce să folosești Log4j?

  • Este un open source
  • Cu Log4j, este posibil să stocați detaliile fluxului automatizării noastre Selenium într-un fișier sau baze de date
  • Log4j este utilizat atât pentru proiecte mari cât și pentru proiecte mici
  • În Log4j, folosim instrucțiuni jurnal mai degrabă decât instrucțiuni SOPL în cod pentru a cunoaște starea unui proiect în timp ce acesta se execută

Log4j are trei componente principale

  1. Loggers : Este responsabil pentru informațiile de înregistrare. Pentru a implementa jurnalele într-un proiect trebuie parcurși următorii pași -
  • Creați o instanță pentru clasa logger : Clasa Logger este un utilitar bazat pe Java care are toate metodele generice deja implementate pentru a utiliza log4j
  • Definiți nivelul Log4j : În principal, există cinci tipuri de niveluri de jurnal
    1. Toate - Acest nivel de înregistrare va înregistra totul (activează toate jurnalele)
    2. DEBUG - tipărește informațiile de depanare și este util în etapa de dezvoltare
    3. INFO - imprimați un mesaj informativ care evidențiază progresul aplicației
    4. AVERTISMENT - tipăriți informații despre comportamentul defect și neașteptat al sistemului.
    5. EROARE - imprimare mesaj de eroare care ar putea permite sistemului să continue
    6. FATAL - informații critice ale sistemului de imprimare care determină blocarea aplicației
    7. OFF - Fără înregistrare
  1. Anexe : este folosit pentru a livra LogEvents la destinația lor. Acesta decide ce se va întâmpla cu informațiile din jurnal. În cuvinte simple, este folosit pentru a scrie jurnalele în fișier. Următoarele sunt câteva tipuri de anexe
    1. ConsoleAppender se înregistrează la ieșirea standard
    2. File appender tipărește jurnalele într-un anumit fișier
    3. Rolling file appender la un fișier cu dimensiunea maximă

    Notă: În proprietățile log4j putem apela appender cu orice nume. Există și alți anexi, dar ne vom limita la acești câțiva.

  2. Aspecte : este responsabil pentru formatarea informațiilor de înregistrare în diferite stiluri.

Clasa Logger oferă diferite metode de gestionare a activităților de jurnalizare. Oferă două metode statice pentru obținerea unui obiect Logger.

Loger static static getRootLogger ()Logger public static getLogger (numele șirului)

Cum este configurat log4j?

Pentru a configura log4j trebuie să decidem ce appender să implementăm. În consecință, vor fi setați parametrii aplicației.

  • Vom folosi nivelul DEBUG și RollingFileAppender
  • Vom face două configurații sau jurnale,
    • Mai întâi: root logger, care va scrie toate jurnalele generate de sistem în numele fișierului, adică Selenium.logs
    • În al doilea rând: va scrie informațiile generate de comenzile manuale în cod în numele fișierului- Manual.logs
  • Aspectul va fi PatternLayout

#Root logger

log4j.rootLogger = DEBUG, fișierlog4j.appender.file = org.apache.log4j.RollingFileAppenderlog4j.appender.file.File = D: \\ Guru99 \\ src \\ Selenium.logslog4j.appender.file.maxFileSize = 900 KBlog4j.appender.file.maxBackupIndex = 5log4j.appender.file.layout = org.apache.log4j.PatternLayoutlog4j.appender.file.layout.ConversionPattern =% d {ABSOLUTE}% 5p% c  {1} :% L -% m% nlog4j.appender.file.Append = false

#Jurnale de aplicații

log4j.logger.devpinoyLogger = DEBUG, dest1log4j.appender.dest1 = org.apache.log4j.RollingFileAppenderlog4j.appender.dest1.maxFileSize = 900 KBlog4j.appender.dest1.maxBackupIndex = 6log4j.appender.dest1.layout = org.apache.log4j.PatternLayoutlog4j.appender.dest1.layout.ConversionPattern =% d {zz / LL / aaaa HH: mm: ss}% c% m% nlog4j.appender.dest1.File = D: \\ Guru99 \\ src \\ Manual.logslog4j.appender.dest1.Append = false

În exemplul de mai sus, am configurat log4j pentru a vă conecta la 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 vor fi salvate jurnalele
  • „MaxFileSize” este utilizat 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, iar numele vechi al fișierului va fi adăugat ca Index la acesta.
  • „maxBackupIndex” este utilizat pentru a configura numărul maxim de fișiere care trebuie copiate.
  • "layout" este folosit pentru a seta formatul fișierului jurnal.
  • „Adăugați” este utilizat pentru a seta funcția de adăugare. Dacă este setat la fals, de fiecare dată când va fi creat un fișier nou, nu va fi folosit fișierul vechi pentru înregistrare

Cum este utilizat log4j în script?

În cod, am folosit „log” ca o variabilă de referință care face referire la metoda getLogger din clasa Logger

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

Utilizați variabila de referință „jurnal” și metoda de depanare pentru a înregistra informațiile dorite.

log.debug ("- informații -");

Ce este un instrument LogExpert?

  1. Instrumentul LogExpert este un instrument pentru Windows dezvoltat pentru a rezolva jurnalele
  2. Este vizualizator de jurnal gratuit și open source.
  3. Este un instrument de analiză a jurnalelor cu mai multe funcții precum căutarea, filtrarea, marcarea și evidențierea jurnalelor
  4. În jurnalele acestui instrument, fișierele sunt actualizate automat la deschidere
  5. În acest instrument, putem deschide mai multe fișiere jurnal în diferite file
  6. De asemenea, putem pune comentarii pe 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
  7. Comenzile rapide ale instrumentului sunt date în fișierul de ajutor, astfel încât să poată fi trimise la instrument.

Pași pentru a utiliza Log4j cu Selenium

Pasul 1) În Eclipse creați un proiect nou cu numele log4j_demo

Pasul 2) Faceți clic dreapta pe src -> Build Path -> Configure Build Path

Pasul 2) Faceți clic pe Biblioteci și Adăugați Biblioteca Log4J. Puteți să-l descărcați de pe https://logging.apache.org/log4j/1.2/download.html

Pasul 3) Creați un fișier nou. Acest fișier va include toată configurația log4j

  1. Faceți clic dreapta pe src -> Nou -> Altele -> General -> Fișier
  2. Dați numele fișierului ca „log4j.properties”
  3. Faceți clic pe Finalizare

Creați încă două fișiere și dați-le nume precum Selenium.logs și Manual.logs. Aceste fișiere vor conține toate jurnalele create de sistem și declarațiile jurnalizate manual

Pasul 4) În log4j.properties copiați întreaga configurație.

Pasul 5) Creați clasa principală:

  1. Faceți clic dreapta pe pachetul implicit -> Nou -> Clasă
  2. Dați numele clasei și faceți clic pe finalizare

Pasul 6) 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 main main (String [] args) {// TODO Metoda generată automatDriver WebDriver = nou FirefoxDriver ();Logger log = Logger.getLogger ("devpinoyLogger");driver.get ("http://healthunify.com/bmicalculator/");log.debug ("deschidere webiste");driver.manage (). timeouts (). implicit Așteptați (20, TimeUnit.SECONDS);log.debug ("greutatea de intrare");driver.findElement (By.name ("wg")). sendKeys ("87");log.debug („selectarea kilogramelor”);driver.findElement (By.name ("opt1")). sendKeys ("kilograme");log.debug ("selectarea înălțimii în picioare");driver.findElement (By.name ("opt2")). sendKeys ("5");log.debug ("selectarea înălțimii în inci");driver.findElement (By.name ("opt3")). sendKeys ("10");log.debug („Dând clic pe calculare”);driver.findElement (By.name ("cc")). faceți clic pe ();log.debug („Obținerea valorii SIUnit”);Șir SIUnit = driver.findElement (By.name ("si")). GetAttribute ("valoare");log.debug („Obținerea valorii USUnit”);String USUnit = driver.findElement (By.name ("noi")). GetAttribute ("valoare");log.debug („Obținerea valorii UKUnit”);String UKUnit = driver.findElement (By.name ("uk")). GetAttribute ("valoare");log.debug („Obținerea descrierii generale”);Notă de șir = driver.findElement (By.name ("desc")). GetAttribute ("valoare");System.out.println ("SIUnit =" + SIUnit);System.out.println ("USUnit =" + USUnit);System.out.println ("UKUnit =" + UKUnit);System.out.println ("nota =" + notă);driver.quit ();}}

În codul de mai sus, vizităm http://healthunify.com/bmicalculator/ și verificăm calculatorul IMC. Greutatea introdusă este de 87 kg și înălțimea este de 5 picioare, 10 inci. Scriptul verifică ieșirea în unitățile SE, SUA și Marea Britanie.

Folosind Logger.getLogger ("devpinoyLogger") creăm jurnale la nivel de sistem

Folosind metoda log.debug stocăm date în Manual.log

Pasul 7) Rulați scriptul. Deschideți locația jurnalelor manuale și Selenium pentru a verifica datele de înregistrare.

Cum poate fi folosit instrumentul LogExpert pentru a analiza jurnalele

  1. Descărcați instrumentul de pe http://logexpert.codeplex.com/. Accesați folderul de descărcare LogExpert
  2. Deschideți LogExpert.exe
  3. Faceți clic pe Fișier -> Deschideți și Răsfoiți la calea unde sunt stocate fișierele Manual.log și Selenium.log. Selectați fișierul
  4. Selectați opțiunea „Urmăriți coada”

    Selectarea opțiunii de urmărire a cozii activează blocarea 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 ca notepad, 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.

    Următoarele imagini arată aspectul jurnalelor

Folosind instrumentul LogExpert, se pot depana jurnalele create de selenium webdriver, așa cum se poate face odată în acest instrument

  • căutați 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 zone de text și, de asemenea, puteți aplica un alt filtru jurnalelor filtrate anterioare,
  • Evidențiați o linie diferită pe baza anumitor cuvinte.

Acest instrument ajută, de asemenea, la partiționarea datelor în diferite coloane.