„Log4j“ su „Selenium“ mokymo programa: atsisiųskite, įdiekite, naudokite & Pavyzdys

Turinys:

Anonim

Kas yra „Log4j“?

„Log4j“ yra greita, lanksti ir patikima registravimo sistema (APIS), parašyta „Java“, sukurta 1996 metų pradžioje. Ji platinama pagal „Apache“ programinės įrangos licenciją. „Log4J“ buvo perkeltas į C, C ++, C #, Perl, Python, Ruby ir Eiffel kalbas. Tai įrankis, naudojamas mažiems ir dideliems „Selenium Automation“ projektams.

Kodėl naudoti Log4j?

  • Tai yra atviras šaltinis
  • Su „Log4j“ galima išsaugoti mūsų „Selenium Automation“ srauto informaciją faile arba duomenų bazėse
  • „Log4j“ naudojamas dideliems ir mažiems projektams
  • „Log4j“ naudojame žurnalo sakinius, o ne SOPL sakinius, kad žinotume projekto būseną, kai jis vykdomas

„Log4j“ turi tris pagrindinius komponentus

  1. Medienos kirtėjai : ji yra atsakinga už informacijos registravimą. Norint įdiegti žurnalistus į projektą, reikia atlikti šiuos veiksmus:
  • Sukurkite egzempliorių registruotojo klasei : „Logger“ klasė yra „Java“ pagrindu sukurta programa, kuri turi visus jau įdiegtus bendruosius metodus, kad galėtų naudoti „log4j“
  • Apibrėžkite „Log4j“ lygį : pirmiausia yra penkių rūšių žurnalų lygiai
    1. Viskas - šis registravimo lygis užregistruos viską (įjungia visus žurnalus)
    2. DEBUG - atspausdinkite derinimo informaciją ir yra naudinga kūrimo etape
    3. INFO - spausdinkite informacinį pranešimą, kuris pabrėžia programos progresą
    4. ĮSPĖJIMAS - spausdinkite informaciją apie netinkamą ir netikėtą sistemos veikimą.
    5. KLAIDA - spausdinimo klaidos pranešimas, kuris gali leisti sistemai tęsti
    6. FATAL - spausdinkite kritinę sistemos informaciją, dėl kurios programa sugenda
    7. OFF - nėra registravimo
  1. Priedai : jis naudojamas pristatyti „LogEvents“ į paskirties vietą. Ji nusprendžia, kas nutiks su žurnalo informacija. Paprastais žodžiais tariant, jis naudojamas žurnalams įrašyti į failą. Toliau pateikiami keli priedų tipai
    1. „ConsoleAppender“ prisijungia prie standartinės išvesties
    2. „File appender“ spausdina žurnalus į tam tikrą failą
    3. Failo priedo sukimas į maksimalaus dydžio failą

    Pastaba: „Log4j“ ypatybėse „Appender“ galime vadinti bet kokiu vardu. Yra ir kitų priedų, tačiau mes apsiribosime šiais keliais.

  2. Išdėstymai : ji yra atsakinga už registravimo informacijos formatavimą skirtingais stiliais.

„Logger“ klasėje pateikiami įvairūs metodai, kaip tvarkyti registravimo veiklą. Jame pateikiami du statiniai būdai, kaip gauti registravimo objektą.

Viešasis statinis kaupiklis „getRootLogger“ ()Viešasis statinis kaupiklis „getLogger“ (eilutės pavadinimas)

Kaip sukonfigūruojamas log4j?

Norėdami sukonfigūruoti „log4j“, turime nuspręsti, kurį priedą įdiegti. Atitinkamai bus nustatyti priedo parametrai.

  • Mes naudosime DEBUG lygį ir „RollingFileAppender“
  • Mes atliksime dvi konfigūracijas arba žurnalus,
    • Pirma: šakninis registratorius, kuris visus sistemos sukurtus žurnalus įrašys failo pavadinimu, ty „Selenium.logs“
    • Antra: rankiniu būdu sugeneruotų komandų sugeneruotą informaciją kodu įrašys į failo pavadinimą „Manual.logs“
  • Išdėstymas bus „PatternLayout“

#Root logger

log4j.rootLogger = KLAIDA, failaslog4j.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 = klaidingas

#Application Logs

log4j.logger.devpinoyLogger = KLAIDA, 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 {dd / MM / MMMM HH: mm: ss}% c% m% nlog4j.appender.dest1.File = D: \\ Guru99 \\ src \\ Manual.logslog4j.appender.dest1.Append = klaidingas

Ankstesniame pavyzdyje mes sukonfigūravome „log4j“ prisijungti prie dviejų skirtingų failų, vadinamų „Selenium.log“ ir „Manual.log“.

  • failas ir dest1 yra du identifikatoriai.
  • "Failas" naudojamas nurodyti failo pavadinimą, kuriame bus įrašyti žurnalai
  • „maxFileSize“ naudojama konfigūruoti maksimalų žurnalo failo dydį. Kai failas pasieks šį dydį, bus sukurtas naujas failas tuo pačiu pavadinimu, o senasis failo pavadinimas bus įtrauktas į jį kaip rodyklė.
  • „maxBackupIndex“ naudojamas konfigūruoti maksimalų failų, kuriuos reikia padaryti atsarginę kopiją, skaičių.
  • "maketas" naudojamas nustatyti žurnalo failo formatą.
  • "Pridėti" naudojamas nustatyti priedo funkciją. Jei jis nustatytas į „false“, kiekvieną kartą bus sukurtas naujas failas, o registravimui bus naudojamas senas failas

Kaip „log4j“ naudojamas scenarijuje?

Kode mes naudojome „log“ kaip referencinį kintamąjį, nurodantį „Logger“ klasės „getLogger“ metodą

Registratoriaus žurnalas = Logger.getLogger („devpinoyLogger“);

Norimos informacijos registravimui naudokite nuorodų kintamojo ir derinimo metodą „žurnalas“.

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

Kas yra „LogExpert“ įrankis?

  1. „LogExpert“ įrankis yra „Windows“ skirtas įrankis, sukurtas žurnalams pritaikyti
  2. Tai nemokama ir atviro kodo žurnalų peržiūros priemonė.
  3. Tai žurnalo analizės įrankis su daugybe funkcijų, tokių kaip žurnalų paieška, filtravimas, žymėjimas ir paryškinimas
  4. Šiame įrankių žurnale atidaromi failai automatiškai atnaujinami
  5. Šiame įrankyje galime atidaryti kelis žurnalo failus skirtinguose skirtukuose
  6. Mes taip pat galime pateikti komentarus apie žymes ir yra spartusis klavišas, skirtas naršyti tarp skirtingų žymių. Taip pat galime pamatyti visą žymių sąrašą ir naršyti iš ten
  7. Įrankio nuorodos pateikiamos pagalbos faile, kad jas būtų galima nukreipti į įrankį.

Veiksmai, kaip naudoti „Log4j“ su selenu

1 žingsnis) „Eclipse“ sukurkite naują projektą pavadinimu log4j_demo

2 žingsnis) Dešiniuoju pelės mygtuku spustelėkite src -> Build Path -> Configure Build Path

2 žingsnis) Spustelėkite Bibliotekos ir Pridėti „Log4J Library“. Galite atsisiųsti iš https://logging.apache.org/log4j/1.2/download.html

3 žingsnis) Sukurkite naują failą. Šiame faile bus visa „log4j“ konfigūracija

  1. Dešiniuoju pelės mygtuku spustelėkite src -> New -> Other -> General -> File
  2. Duokite failo pavadinimą kaip „log4j.properties“
  3. Spustelėkite Baigti

Sukurkite dar du failus ir suteikite jiems pavadinimus, pvz., „Selenium.logs“ ir „Manual.logs“. Šiuose failuose bus visi sistemos sukurti žurnalai ir rankiniu būdu užregistruoti teiginiai

4 žingsnis) „Log4j.properties“ nukopijuokite visą konfigūraciją.

5 žingsnis) Sukurkite pagrindinę klasę:

  1. Dešiniuoju pelės mygtuku spustelėkite numatytąjį paketą -> Naujas -> Klasė
  2. Nurodykite klasės pavadinimą ir spustelėkite „Baigti“

6 žingsnis) Nukopijuokite šį kodą į pagrindinę klasę

importuoti org.openqa.selenium.By;importuoti org.openqa.selenium.WebDriver;importuoti org.openqa.selenium.firefox.FirefoxDriver;importuoti org.apache.log4j.Logger;public class LoggingDemo {/ *** @param argumentuoja* /public static void main (String [] argumentuoja) {// TODO Automatiškai sugeneruotas metodas„WebDriver“ tvarkyklė = nauja „FirefoxDriver“ ();Registratoriaus žurnalas = Logger.getLogger („devpinoyLogger“);driver.get ("http://healthunify.com/bmicalculator/");log.debug („atidarymo žiniatinklis“);vairuotojas.tvarkyti (). skirtasis laikas (). implicitlyWait (20, TimeUnit.SECONDS);log.debug („įtraukiantis svoris“);driver.findElement (By.name ("wg")). sendKeys ("87");log.debug („kilogramų pasirinkimas“);driver.findElement (By.name ("opt1")). sendKeys ("kilogramai");log.debug („aukščio pasirinkimas pėdomis“);driver.findElement (By.name ("opt2")). sendKeys ("5");log.debug („aukščio pasirinkimas coliais“);driver.findElement (By.name ("opt3")). sendKeys ("10");log.debug ("Spustelėjus apskaičiuoti");driver.findElement (By.name ("cc")). spustelėkite ();log.debug ("SIUnit vertės gavimas");Eilutė SIUnit = driver.findElement (By.name ("si")). GetAttribute ("value");log.debug ("Gaunama USUnit reikšmė");Eilutė USUnit = driver.findElement (By.name ("mes")). GetAttribute ("value");log.debug ("UKUnit vertės gavimas");Eilutė UKUnit = driver.findElement (By.name ("uk")). GetAttribute ("value");log.debug ("Kaip gauti bendrą aprašymą");Styginių pastaba = 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 ("pastaba =" + pastaba);vairuotojas.mesti ();}}

Nurodytame kode apsilankome http://healthunify.com/bmicalculator/ir patikriname KMI skaičiuoklę. Įvestas svoris yra 87 kg, o aukštis - 5 pėdos 10 colių. Scenarijus tikrina išvestį SE, JAV ir JK vienetais.

Naudodami „Logger.getLogger“ („devpinoyLogger“) mes kuriame sistemos lygio žurnalus

Naudodami „log.debug“ metodą, duomenis saugome „Manual.log“

7 žingsnis) Paleiskite scenarijų. Norėdami patikrinti registravimo duomenis, atidarykite „Manual“ ir „Selenium“ žurnalų vietą.

Kaip „LogExpert“ įrankį galima naudoti žurnalams analizuoti

  1. Atsisiųskite įrankį iš http://logexpert.codeplex.com/. Eikite į „LogExpert“ atsisiuntimo aplanką
  2. Atidarykite „LogExpert.exe“
  3. Spustelėkite Failas -> Atidaryti ir naršyti iki kelio, kuriame saugomi „Manual.log“ ir „Selenium.log“ failai. Pasirinkite failą
  4. Pasirinkite parinktį „Sekti uodegą“

    Pasirinkus parinktį „sekti uodegą“ galima įforminti žurnalus, o tai reiškia, kad „LogExpert“ automatiškai atnaujina žurnalo failą, kai scenarijus yra vykdymo etape. Jei mes naudojame bet kurį kitą redaktorių, pvz., „Notepad“, turime vėl ir vėl uždaryti ir iš naujo atidaryti failą, kad atnaujintume žurnalus. Bet kai „ExpertTool“ veikia „Tail“ režimu, to nereikia.

    Šie paveikslėliai rodo rąstų išdėstymą

Naudojant „LogExpert“ įrankį, galima derinti seleno žiniatinklio tvarkyklės sukurtus žurnalus, kaip galima šiame įrankyje

  • ieškoti bet kokio teksto ir reguliariosios išraiškos,
  • sukurti žymes ir jas komentuoti, taip pat galite naršyti tarp žymių, o tai neįmanoma jokiame kitame įrankyje,
  • Filtruokite žurnalus ir ieškokite teksto diapazonų, taip pat galite taikyti kitą filtrą ankstesniems filtruotiems žurnalams,
  • Paryškinkite skirtingą eilutę, remdamiesi tam tikrais žodžiais.

Šis įrankis taip pat padeda suskaidyti duomenis į skirtingus stulpelius.