Log4j ar selēna apmācību: lejupielādējiet, instalējiet, izmantojiet & Piemērs

Satura rādītājs:

Anonim

Kas ir Log4j?

Log4j ir ātra, elastīga un uzticama mežizstrādes sistēma (APIS), kas rakstīta Java valodā, kas izstrādāta 1996. gada sākumā. Tā tiek izplatīta ar Apache programmatūras licenci. Log4J ir pārnests uz C, C ++, C #, Perl, Python, Ruby un Eiffel valodām. Tas ir rīks, ko izmanto maziem un lieliem Selenium Automation projektiem.

Kāpēc izmantot Log4j?

  • Tas ir atvērts avots
  • Izmantojot Log4j, ir iespējams saglabāt mūsu Selenium Automation plūsmas informāciju failā vai datu bāzēs
  • Log4j tiek izmantots gan lieliem, gan maziem projektiem
  • Log4j mēs kodā izmantojam žurnāla paziņojumus, nevis SOPL priekšrakstus, lai uzzinātu projekta statusu, kamēr tas izpilda

Log4j ir trīs galvenās sastāvdaļas

  1. Mežizstrādātāji : tā ir atbildīga par informācijas reģistrēšanu. Lai mežizstrādātājus ieviestu projektā, ir jāveic šādas darbības:
  • Izveidot eksemplāru reģistrētāja klasei : Reģistrētāja klase ir Java balstīta utilīta, kurai ir ieviestas visas vispārīgās metodes, lai izmantotu log4j
  • Definējiet Log4j līmeni : galvenokārt ir pieci žurnālu līmeņu veidi
    1. Visi - šis reģistrēšanas līmenis reģistrēs visu (ieslēdz visus žurnālus)
    2. DEBUG - izdrukājiet atkļūdošanas informāciju un ir noderīga izstrādes posmā
    3. INFO - drukājiet informatīvu ziņojumu, kas izceļ programmas progresu
    4. WARN - izdrukājiet informāciju par kļūdainu un negaidītu sistēmas darbību.
    5. KĻŪDA - drukas kļūdas ziņojums, kas varētu ļaut sistēmai turpināt darbību
    6. FATAL - drukājiet sistēmas kritisko informāciju, kas izraisa lietojumprogrammas avāriju
    7. OFF - nav mežizstrādes
  1. Pievienotāji : to izmanto, lai nogādātu LogEvents uz galamērķi. Tas izlemj, kas notiks ar žurnāla informāciju. Vienkārši sakot, to izmanto žurnālu ierakstīšanai failā. Tālāk ir norādīti daži papildinātāju veidi
    1. ConsoleAppender piesakās standarta izvadē
    2. File appender izdrukā žurnālus uz kādu failu
    3. Notiek faila pielikuma pārvietošana uz failu ar maksimālo lielumu

    Piezīme: Log4j rekvizītos mēs varam izsaukt appender ar jebkuru vārdu. Ir arī citi papildinātāji, taču mēs ierobežosimies tikai šiem dažiem.

  2. Izkārtojumi : tā ir atbildīga par reģistrēšanas informācijas formatēšanu dažādos stilos.

Reģistrētāja klase nodrošina dažādas metodes, lai apstrādātu mežizstrādes darbības. Tas nodrošina divas statiskas metodes reģistrētāja objekta iegūšanai.

Publiskais statiskais reģistrētājs getRootLogger ()Publiskais statiskais reģistrētājs getLogger (virknes nosaukums)

Kā tiek konfigurēts log4j?

Lai konfigurētu log4j, mums jāizlemj, kuru pievienotāju ieviest. Attiecīgi tiks noteikti pievienotāja parametri.

  • Mēs izmantosim DEBUG līmeni un RollingFileAppender
  • Mēs veiksim divas konfigurācijas vai žurnālus,
    • Pirmkārt: sakņu reģistrētājs, kas visus sistēmas ģenerētos žurnālus ierakstīs faila nosaukumā, ti, Selenium.logs
    • Otrkārt: ierakstīs manuālo komandu ģenerēto informāciju kodā faila nosaukumā Manual.logs
  • Izkārtojums būs PatternLayout

# Sakņu reģistrētājs

log4j.rootLogger = DEBUG, failslog4j.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 = nepatiesa

# Pieteikumu žurnāli

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 {dd / MM / gggg HH: mm: ss}% c% m% nlog4j.appender.dest1.File = D: \\ Guru99 \\ src \\ Manual.logslog4j.appender.dest1.Append = nepatiesa

Iepriekš minētajā piemērā mēs esam konfigurējuši log4j, lai pieteiktos divos dažādos failos ar nosaukumu Selenium.log un Manual.log.

  • fails un dest1 ir divi identifikatori.
  • "Fails" tiek izmantots, lai piešķirtu faila nosaukumu, kurā tiks saglabāti žurnāli
  • "maxFileSize" tiek izmantots, lai konfigurētu žurnāla faila maksimālo lielumu. Kad fails sasniedz šo lielumu, tiks izveidots jauns fails ar tādu pašu nosaukumu un vecais faila nosaukums tiks pievienots kā indekss tam.
  • "maxBackupIndex" tiek izmantots, lai konfigurētu maksimālo dublējamo failu skaitu.
  • "izkārtojums" tiek izmantots, lai iestatītu žurnāla faila formātu.
  • "Pievienot" izmanto, lai iestatītu pievienošanas funkciju. Ja tas ir iestatīts uz false, tad katru reizi, kad tiks izveidots jauns fails, reģistrēšanai tiks izmantots vecais fails

Kā log4j tiek izmantots skriptā?

Kodā mēs esam izmantojuši "log" kā atsauces mainīgo, kas atsaucas uz reģistrētāja klases getLogger metodi

Reģistrētāja žurnāls = Logger.getLogger ("devpinoyLogger");

Izmantojiet "log" atsauces mainīgo un atkļūdošanas metodi, lai reģistrētu vēlamo informāciju.

log.debug ("- informācija--");

Kas ir LogExpert rīks?

  1. LogExpert rīks ir Windows rīks, kas izstrādāts, lai izveidotu žurnālu asti
  2. Tas ir bezmaksas un atvērtā koda žurnālu skatītājs.
  3. Tas ir žurnālu analīzes rīks ar vairākām funkcijām, piemēram, meklēšanu, filtrēšanu, grāmatzīmēm un žurnālu izcelšanu
  4. Šajā rīku žurnālos faili tiek automātiski atjaunināti, tos atverot
  5. Šajā rīkā mēs varam atvērt vairākus žurnāla failus dažādās cilnēs
  6. Mēs varam pievienot komentārus arī grāmatzīmēm, un, lai pārvietotos starp dažādām grāmatzīmēm, ir īsinājumtaustiņš. Mēs varam arī redzēt pilnu grāmatzīmju sarakstu un pārvietoties no turienes
  7. Rīka saīsnes ir norādītas palīdzības failā, lai tās varētu norādīt uz rīku.

Darbības, lai izmantotu Log4j kopā ar selēnu

1. solis. Programmā Eclipse izveidojiet jaunu projektu ar nosaukumu log4j_demo

2. solis) Ar peles labo pogu noklikšķiniet uz src -> Build Path -> Configure Build Path

2. solis) Noklikšķiniet uz Bibliotēkas un Pievienojiet Log4J bibliotēku. To varat lejupielādēt vietnē https://logging.apache.org/log4j/1.2/download.html

3. solis) Izveidojiet jaunu failu. Šis fails ietvers visu log4j konfigurāciju

  1. Ar peles labo pogu noklikšķiniet uz src -> New -> Other -> General -> File
  2. Piešķiriet faila nosaukumu kā "log4j.properties"
  3. Noklikšķiniet uz Pabeigt

Izveidojiet vēl divus failus un piešķiriet tiem tādus nosaukumus kā Selenium.logs un Manual.logs. Šie faili saturēs visus sistēmas izveidotos žurnālus un manuāli reģistrētos paziņojumus

4. solis . Log4j.properties nokopējiet visu konfigurāciju.

5. solis) Izveidojiet galveno klasi:

  1. Ar peles labo pogu noklikšķiniet uz noklusējuma pakotnes -> Jauns -> Klase
  2. Norādiet klases nosaukumu un noklikšķiniet uz Pabeigt

6. solis. Nokopējiet šo kodu galvenajā klasē

importēt org.openqa.selenium.By;importēt org.openqa.selenium.WebDriver;importēt org.openqa.selenium.firefox.FirefoxDriver;importēt org.apache.log4j.Logger;public class LoggingDemo {/ *** @param argumentē* /public static void main (String [] args) {// TODO Automātiski ģenerētās metodes spraudnisWebDriver draiveris = jauns FirefoxDriver ();Reģistrētāja žurnāls = Logger.getLogger ("devpinoyLogger");driver.get ("http://healthunify.com/bmicalculator/");log.debug ("Webiste atvēršana");driver.manage (). taimauti (). implicitlyWait (20, TimeUnit.SECONDS);log.debug ("pievilcīgais svars");driver.findElement (By.name ("wg")). sendKeys ("87");log.debug ("atlasot kilogramus");driver.findElement (By.name ("opt1")). sendKeys ("kilogrami");log.debug ("augstuma izvēle pēdās");driver.findElement (By.name ("opt2")). sendKeys ("5");log.debug ("augstuma izvēle collās");driver.findElement (By.name ("opt3")). sendKeys ("10");log.debug ("Noklikšķinot uz aprēķina");driver.findElement (By.name ("cc")). noklikšķiniet ();log.debug ("SIUnit vērtības iegūšana");Virkne SIUnit = draiveris.findElement (By.name ("si")). GetAttribute ("value");log.debug ("USUnit vērtības iegūšana");Virkne USUnit = driver.findElement (By.name ("mums")). GetAttribute ("value");log.debug ("UKUnit vērtības iegūšana");Virkne UKUnit = draiveris.findElement (By.name ("uk")). GetAttribute ("value");log.debug ("Vispārīga apraksta iegūšana");Virknes piezīme = 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 ("piezīme =" + piezīme);vadītājs.iziet ();}}

Iepriekš minētajā kodā mēs apmeklējam vietni http://healthunify.com/bmicalculator/un pārbaudiet ĶMI kalkulatoru. Ievadītais svars ir 87 kg un augstums ir 5 pēdas 10 collas. Skripts pārbauda izvadi SE, ASV un Lielbritānijas vienībās.

Izmantojot Logger.getLogger ("devpinoyLogger"), mēs izveidojam sistēmas līmeņa žurnālus

Izmantojot log.debug metodi, mēs datus glabājam Manual.log

7. solis) Palaidiet skriptu. Atveriet manuālo un selēna žurnālu atrašanās vietu, lai pārbaudītu reģistrēšanas datus.

Kā logExpert rīku var izmantot žurnālu analīzei

  1. Lejupielādējiet rīku vietnē http://logexpert.codeplex.com/. Dodieties uz LogExpert lejupielādes mapi
  2. Atveriet LogExpert.exe
  3. Noklikšķiniet uz Fails -> Atvērt un pārlūkot ceļu, kur tiek saglabāti Manual.log un Selenium.log faili. Atlasiet failu
  4. Atlasiet opciju "Sekot asti"

    Atlasot opciju sekot astei, tiek atļauta žurnālu izveide, kas nozīmē, ka LogExpert automātiski atjaunina žurnāla failu, kad skripts ir izpildes fāzē. Ja mēs izmantojam jebkuru citu redaktoru, piemēram, notepad, mums atkal un atkal jāaizver un jāatver fails, lai atjauninātu žurnālus. Bet, ja ExpertTool ir režīmā Follow Tail, tas nav nepieciešams.

    Turpmākajos attēlos parādīts žurnālu izkārtojums

Izmantojot LogExpert rīku, var atkļūdot selēna tīmekļa draivera izveidotos žurnālus, kā tas ir šajā rīkā

  • meklēt jebkuru tekstu un regulāru izteiksmi,
  • izveidot grāmatzīmi un komentēt tās, kā arī var pārvietoties starp grāmatzīmēm, kas nav iespējams nevienā citā rīkā,
  • Filtrējiet žurnālus un meklējiet teksta diapazonus, kā arī varat izmantot citu filtru iepriekšējiem filtrētajiem žurnāliem,
  • Iezīmējiet citu līniju, pamatojoties uz dažiem noteiktiem vārdiem.

Šis rīks arī palīdz sadalīt datus dažādās kolonnās.