Výukový program Log4j with Selenium: Stiahnutie, inštalácia, použitie & Príklad

Obsah:

Anonim

Čo je to Log4j?

Log4j je rýchly, flexibilný a spoľahlivý rámec na protokolovanie (APIS) napísaný v prostredí Java vyvinutý začiatkom roku 1996. Distribuuje sa pod licenciou softvéru Apache. Log4J bol prenesený do jazykov C, C ++, C #, Perl, Python, Ruby a Eiffel. Je to nástroj používaný pre malé a veľké projekty automatizácie selénu.

Prečo používať Log4j?

  • Je to otvorený zdroj
  • Pomocou Log4j je možné ukladať podrobnosti toku našej automatizácie selénu do súboru alebo databáz
  • Log4j sa používa pre veľké aj malé projekty
  • V aplikácii Log4j používame v kóde skôr príkazy protokolu ako príkazy SOPL, aby sme poznali stav projektu počas jeho vykonávania

Log4j má tri hlavné komponenty

  1. Drevorubači : Je zodpovedný za zaznamenávanie informácií. Na implementáciu protokolovacích nástrojov do projektu je potrebné vykonať nasledujúce kroky -
  • Vytvorenie inštancie pre triedu záznamníka : Trieda záznamníka je obslužný program založený na prostredí Java, ktorý má všetky už implementované všeobecné metódy používania protokolu log4j.
  • Definujte úroveň Log4j : Primárne existuje päť druhov úrovní protokolov
    1. Všetko - táto úroveň prihlásenia zaznamená všetko (zapne všetky prihlásenia)
    2. DEBUG - vypíše ladiace informácie a je nápomocný vo fáze vývoja
    3. INFO - vypíše informačnú správu, ktorá zvýrazní pokrok v aplikácii
    4. UPOZORNENIE - vypíše informácie o chybnom a neočakávanom správaní systému.
    5. CHYBA - chybové hlásenie o tlači, ktoré môže umožniť pokračovanie systému
    6. FATAL - vypíše kritické informácie o systéme, ktoré spôsobujú zlyhanie aplikácie
    7. VYPNUTÉ - žiadne protokolovanie
  1. Dodatky : Používa sa na doručenie LogEvents na miesto určenia. Rozhoduje, čo sa stane s informáciami protokolu. Jednoducho povedané, slúži na zápis protokolov do súboru. Nasleduje niekoľko typov príloh
    1. ConsoleAppender sa prihlási na štandardný výstup
    2. Prikladateľ súboru vytlačí protokoly do niektorého súboru
    3. Rolovanie doplnku súboru do súboru s maximálnou veľkosťou

    Poznámka: Vo vlastnostiach log4j môžeme volať appender s akýmkoľvek menom. Existujú aj ďalšie prílohy, ale obmedzíme sa na týchto pár.

  2. Rozloženia : Je zodpovedný za formátovanie informácií o protokole v rôznych štýloch.

Trieda Logger poskytuje rôzne metódy na spracovanie protokolovacích aktivít. Poskytuje dve statické metódy na získanie objektu Logger.

Verejný statický záznamník getRootLogger ()Verejný statický záznamník getLogger (názov reťazca)

Ako je nakonfigurovaný protokol log4j?

Pri konfigurácii protokolu log4j sa musíme rozhodnúť, ktorý doplnok implementovať. Podľa toho sa nastavia parametre prihlasovateľa.

  • Použijeme úroveň DEBUG a RollingFileAppender
  • Urobíme dve konfigurácie alebo protokoly,
    • Prvý: root logger, ktorý zapíše všetky protokoly generované systémom do názvu súboru, tj. Selenium.logs
    • Druhá: Zapíše informácie vygenerované manuálnymi príkazmi v kóde do súboru file- Manual.logs
  • Rozloženie bude PatternLayout

# Root logger

log4j.rootLogger = DEBUG, súborlog4j.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

# Denníky aplikácií

log4j.logger.devpinoyLogger = DEBUG, cieľ1log4j.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 / rrrr HH: mm: ss}% c% m% nlog4j.appender.dest1.File = D: \\ Guru99 \\ src \\ Manual.logslog4j.appender.dest1.Append = false

Vo vyššie uvedenom príklade sme nakonfigurovali protokol log4j na prihlásenie do dvoch rôznych súborov s názvom Selenium.log a Manual.log.

  • file a dest1 sú dva identifikátory.
  • "Súbor" sa používa na zadanie názvu súboru, do ktorého sa budú protokoly ukladať
  • „maxFileSize“ sa používa na konfiguráciu maximálnej veľkosti protokolového súboru. Keď súbor dosiahne túto veľkosť, vytvorí sa nový súbor s rovnakým názvom a starý názov súboru sa k nemu pridá ako index.
  • „maxBackupIndex“ sa používa na konfiguráciu maximálneho počtu súborov, ktoré sa majú zálohovať.
  • „rozloženie“ sa používa na nastavenie formátu súboru protokolu.
  • "Pripojiť" sa používa na nastavenie funkcie pridania. Ak je nastavená na hodnotu False, potom sa pri prihlasovaní nebude vždy používať nový súbor, ale starý

Ako sa log4j používa v skripte?

V kóde sme použili „log“ ako referenčnú premennú odkazujúcu na metódu getLogger triedy Logger

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

Na zaznamenanie požadovaných informácií použite premennú „log“ odkazujúcu na premennú a ladiacu metódu.

log.debug ("- informácie--");

Čo je to nástroj LogExpert?

  1. Nástroj LogExpert je nástroj pre Windows vyvinutý na sledovanie protokolov
  2. Je to bezplatný a otvorený prehliadač protokolov.
  3. Je to nástroj na analýzu protokolov s viacerými funkciami, ako je vyhľadávanie, filtrovanie, ukladanie do záložiek a zvýrazňovanie protokolov
  4. V denníkoch tohto nástroja sa súbory po otvorení automaticky aktualizujú
  5. V tomto nástroji môžeme otvoriť viac súborov protokolu na rôznych kartách
  6. Môžeme tiež vložiť komentáre k záložkám a medzi rôznymi záložkami je k dispozícii klávesová skratka. Vidíme tiež kompletný zoznam záložiek a odtiaľ prechádzať
  7. Skratky nástroja sú uvedené v súbore pomocníka, aby bolo možné na ne odkazovať.

Kroky na použitie Log4j so selénom

Krok 1) V Eclipse vytvorte nový projekt s názvom log4j_demo

Krok 2) Kliknite pravým tlačidlom myši na src -> Cesta zostavy -> Konfigurovať cestu zostavy

Krok 2) Kliknite na Knižnice a Pridať Knižnicu Log4J. Môžete si ho stiahnuť z https://logging.apache.org/log4j/1.2/download.html

Krok 3) Vytvorte nový súbor. Tento súbor bude obsahovať všetku konfiguráciu log4j

  1. Kliknite pravým tlačidlom myši na src -> Nové -> Iné -> Všeobecné -> Súbor
  2. Názov súboru pomenujte „log4j.properties“
  3. Kliknite na Dokončiť

Vytvorte ďalšie dva súbory a pomenujte ich názvami, napríklad Selenium.logs a Manual.logs. Tieto súbory budú obsahovať všetky protokoly vytvorené systémom a ručne prihlásené výpisy

Krok 4) V log4j.properties skopírujte celú konfiguráciu.

Krok 5) Vytvorte hlavnú triedu:

  1. Pravým tlačidlom myši kliknite na predvolený balík -> Nový -> Trieda
  2. Zadajte názov triedy a kliknite na koniec

Krok 6) Skopírujte nasledujúci kód do hlavnej triedy

import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.firefox.FirefoxDriver;import org.apache.log4j.Logger;verejná trieda LoggingDemo {/ *** @param args* /public static void main (String [] args) {// TODO Automaticky generovaný pahýl metódyOvládač WebDriver = nový FirefoxDriver ();Logger log = Logger.getLogger ("devpinoyLogger");driver.get ("http://healthunify.com/bmicalculator/");log.debug („otváranie webových stránok“);driver.manage (). timeouts (). implicitlyWait (20, TimeUnit.SECONDS);log.debug ("príťažlivá váha");driver.findElement (By.name ("wg")). sendKeys ("87");log.debug („výber kilogramov“);driver.findElement (By.name ("opt1")). sendKeys ("kilogramy");log.debug ("výber výšky v stopách");driver.findElement (By.name ("opt2")). sendKeys ("5");log.debug ("výber výšky v palcoch");driver.findElement (By.name ("opt3")). sendKeys ("10");log.debug ("Kliknutím na výpočet");driver.findElement (By.name ("cc")). click ();log.debug ("Získava sa hodnota SIUnit");Reťazec SIUnit = driver.findElement (By.name ("si")). GetAttribute ("hodnota");log.debug ("Získava sa hodnota USUnit");Reťazec USUnit = driver.findElement (By.name ("us")). GetAttribute ("value");log.debug ("Získava sa hodnota UKUnit");Reťazec UKUnit = driver.findElement (By.name ("uk")). GetAttribute ("hodnota");log.debug ("Získava sa celkový popis");Reťazec 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 ();}}

Vo vyššie uvedenom kóde navštívime stránku http://healthunify.com/bmicalculator/ a overíme kalkulačku BMI. Zadaná hmotnosť je 87 kg a výška je 5 stôp a 10 palcov. Skript kontroluje výstup v jednotkách SE, USA a UK.

Pomocou Logger.getLogger ("devpinoyLogger") vytvárame protokoly na úrovni systému

Pomocou metódy log.debug ukladáme údaje do Manual.log

Krok 7) Spustite skript. Otvorte umiestnenie manuálnych a selénových protokolov a skontrolujte údaje protokolovania.

Ako možno nástroj LogExpert použiť na analýzu protokolov

  1. Stiahnite si nástroj z http://logexpert.codeplex.com/. Prejdite do priečinka na stiahnutie LogExpert
  2. Otvorte súbor LogExpert.exe
  3. Kliknite na Súbor -> Otvoriť a Prejdite na cestu, kde sú uložené súbory Manual.log a Selenium.log. Vyberte súbor
  4. Vyberte možnosť „Sledovať chvost“

    Výber možnosti sledovať chvost povolí chvenie protokolov, čo znamená, že program LogExpert automaticky aktualizuje súbor protokolu, keď je skript vo fáze vykonávania. Ak použijeme akýkoľvek iný editor, ako je napríklad poznámkový blok, musíme súbor znova a znova aktualizovať a aktualizovať protokoly. Ale s ExpertTool v režime Follow Tail to nie je potrebné.

    Nasledujúce obrázky ukazujú rozloženie protokolov

Pomocou nástroja LogExpert je možné ladiť protokoly vytvorené selenovým webdriverom, ako je to možné v tomto nástroji.

  • vyhľadať akýkoľvek text a regulárny výraz,
  • vytvárať záložky a komentovať ich a tiež môže prechádzať medzi záložkami, čo v žiadnom inom nástroji nie je možné,
  • Filtrujte protokoly a hľadajte rozsahy textu a na predchádzajúce filtrované protokoly môžete použiť aj iný filter,
  • Zvýraznite iný riadok na základe určitých slov.

Tento nástroj tiež pomáha rozdeliť údaje do rôznych stĺpcov.