Přihlaste se4j Selenium: Jak stáhnout a používat soubor vlastností Log4j

Co je Log4j in Selenium?

Log4j je rychlý, flexibilní a spolehlivý protokolovací rámec (APIS) napsaný v Java vyvinut na začátku roku 1996. Je distribuován pod Apache Softwarová licence. Log4J byl portován na C, C++, C#, Perl, Python, Ruby a Eiffelovy jazyky. Je to nástroj používaný v malém až velkém měřítku Selenium Automatizační projekty.

Proč používat Log4j?

  • Jedná se o open source
  • S Log4j je možné uložit podrobnosti o toku našeho Selenium Automatizace v souboru nebo databázích
  • 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 během jeho provádění.

Komponenty Log4j

Komponenty Log4j

Dřevorubci

Je zodpovědný za protokolování informací. Pro implementaci loggerů do projektu je třeba provést následující kroky

Vytvořte instanci pro třídu logger

Třída Logger je a Java-založený nástroj, který má již implementovány všechny obecné metody pro použití log4j

Definujte úroveň Log4j

Primárně existuje pět druhů log úrovní

  1. Vše – Tato úroveň protokolování zaznamená vše (zapne všechny protokoly)
  2. DEBUG – tisk informací o ladění a je užitečný ve fázi vývoje
  3. INFO – tisk informační zprávy, která upozorňuje na průběh aplikace
  4. WARN – tisk informací o chybném a neočekávaném chování systému.
  5. ERROR – tisk chybové zprávy, která může umožnit pokračování systému
  6. FATAL – tisk kritických systémových informací, které způsobují pád aplikace
  7. OFF – Žádné protokolování

Appenders

Používá se k doručení událostí LogEvents na místo určení. Rozhoduje, co se stane s informacemi protokolu. Jednoduše řečeno, používá se k zápisu logů do souboru. Následuje několik typů Appenderů

  1. ConsoleAppender se přihlásí na standardní výstup
  2. File appender vytiskne protokoly do nějakého souboru
  3. Rolling file appender do souboru s maximální velikostí

Poznámka: Ve vlastnostech log4j můžeme zavolat appender s libovolným jménem. Existují i ​​další přílohy, ale omezíme se na těchto několik.

Rozvržení

Je zodpovědný za formátování protokolovaných informací v různých stylech.

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

Public static Logger getRootLogger()
Public static Logger getLogger(String name)

Jak je konfigurován log4j?

Pro konfiguraci log4j se musíme rozhodnout, který appender implementovat. Podle toho budou nastaveny parametry appenderu.

  • Použijeme úroveň DEBUG a RollingFileAppender
  • Uděláme dvě konfigurace nebo protokoly,
  • Za prvé: root logger, který bude zapisovat všechny systémem generované logy pod názvem souboru, tzn Selenium.logy
  • Za druhé: Zapíše informace generované ručními příkazy v kódu do názvu souboru- Manual.logs
  • Rozložení bude PatternLayout
  • #Root logger

    log4j.rootLogger=DEBUG,file
    log4j.appender.file=org.apache.log4j.RollingFileAppender
    log4j.appender.file.File=D:\\Guru99\\src\\Selenium.logs
    log4j.appender.file.maxFileSize=900KB
    log4j.appender.file.maxBackupIndex=5
    log4j.appender.file.layout=org.apache.log4j.PatternLayout
    log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c<strong>{1}</strong>:%L - %m%n
    log4j.appender.file.Append=false
    

    #Aplikační protokoly

    log4j.logger.devpinoyLogger=DEBUG, dest1
    log4j.appender.dest1=org.apache.log4j.RollingFileAppender
    log4j.appender.dest1.maxFileSize=900KB
    log4j.appender.dest1.maxBackupIndex=6
    log4j.appender.dest1.layout=org.apache.log4j.PatternLayout
    log4j.appender.dest1.layout.ConversionPattern=%d{dd/MM/yyyy HH:mm:ss} %c %m%n
    log4j.appender.dest1.File=D:\\ Guru99\\src\\Manual.logs
    log4j.appender.dest1.Append=false
    

    Ve výše uvedeném příkladu jsme nakonfigurovali log4j k přihlášení do dvou různých souborů pojmenovaných jako 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 budou uloženy protokoly
    • „maxFileSize“ se používá ke konfiguraci maximální velikosti souboru protokolu. Když soubor dosáhne této velikosti, bude vytvořen nový soubor se stejným názvem a starý název souboru bude přidán jako index.
    • „maxBackupIndex“ se používá ke konfiguraci maximálního počtu souborů, které se mají zálohovat.
    • „layout“ se používá k nastavení formátu souboru protokolu.
    • „Append“ se používá k nastavení funkce připojení. Pokud je nastaveno na false, bude pokaždé, když se vytvoří nový soubor, namísto použití starého souboru pro protokolování

    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");

    Pomocí referenční proměnné „log“ a metody ladění zaprotokolujte požadované informace.

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

    Co je to nástroj LogExpert?

    1. Nástroj LogExpert je nástroj pro Windows vyvinutý tak, aby ocasní klády
    2. Je to bezplatný a otevřený prohlížeč protokolů.
    3. Je to nástroj pro analýzu protokolů s mnoha funkcemi, jako je vyhledávání, filtrování, přidávání záložek a zvýrazně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é přidat 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 úplný seznam záložek a navigovat odtud
    7. Zkratky nástroje jsou uvedeny v souboru nápovědy, aby bylo možné na nástroj odkazovat.

    Jak používat Log4j Selenium

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

    Použijte Log4j In Selenium

    Krok 2) Klikněte pravým tlačítkem na src -> Build Path -> Configure Build Path

    Použijte Log4j In Selenium

    Krok 3) 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

    Použijte Log4j In Selenium

    Krok 4) 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 jako např Selenium.logy a Manual.logs. Tyto soubory budou obsahovat všechny protokoly vytvořené systémem a ručně protokolované příkazy

    Použijte Log4j In Selenium

    Krok 5) Do log4j.properties zkopírujte celou konfiguraci.

    Použijte Log4j In Selenium

    Krok 6) 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čit

    Použijte Log4j In Selenium

    Krok 7) 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;
    
    public class LoggingDemo {
        /**
    		* @param args
        */
        public static void main(String[] args) {
             // TODO Auto-generated method stub
             WebDriver driver = new FirefoxDriver();
             Logger log = Logger.getLogger("devpinoyLogger");
             
             driver.get("https://healthunify.com/bmicalculator/");
    		 log.debug("opening webiste");
             driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
    		 log.debug("entring weight");
    		 driver.findElement(By.name("wg")).sendKeys("87");
             log.debug("selecting kilograms");
             driver.findElement(By.name("opt1")).sendKeys("kilograms");
             log.debug("selecting height in feet");
             driver.findElement(By.name("opt2")).sendKeys("5");
             log.debug("selecting height in inchs");
             driver.findElement(By.name("opt3")).sendKeys("10");
             log.debug("Clicking on calculate");
             driver.findElement(By.name("cc")).click();
    
    		 log.debug("Getting SIUnit value");
             String SIUnit = driver.findElement(By.name("si")).getAttribute("value");
             log.debug("Getting USUnit value");
             String USUnit = driver.findElement(By.name("us")).getAttribute("value");
             log.debug("Getting UKUnit value");
             String UKUnit = driver.findElement(By.name("uk")).getAttribute("value");
             log.debug("Getting overall description");
             String 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();
    	}
    }
    

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

    Pomocí Logger.getLogger(“devpinoyLogger”) vytváříme protokoly systémové úrovně

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

    Krok 8) Spusťte skript. Otevřete umístění Manual a Selenium logs pro kontrolu dat protokolování.

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

    1. Stáhněte si nástroj z https://github.com/zarunbal/LogExpert . Přejděte do složky pro stahování LogExpert

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

    2. Otevřete LogExpert.exe
    3. Klikněte na Soubor -> Otevřít a Procházet na cestu, kde je Manual.log a SeleniumSoubory .log jsou uloženy. Vyberte soubor
    4. Vyberte možnost „Follow tail“.

      Nástroj LogExpert lze použít k analýze protokolu

      Výběr možnosti sledovat záznam umožňuje sledování záznamů, což znamená, že LogExpert automaticky aktualizuje soubor záznamu, když je skript ve fázi provádění. Pokud použijeme jakýkoli jiný editor, jako je poznámkový blok, musíme soubor zavřít a znovu a znovu otevřít, abychom aktualizovali protokoly. Ale s ExpertTool v režimu Follow Tail to není nutné.

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

      Nástroj LogExpert lze použít k analýze protokolu

      Nástroj LogExpert lze použít k analýze protokolu

    Pomocí nástroje LogExpert lze ladit protokoly vytvořené webdriverem selenu, jako to kdysi dokázal tento nástroj

    • hledat jakýkoli text a regulární výraz,
    • vytvořit záložku a komentovat je a také může procházet mezi záložkami, což není možné v žádném jiném nástroji,
    • Filtrujte protokoly a vyhledejte textové rozsahy a také můžete použít jiný filtr na předchozí filtrované protokoly,
    • Zvýrazněte jiný řádek na základě některých určitých slov.

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