Zaloguj się Selenium: Jak pobrać i używać pliku właściwości Log4j

W czym jest Log4j Selenium?

Log4j to napisany szybki, elastyczny i niezawodny framework rejestrowania (APIS). Java opracowany na początku 1996 roku. Jest rozpowszechniany na licencji Apache Licencja na oprogramowanie. Log4J został przeniesiony do C, C++, C#, Perl, Python, Języki Rubinowe i Eiffla. Jest to narzędzie stosowane w małych i dużych skalach Selenium Projekty automatyki.

Dlaczego warto używać Log4j?

  • Jest to oprogramowanie typu open source
  • Dzięki Log4j możliwe jest przechowywanie szczegółów przepływu naszych Selenium Automatyzacja w pliku lub bazach danych
  • Log4j jest używany zarówno w dużych, jak i małych projektach
  • W Log4j używamy instrukcji log zamiast instrukcji SOPL w kodzie, aby poznać status projektu podczas jego wykonywania

Komponenty Log4j

Komponenty Log4j

Rejestratory

Jest odpowiedzialny za rejestrowanie informacji. Aby zaimplementować rejestratory w projekcie, należy wykonać następujące kroki

Utwórz instancję dla klasy rejestratora

Klasa rejestratora to a Java-bazowe narzędzie, które ma już zaimplementowane wszystkie ogólne metody umożliwiające korzystanie z log4j

Zdefiniuj poziom Log4j

Zasadniczo istnieje pięć rodzajów poziomów logowania

  1. Wszystko – ten poziom rejestrowania będzie rejestrował wszystko (włącza wszystkie dzienniki)
  2. DEBUGOWANIE – drukuje informacje o debugowaniu i jest pomocne na etapie programowania
  3. INFO – wydrukuj komunikat informacyjny informujący o postępie aplikacji
  4. WARN – drukuje informacje dotyczące nieprawidłowego i nieoczekiwanego zachowania systemu.
  5. BŁĄD – wydrukuj komunikat o błędzie, który może pozwolić na kontynuację działania systemu
  6. FATAL – wydrukuj krytyczne informacje o systemie, które powodują awarię aplikacji
  7. WYŁ. – Brak logowania

dołączacze

Służy do dostarczania LogEvents do ich miejsca przeznaczenia. Decyduje, co stanie się z informacjami z dziennika. Mówiąc prościej, służy do zapisywania dzienników w pliku. Poniżej przedstawiono kilka typów Appenderów

  1. ConsoleAppender loguje się na standardowe wyjście
  2. Program dołączający plik drukuje logi do jakiegoś pliku
  3. Rolling dołączający plik do pliku o maksymalnym rozmiarze

Uwaga: We właściwościach log4j możemy wywołać appender o dowolnej nazwie. Istnieją również inne dodatki, ale ograniczymy się do tych kilku.

układy

Odpowiada za formatowanie informacji rejestrowanych w różnych stylach.

Klasa Logger udostępnia różne metody obsługi działań związanych z rejestrowaniem. Zapewnia dwie statyczne metody uzyskiwania obiektu rejestratora.

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

Jak skonfigurowany jest log4j?

Aby skonfigurować log4j, musimy zdecydować, który program dołączający zaimplementować. Odpowiednio zostaną ustawione parametry modułu dołączającego.

  • Będziemy używać poziomu DEBUG i RollingFileAppender
  • Zrobimy dwie konfiguracje lub logi,
  • Po pierwsze: root logger, który będzie zapisywał wszystkie logi wygenerowane przez system w nazwie pliku, tj Selenium.logi
  • Po drugie: zapisze informacje wygenerowane przez polecenia ręczne w kodzie do nazwy pliku - Manual.logs
  • Układ będzie miał postać 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<strong>{1}</strong>:%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 skonfigurowaliśmy log4j do logowania 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 będą zapisywane logi
    • „maxFileSize” służy do konfiguracji maksymalnego rozmiaru pliku dziennika. Kiedy plik osiągnie ten rozmiar, zostanie utworzony nowy plik o tej samej nazwie, a stara nazwa pliku zostanie dodana jako indeks.
    • „maxBackupIndex” służy do skonfigurowania maksymalnej liczby plików do utworzenia kopii zapasowej.
    • „Układ” służy do ustawiania formatu pliku dziennika.
    • „Dołącz” służy do ustawiania funkcji dołączania. Jeśli jest ustawiona na false, to za każdym razem, gdy do logowania będzie tworzony nowy plik, zamiast starego, będzie on używany

    Jak log4j jest używany w skrypcie?

    W kodzie użyliśmy „log” jako zmiennej referencyjnej odnoszącej się do metody getLogger klasy Logger

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

    Użyj zmiennej referencyjnej „log” i metody debugowania, aby zarejestrować żądane informacje.

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

    Co to jest narzędzie LogExpert?

    1. Narzędzie LogExpert to narzędzie do Windows opracowane tak, aby ogonować kłody
    2. Jest to bezpłatna przeglądarka logów o otwartym kodzie źródłowym.
    3. Jest to narzędzie do analizy logów z wieloma funkcjami, takimi jak wyszukiwanie, filtrowanie, dodawanie zakładek i wyróżnianie logów
    4. W dziennikach tego narzędzia pliki są automatycznie aktualizowane po otwarciu
    5. W tym narzędziu możemy otworzyć wiele plików dziennika w różnych zakładkach
    6. Możemy także umieszczać komentarze na zakładkach, a pomiędzy różnymi zakładkami znajduje się klawisz skrótu. Możemy także zobaczyć pełną listę zakładek i nawigować po niej
    7. Skróty narzędzia podane są w pliku pomocy, dzięki czemu można je odnieść do narzędzia.

    Jak korzystać z Log4j w Selenium

    Krok 1) In Eclipse utwórz nowy projekt o nazwie log4j_demo

    Użyj Log4j In Selenium

    Krok 2) Kliknij prawym przyciskiem myszy src -> Ścieżka budowania -> Konfiguruj ścieżkę budowania

    Użyj Log4j In Selenium

    Krok 3) Kliknij Biblioteki i Dodaj bibliotekę Log4J. Można go pobrać z https://logging.apache.org/log4j/1.2/download.html

    Użyj Log4j In Selenium

    Krok 4) Utwórz nowy plik. Ten plik będzie zawierał całą konfigurację log4j

    1. Kliknij prawym przyciskiem myszy src -> Nowy -> Inne -> Ogólne -> Plik
    2. Podaj nazwę pliku jako „log4j.properties”
    3. Kliknij Zakończ

    Utwórz jeszcze dwa pliki i nadaj im nazwy, np Selenium.logs i Manual.logs. Pliki te będą zawierać wszystkie logi utworzone przez system oraz wyciągi zarejestrowane ręcznie

    Użyj Log4j In Selenium

    Krok 5) W log4j.properties skopiuj całą konfigurację.

    Użyj Log4j In Selenium

    Krok 6) Utwórz klasę główną:

    1. Kliknij prawym przyciskiem myszy pakiet domyślny -> Nowy -> Klasa
    2. Podaj nazwę klasy i kliknij Zakończ

    Użyj Log4j In Selenium

    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 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();
    	}
    }
    

    W powyższym kodzie odwiedzamy https://healthunify.com/bmicalculator/ i zweryfikuj kalkulator BMI. Wprowadzona waga to 87 kg, a wysokość to 5 stóp i 10 cali. Skrypt sprawdza dane wyjściowe w jednostkach SE, US i UK.

    Za pomocą Logger.getLogger(“devpinoyLogger”) tworzymy logi na poziomie systemu

    Używając metody log.debug przechowujemy dane w Manual.log

    Krok 8) Uruchom skrypt. Otwórz lokalizację Podręcznika i Selenium logs, aby sprawdzić dane logowania.

    Jak można wykorzystać narzędzie LogExpert do analizy logów

    1. Pobierz narzędzie z https://github.com/zarunbal/LogExpert . Przejdź do folderu pobierania LogExpert

      Narzędzie LogExpert może służyć do analizy logów

    2. Otwórz plik LogExpert.exe
    3. Kliknij Plik -> Otwórz i przejdź do ścieżki, w której znajduje się Manual.log i Seleniumprzechowywane są pliki .log. Wybierz plik
    4. Wybierz opcję „Podążaj za ogonem”.

      Narzędzie LogExpert może być używane do analizy dziennika

      Wybranie opcji śledzenia ogona umożliwia śledzenie dzienników, co oznacza, że ​​LogExpert automatycznie aktualizuje plik dziennika, gdy skrypt jest w fazie wykonywania. Jeśli korzystamy z innego edytora, np. Notatnika, musimy wielokrotnie zamykać i otwierać plik, aby zaktualizować logi. Jednak w przypadku ExpertTool w trybie Follow Tail nie jest to wymagane.

      Poniższe obrazy pokazują układ kłód

      Narzędzie LogExpert może być używane do analizy dziennika

      Narzędzie LogExpert może być używane do analizy dziennika

    Za pomocą narzędzia LogExpert można debugować logi utworzone przez selenowy sterownik webowy, ponieważ w tym narzędziu można

    • wyszukać dowolny tekst i wyrażenie regularne,
    • twórz zakładki i komentuj je, a także poruszaj się pomiędzy zakładkami, co nie jest możliwe w żadnym innym narzędziu,
    • Filtruj logi i wyszukuj zakresy tekstowe, a także możesz zastosować inny filtr do wcześniej przefiltrowanych logów,
    • Podświetl inną linię w oparciu o pewne słowa.

    To narzędzie pomaga również podzielić dane na różne kolumny.

    Podsumuj ten post następująco: