Log4j в Selenium: как скачать и использовать файл свойств Log4j

Что такое Log4j в Selenium?

Log4j — это быстрая, гибкая и надежная среда ведения журналов (APIS), написанная на Java разработан в начале 1996 года. Распространяется под апаш Лицензия на программное обеспечение. Log4J портирован на C, C++, C#, Perl, Питон, Ruby и Eiffel Языки. Это инструмент, используемый для небольших и крупных проектов Selenium Automation.

Зачем использовать Log4j?

  • Это открытый исходный код
  • С помощью Log4j можно хранить поток данныхtails нашей Selenium Automation в файле или базах данных
  • Log4j используется как для больших, так и для небольших проектов.
  • В Log4j мы используем в коде операторы журнала, а не операторы SOPL, чтобы узнать статус проекта во время его выполнения.

Компоненты Log4j

Компоненты Log4j

Лесорубы

Он отвечает за регистрацию информации. Чтобы внедрить регистраторы в проект, выполните следующие действия:wing шаги необходимо выполнить

Создайте экземпляр класса регистратора

Класс Logger — это утилита на основе Java, в которой уже реализованы все общие методы для использования log4j.

Определите уровень Log4j

В основном существует пять типов уровней журнала.

  1. Все – на этом уровне ведения журнала будет регистрироваться все (включаются все журналы).
  2. DEBUG — распечатывает информацию об отладке и полезен на этапе разработки.
  3. ИНФОРМАЦИЯ – распечатайте информационное сообщение, отражающее ход рассмотрения заявления.
  4. ПРЕДУПРЕЖДЕНИЕ – печать информации о неисправном и неожиданном поведении системы.
  5. ОШИБКА – вывести сообщение об ошибке, которое может позволить системе продолжить работу.
  6. FATAL – печать критической информации системы, которая приводит к сбою приложения.
  7. ВЫКЛ – нет регистрации

Приложения

Он используется для доставки LogEvents в пункт назначения. Он решает, что произойдет с информацией журнала. Проще говоря, он используется для записи логов в файл. Фоллоwing несколько типов Appenders

  1. ConsoleAppender регистрирует стандартный вывод
  2. Приложение к файлам печатает журналы в какой-то файл
  3. Добавление файла в файл максимального размера

Примечание: В свойствах log4j мы можем вызвать приложение с любым именем. Есть и другие приложения, но мы ограничимся этими немногими.

Планировка палуб

Он отвечает за форматирование информации журнала в различных стилях.

Класс Logger предоставляет различные методы для регистрации действий. Он предоставляет два статических метода для получения объекта Logger.

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

Как настроен log4j?

Чтобы настроить log4j, нам нужно решить, какое приложение реализовать. Соответственно, будут установлены параметры приложения.

  • Мы будем использовать уровень DEBUG и RollingFileAppender.
  • Мы сделаем две конфигурации или журнала,
  • Первый: корневой регистратор, который будет записывать все журналы, созданные системой, в имя файла, например Selenium.logs.
  • Второе: будет записывать информацию, сгенерированную ручными командами в коде, в имя файла — Manual.logs.
  • Макет будет PatternLayout.
  • #Корневой регистратор

    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
    

    #Журналы приложений

    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
    

    В приведенном выше примере мы настроили log4j для входа в два разных файла с именами Selenium.log и Manual.log.

    • file и dest1 — два идентификатора.
    • «Файл» используется для указания имени файла, в котором будут сохраняться журналы.
    • «maxFileSize» используется для настройки максимального размера файла журнала. Когда файл достигнет этого размера, будет создан новый файл с тем же именем, а старое имя файла будет добавлено к нему в качестве индекса.
    • «maxBackupIndex» используется для настройки максимального количества файлов для резервного копирования.
    • «Макет» используется для установки формата файла журнала.
    • «Добавить» используется для установки функции добавления. Если для него установлено значение false, то каждый раз, когда для регистрации будет создаваться новый файл, а не старый файл.

    Как log4j используется в скрипте?

    В коде мы использовали «log» в качестве ссылочной переменной, ссылающейся на метод getLogger класса Logger.

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

    Используйте ссылающуюся переменную «log» и метод отладки для регистрации необходимой нам информации.

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

    Что такое инструмент LogExpert?

    1. Инструмент LogExpert — это инструмент для Windows разработан для отслеживания журналов
    2. Это бесплатная программа просмотра журналов с открытым исходным кодом.
    3. Это инструмент анализа журналов с множеством функций, таких как searchiнг, фильтрация, закладки и подсветка логов
    4. В журналах этого инструмента файлы автоматически обновляются при открытии.
    5. В этом инструменте мы можем открыть несколько файлов журнала на разных вкладках.
    6. Мы также можем оставлять комментарии к закладкам, и есть сочетание клавиш для перехода между различными закладками. Мы также можем увидеть полный список закладок и перейти оттуда.
    7. Ярлыки инструмента приведены в файле справки, чтобы их можно было ссылаться на инструмент.

    Как использовать Log4j в Selenium

    Шаг 1) In Eclipse создайте новый проект с именем log4j_demo

    Используйте Log4j в Selenium

    Шаг 2) Щелкните правой кнопкой мыши src -> Путь сборки -> Настроить путь сборки.

    Используйте Log4j в Selenium

    Шаг 3) Нажмите «Библиотеки» и «Добавить библиотеку Log4J». Вы можете скачать его с https://logging.apache.org/log4j/1.2/download.html

    Используйте Log4j в Selenium

    Шаг 4) Создайте новый файл. Этот файл будет включать всю конфигурацию log4j.

    1. Щелкните правой кнопкой мыши src -> Создать -> Другое -> Общие -> Файл.
    2. Дайте имя файла как «log4j.properties».
    3. Нажмите на Готово

    Создайте еще два файла и дайте им имена, например Selenium.logs и Manual.logs. Эти файлы будут содержать все журналы, созданные системой, а также операторы, зарегистрированные вручную.

    Используйте Log4j в Selenium

    Шаг 5) В log4j.properties скопируйте всю конфигурацию.

    Используйте Log4j в Selenium

    Шаг 6) Создайте основной класс:

    1. Щелкните правой кнопкой мыши пакет по умолчанию -> Создать -> Класс.
    2. Дайте имя класса и нажмите «Готово».

    Используйте Log4j в Selenium

    Шаг 7) Скопируйте следующееwing код в основной класс

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

    В приведенном выше коде мы посещаем https://healthunify.com/bmicalculator/и проверьте калькулятор ИМТ. Введенный вес составляет 87 кг, а рост — 5 футов 10 дюймов. Скрипт проверяет выходные данные в единицах SE, США и Великобритании.

    Используя Logger.getLogger(“devpinoyLogger”) мы создаем журналы системного уровня.

    Используя метод log.debug, мы сохраняем данные в Manual.log.

    Шаг 8) Запустите сценарий. Откройте расположение журналов вручную и Selenium, чтобы проверить данные журналов.

    Как инструмент LogExpert можно использовать для анализа журналов

    1. Загрузите инструмент с https://github.com/zarunbal/LogExpert . Перейдите в папку загрузки LogExpert.

      Инструмент LogExpert можно использовать для анализа журналов

    2. Откройте LogExpert.exe.
    3. Нажмите «Файл» -> «Открыть» и выберите путь, где хранятся файлы Manual.log и Selenium.log. Выберите файл
    4. Выберите опцию «Следовать за хвостом».

      Инструмент LogExpert можно использовать для анализа журнала

      Выбор опции «Следовать за хвостом» позволяет отслеживать журналы, что означает, что LogExpert автоматически обновляет файл журнала, когда скрипт находится на этапе выполнения. Если мы используем любой другой редактор, например блокнот, нам придется закрывать и снова открывать файл снова и снова, чтобы обновить журналы. Но если ExpertTool находится в режиме Follow Tail, это не требуется.

      Фоллоwing на изображениях показано расположение журналов

      Инструмент LogExpert можно использовать для анализа журнала

      Инструмент LogExpert можно использовать для анализа журнала

    Используя инструмент LogExpert, можно отлаживать журналы, созданные веб-драйвером Selenium, как и в этом инструменте.

    • поиск любого текста и регулярного выражения,
    • создавать закладки и комментировать их, а также можно перемещаться между закладками, что невозможно ни в одном другом инструменте,
    • Фильтруйте журналы и ищите текстовые диапазоны, а также можете применить другой фильтр к предыдущим отфильтрованным журналам.
    • Выделите разные строки на основе определенных слов.

    Этот инструмент также помогает разделить данные на разные столбцы.