Jak korzystać z Log4j w Selenium?
⚡ Inteligentne podsumowanie
Zaloguj się Selenium jest szybki i elastyczny Java Framework do rejestrowania, który rejestruje szczegóły przepływu skryptów automatyzacji. Obsługuje wiele poziomów rejestrowania, appenderów i układów oraz dobrze współpracuje z LogExpert w celu analizy generowanych plików dziennika.

W czym jest Log4j Selenium?
Log4j to szybka, elastyczna i niezawodna platforma rejestrowania (API) napisana w języku Java i opracowany na początku 1996 roku. Jest dystrybuowany pod nazwą Apache Licencja oprogramowania. Log4j został przeniesiony na język C, C++, C#, Perl, Python, Ruby i Eiffel. Jest to narzędzie wykorzystywane w projektach na małą i dużą skalę. Selenium projekty automatyzacji.
Dlaczego warto używać Log4j?
Log4j oferuje szereg praktycznych korzyści dla Selenium projektowanie:
- Jest to oprogramowanie typu open source.
- Dzięki Log4j możliwe jest przechowywanie szczegółów przepływu Selenium automatyzacja w pliku lub bazie danych.
- Log4j sprawdza się zarówno w przypadku dużych, jak i małych projektów.
- W Log4j polecenia log zastępują polecenia System.out.println w kodzie, co pozwala na sprawdzenie statusu projektu w trakcie jego wykonywania.
Komponenty Log4j
Rejestratory
Rejestrator odpowiada za rejestrowanie informacji. Aby wdrożyć rejestratory w projekcie, należy wykonać następujące kroki.
Utwórz instancję klasy Logger
Klasa Logger jest JavaNarzędzie oparte na Log4j, które ma już zaimplementowane wszystkie ogólne metody umożliwiające korzystanie z Log4j.
Zdefiniuj poziom Log4j
Zasadniczo wyróżnia się siedem rodzajów poziomów rejestrowania:
- WSZYSTKIE – Ten poziom rejestrowania zapisuje wszystko (włącza wszystkie rejestry).
- DEBUG – wyświetla informacje debugowania i jest pomocny na etapie rozwoju.
- INFO – drukuje komunikaty informacyjne, które podkreślają postęp aplikacji.
- WARN – drukuje informacje dotyczące wadliwego i nieoczekiwanego zachowania systemu.
- ERROR – drukuje komunikaty o błędach, które mogą umożliwić kontynuację działania systemu.
- FATAL – drukuje krytyczne informacje systemowe powodujące awarię aplikacji.
- WYŁ. – Brak rejestrowania.
dołączacze
Appender służy do dostarczania zdarzeń LogEvent do miejsca przeznaczenia. Decyduje on o tym, co stanie się z informacjami z logu. Mówiąc prościej, zapisuje logi do pliku. Oto kilka typów appenderów:
- ConsoleAppender zapisuje dane na wyjściu standardowym.
- FileAppender drukuje logi do określonego pliku.
- RollingFileAppender zapisuje do pliku o maksymalnym rozmiarze.
Uwaga: W pliku log4j.properties appender można wywołać z dowolną nazwą. Istnieją również inne appendery, ale tutaj skupimy się na tych kilku.
układy
Układ odpowiada za formatowanie rejestrowanych informacji w różnych stylach.
Klasa Logger udostępnia różne metody obsługi aktywności rejestrowania. Udostępnia dwie statyczne metody uzyskiwania obiektu Logger.
public static Logger getRootLogger()
public static Logger getLogger(String name)
Jak konfiguruje się Log4j?
Aby skonfigurować Log4j, zdecyduj, który program dołączający chcesz zaimplementować. Parametry programu dołączającego są odpowiednio ustawiane.
- Użyj poziomu DEBUG i RollingFileAppender.
- Tworzone są dwie konfiguracje lub dzienniki:
- Po pierwsze: główny rejestrator, który zapisuje wszystkie wygenerowane przez system logi do pliku o nazwie Selenium.logi.
- Drugi: rejestrator aplikacji, który zapisuje informacje wygenerowane przez polecenia ręczne w kodzie do pliku o nazwie Manual.logs.
- Użyty układ to PatternLayout.
#Rootowy rejestrator
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{1}:%L - %m%n
log4j.appender.file.Append=false
#Dzienniki aplikacji
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
W powyższym przykładzie Log4j jest skonfigurowany do logowania się do dwóch różnych plików o nazwach Selenium.log i Manual.log.
- file i dest1 to dwa identyfikatory.
- „Plik” służy do podania nazwy pliku, w którym zapisywane są logi.
- Parametr „maxFileSize” służy do skonfigurowania maksymalnego rozmiaru pliku dziennika. Gdy plik osiągnie ten rozmiar, tworzony jest nowy plik o tej samej nazwie, a stara nazwa pliku otrzymuje sufiks indeksu.
- „maxBackupIndex” służy do skonfigurowania maksymalnej liczby plików, które mają zostać objęte kopią zapasową.
- „Układ” służy do ustawiania formatu pliku dziennika.
- Opcja „Append” służy do ustawienia funkcji append. Po ustawieniu jej na false, za każdym razem tworzony jest nowy plik, zamiast ponownego używania starego pliku do rejestrowania.
Jak Log4j jest używany w skrypcie?
W kodzie „log” jest używany jako zmienna referencyjna odwołująca się do metody getLogger klasy Logger.
Logger log = Logger.getLogger("devpinoyLogger");
Użyj zmiennej referencyjnej „log” i metody debugowania, aby zalogować potrzebne informacje.
log.debug("--information--");
Co to jest narzędzie LogExpert?
LogExpert to narzędzie o następujących cechach:
- LogExpert jest Windows narzędzie opracowane do śledzenia kłód.
- Jest to darmowa i otwartoźródłowa przeglądarka logów.
- Jest to narzędzie do analizy logów, wyposażone w wiele funkcji, takich jak wyszukiwanie, filtrowanie, dodawanie zakładek i wyróżnianie logów.
- Pliki dziennika są automatycznie aktualizowane po otwarciu w tym narzędziu.
- Można otwierać wiele plików dziennika w różnych kartach.
- Do zakładek można dodawać komentarze, a klawisz skrótu umożliwia nawigację między zakładkami. Pełna lista zakładek jest dostępna do nawigacji.
- Skróty narzędzi znajdują się w pliku pomocy, aby w razie potrzeby można było do nich odwołać się.
Jak korzystać z Log4j w Selenium
Krok 1) In Eclipse, utwórz nowy projekt o nazwie log4j_demo.
Krok 2) Kliknij prawym przyciskiem myszy na src -> Ścieżka kompilacji -> Konfiguruj ścieżkę kompilacji.
Krok 3) Kliknij „Biblioteki” i dodaj bibliotekę Log4j. Można ją pobrać ze strony https://logging.apache.org/log4j/1.2/download.html.
Krok 4) Utwórz nowy plik. Ten plik zawiera całą konfigurację Log4j.
- Kliknij prawym przyciskiem myszy na src -> Nowy -> Inne -> Ogólne -> Plik.
- Podaj nazwę pliku „log4j.properties”.
- Kliknij Zakończ.
Utwórz dwa kolejne pliki i nadaj im nazwy Selenium.logs i Manual.logs. Pliki te zawierają wszystkie logi utworzone przez system oraz ręcznie zarejestrowane polecenia.
Krok 5) W log4j.properties skopiuj całą konfigurację.
Krok 6) Utwórz klasę główną:
- Kliknij prawym przyciskiem myszy na domyślnym pakiecie -> Nowy -> Klasa.
- Nadaj klasie nazwę i kliknij Zakończ.
Krok 7) Skopiuj poniższy kod do klasy głównej.
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 website");
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
log.debug("entering 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 inches");
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();
}
}
W powyższym kodzie skrypt odwiedza https://healthunify.com/bmicalculator/ i weryfikuje kalkulator BMI. Wprowadzona waga to 87 kg, a wzrost to 5 stóp i 10 cali. Skrypt sprawdza wyniki w jednostkach SI, amerykańskich i brytyjskich.
Za pomocą Logger.getLogger(“devpinoyLogger”) skrypt tworzy logi na poziomie systemu. Za pomocą metody log.debug dane są zapisywane w pliku Manual.log.
Krok 8) Uruchom skrypt. Otwórz lokalizację Podręcznika i Selenium logi, aby sprawdzić dane logowania.
Jak można wykorzystać narzędzie LogExpert do analizy logów
- Pobierz narzędzie z https://github.com/zarunbal/LogExpertPrzejdź do folderu pobierania LogExpert.
- Otwórz LogExpert.exe.
- Kliknij Plik -> Otwórz i przejdź do ścieżki, w której znajdują się pliki Manual.log i SeleniumPliki .log są przechowywane. Wybierz plik.
- Wybierz opcję „Podążaj za ogonem”.
Wybranie opcji „Follow tail” włącza śledzenie logów, co oznacza, że LogExpert automatycznie aktualizuje plik logu podczas wykonywania skryptu. W każdym innym edytorze, takim jak Notatnik, plik musi być wielokrotnie zamykany i otwierany, aby zaktualizować logi. W LogExpert w trybie „Follow tail” nie jest to wymagane.
Poniższe obrazy pokazują układ kłód.
Korzystając z LogExpert, logi utworzone przez Selenium WebDriver można debugować. W tym narzędziu można:
- Wyszukaj dowolny tekst i wyrażenie regularne.
- Możesz tworzyć zakładki i dodawać do nich komentarze, a także poruszać się między zakładkami, co nie jest możliwe w żadnym innym narzędziu.
- Przefiltruj dzienniki, wyszukaj zakresy tekstu i zastosuj kolejny filtr do wcześniej przefiltrowanych dzienników.
- Podświetlaj różne wiersze na podstawie określonych słów.
To narzędzie pomaga również podzielić dane na różne kolumny.











