Výukový program Log4j with Selenium: Stažení, instalace, použití & Příklad

Obsah:

Anonim

Co je Log4j?

Log4j je rychlý, flexibilní a spolehlivý rámec pro protokolování (APIS) napsaný v jazyce Java vyvinutý na začátku roku 1996. Je distribuován pod licencí softwaru Apache. Log4J byl přenesen do jazyků C, C ++, C #, Perl, Python, Ruby a Eiffel. Je to nástroj používaný pro malé a velké projekty automatizace selenu.

Proč používat Log4j?

  • Je to otevřený zdroj
  • S Log4j je možné ukládat podrobnosti toku naší Selenium Automation do souboru nebo databází
  • Log4j se používá pro velké i malé projekty
  • V Log4j používáme v kódu spíše příkazy protokolu než příkazy SOPL, abychom zjistili stav projektu při jeho provádění

Log4j má tři hlavní komponenty

  1. Loggery : Je odpovědný za protokolování informací. Chcete-li implementovat protokolovací nástroje do projektu, je třeba provést následující kroky -
  • Vytvořte instanci pro třídu záznamníku : Třída záznamníku je nástroj založený na prostředí Java, který má všechny implementované obecné metody pro použití protokolu log4j
  • Definujte úroveň Log4j : Primárně existuje pět druhů úrovní protokolu
    1. Vše - Tato úroveň protokolování zaznamená vše (zapne všechny protokoly)
    2. DEBUG - vytiskne informace o ladění a je užitečné ve fázi vývoje
    3. INFO - vytiskne informační zprávu, která zvýrazní postup aplikace
    4. UPOZORNĚNÍ - vytiskne informace týkající se vadného a neočekávaného chování systému.
    5. CHYBA - chybová zpráva tisku, která by mohla umožnit pokračování systému
    6. FATAL - tisk kritických informací o systému, které způsobují selhání aplikace
    7. VYPNUTO - Žádné protokolování
  1. Dodatky : Používá se k doručování LogEvents na místo určení. Rozhoduje, co se stane s informacemi protokolu. Jednoduše řečeno, používá se k zápisu protokolů do souboru. Následuje několik typů dodatků
    1. ConsoleAppender se přihlásí ke standardnímu výstupu
    2. File appender vytiskne protokoly do nějakého souboru
    3. Rolling file appender to a file with maximum size

    Poznámka: Ve vlastnostech log4j můžeme volat appender s jakýmkoli jménem. Existují i ​​další dodatky, ale omezíme se na těchto pár.

  2. Rozvržení : Je odpovědný za formátování informací o protokolování v různých stylech.

Třída Logger poskytuje různé metody pro zpracování aktivit protokolování. Poskytuje dvě statické metody pro získání objektu Logger.

Veřejný statický záznamník getRootLogger ()Veřejný statický záznamník getLogger (název řetězce)

Jak je log4j konfigurován?

Abychom mohli konfigurovat log4j, musíme se rozhodnout, který appender implementovat. Podle toho budou nastaveny parametry appenderu.

  • Budeme používat úroveň DEBUG a RollingFileAppender
  • Uděláme dvě konfigurace nebo protokoly,
    • Za prvé: root logger, který zapíše všechny protokoly generované systémem do názvu souboru, tj. Selenium.logs
    • Za druhé: Zapíše informace vygenerované manuálními příkazy v kódu do názvu souboru - Manual.logs
  • Rozložení bude PatternLayout

# Kořenový záznamník

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

# Protokoly aplikací

log4j.logger.devpinoyLogger = DEBUG, cíl1log4j.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

Ve výše uvedeném příkladu jsme nakonfigurovali log4j tak, aby se přihlašoval do dvou různých souborů s názvem Selenium.log a Manual.log.

  • file a dest1 jsou dva identifikátory.
  • "Soubor" se používá k zadání názvu souboru, do kterého se budou protokoly ukládat
  • "maxFileSize" se používá ke konfiguraci maximální velikosti souboru protokolu. Když soubor dosáhne této velikosti, vytvoří se nový soubor se stejným názvem a starý název souboru se k němu přidá jako rejstřík.
  • "maxBackupIndex" se používá ke konfiguraci maximálního počtu souborů k zálohování.
  • „layout“ se používá k nastavení formátu souboru protokolu.
  • "Připojit" se používá k nastavení funkce připojení. Pokud je nastavena na hodnotu false, bude pokaždé vytvořen nový soubor, místo toho bude pro protokolování použit starý soubor

Jak se log4j používá ve skriptu?

V kódu jsme použili „log“ jako referenční proměnnou odkazující na metodu getLogger třídy Logger

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

K přihlášení požadovaných informací použijte proměnnou „log“ a metodu ladění.

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

Co je to nástroj LogExpert?

  1. Nástroj LogExpert je nástroj pro Windows vyvinutý pro sledování protokolů
  2. Je to bezplatný a otevřený prohlížeč protokolů.
  3. Jedná se o nástroj pro analýzu protokolů s mnoha funkcemi, jako je vyhledávání, filtrování, vytváření záložek a zvýrazňování protokolů
  4. V protokolech tohoto nástroje se soubory při otevření automaticky aktualizují
  5. V tomto nástroji můžeme otevřít více souborů protokolu na různých kartách
  6. Můžeme také vkládat komentáře k záložkám a existuje klávesová zkratka pro navigaci mezi různými záložkami. Můžeme také vidět kompletní seznam záložek a odtud přejít
  7. Zkratky nástroje jsou uvedeny v souboru nápovědy, aby bylo možné je odkázat na nástroj.

Kroky k použití Log4j se selenem

Krok 1) V Eclipse vytvořte nový projekt s názvem log4j_demo

Krok 2) Klikněte pravým tlačítkem na src -> Cesta sestavení -> Konfigurovat cestu sestavení

Krok 2) Klikněte na Knihovny a Přidat knihovnu Log4J. Můžete si jej stáhnout z https://logging.apache.org/log4j/1.2/download.html

Krok 3) Vytvořte nový soubor. Tento soubor bude obsahovat veškerou konfiguraci log4j

  1. Klikněte pravým tlačítkem na src -> Nové -> Jiné -> Obecné -> Soubor
  2. Zadejte název souboru jako „log4j.properties“
  3. Klikněte na Dokončit

Vytvořte další dva soubory a pojmenujte je, například Selenium.logs a Manual.logs. Tyto soubory budou obsahovat všechny protokoly vytvořené systémem a ručně protokolované příkazy

Krok 4) V souboru log4j.properties zkopírujte celou konfiguraci.

Krok 5) Vytvořte hlavní třídu:

  1. Klikněte pravým tlačítkem na výchozí balíček -> Nový -> Třída
  2. Zadejte název třídy a klikněte na dokončení

Krok 6) Zkopírujte následující kód do hlavní třídy

import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.firefox.FirefoxDriver;import org.apache.log4j.Logger;veřejná třída LoggingDemo {/ *** @param args* /public static void main (String [] args) {// TODO Automaticky generovaný útržek metodyOvladač WebDriver = nový FirefoxDriver ();Logger log = Logger.getLogger ("devpinoyLogger");driver.get ("http://healthunify.com/bmicalculator/");log.debug ("otevírací webový server");driver.manage (). timeouts (). implicitlyWait (20, TimeUnit.SECONDS);log.debug ("vážící váha");driver.findElement (By.name ("wg")). sendKeys ("87");log.debug ("výběr kilogramů");driver.findElement (By.name ("opt1")). sendKeys ("kilogramy");log.debug ("výběr výšky ve stopách");driver.findElement (By.name ("opt2")). sendKeys ("5");log.debug ("výběr výšky v palcích");driver.findElement (By.name ("opt3")). sendKeys ("10");log.debug ("Kliknutím na výpočet");driver.findElement (By.name ("cc")). click ();log.debug ("Získávání hodnoty SIUnit");Řetězec SIUnit = driver.findElement (By.name ("si")). GetAttribute ("hodnota");log.debug ("Získání hodnoty USUnit");Řetězec USUnit = driver.findElement (By.name ("us")). GetAttribute ("value");log.debug ("Získání hodnoty UKUnit");Řetězec UKUnit = driver.findElement (By.name ("uk")). GetAttribute ("value");log.debug ("Získání celkového popisu");Řetězcová poznámka = 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 ();}}

Ve výše uvedeném kódu navštěvujeme stránku http://healthunify.com/bmicalculator/ a ověřujeme kalkulačku BMI. Zadaná hmotnost je 87 kg a výška je 5 stop 10 palců. Skript kontroluje výstup v jednotkách SE, USA a UK.

Pomocí Logger.getLogger ("devpinoyLogger") vytváříme protokoly na úrovni systému

Pomocí metody log.debug ukládáme data do Manual.log

Krok 7) Spusťte skript. Otevřete umístění protokolů Manual a Selenium a zkontrolujte data protokolování.

Jak lze nástroj LogExpert použít k analýze protokolů

  1. Stáhněte si nástroj z http://logexpert.codeplex.com/. Přejděte do složky ke stažení LogExpert
  2. Otevřete soubor LogExpert.exe
  3. Klikněte na Soubor -> Otevřít a přejděte na cestu, kde jsou uloženy soubory Manual.log a Selenium.log. Vyberte soubor
  4. Vyberte možnost „Sledovat ocas“

    Výběrem možnosti Sledovat konec povolíte sledování protokolů, což znamená, že LogExpert automaticky aktualizuje soubor protokolu, když je skript ve fázi provádění. Pokud použijeme jakýkoli jiný editor, jako je poznámkový blok, musíme soubor znovu a znovu zavřít a aktualizovat protokoly. Ale s ExpertTool v režimu Follow Tail to není nutné.

    Následující obrázky ukazují rozložení protokolů

Pomocí nástroje LogExpert lze ladit protokoly vytvořené webovým ovladačem selenu, jak je to možné v tomto nástroji

  • hledat jakýkoli text a regulární výraz,
  • vytvářet záložky a komentovat je a také může přecházet mezi záložkami, což není možné v žádném jiném nástroji,
  • Filtrujte protokoly a vyhledávejte textové rozsahy a můžete také použít další filtr na předchozí filtrované protokoly,
  • Zvýrazněte různé řádky na základě určitých slov.

Tento nástroj také pomáhá rozdělit data do různých sloupců.