Как использовать Log4j в Selenium?
⚡ Умное резюме
Войти4j Selenium быстрый и гибкий Java Система логирования, которая записывает детали выполнения скриптов автоматизации. Она поддерживает несколько уровней логирования, аппендеров и форматов, а также хорошо сочетается с LogExpert для анализа сгенерированных файлов логов.

Что такое Log4j? Selenium?
Log4j — это быстрая, гибкая и надежная платформа для логирования (API), написанная на языке программирования... Java Разработан в начале 1996 года. Распространяется под брендом... Apache Лицензионное соглашение на программное обеспечение. Log4j портирован на язык C. C++, С#, Perl, PythonЯзыки программирования Ruby и Eiffel. Это инструмент, используемый для проектов различного масштаба. Selenium проекты автоматизации.
Зачем использовать Log4j?
Log4j предлагает ряд практических преимуществ для Selenium проекты:
- Это открытый исходный код.
- С помощью Log4j можно хранить подробную информацию о потоке данных. Selenium автоматизация в файле или базе данных.
- Log4j подходит как для крупных, так и для небольших проектов.
- В Log4j операторы логирования заменяют операторы System.out.println в коде, позволяя отслеживать состояние проекта во время его выполнения.
Компоненты Log4j
Лесорубы
Регистратор отвечает за запись информации. Для внедрения регистраторов в проект необходимо выполнить следующие шаги.
Создайте экземпляр класса Logger.
Класс Logger — это JavaУтилита на основе Log4j, в которой уже реализованы все универсальные методы для работы с этой библиотекой.
Определите уровень Log4j
В основном существует семь типов уровней логарифма:
- ВСЕ – Этот уровень ведения журнала записывает все данные (включает все журналы).
- DEBUG – выводит отладочную информацию и полезен на этапе разработки.
- INFO – выводит информационные сообщения, отображающие ход выполнения приложения.
- WARN – выводит информацию о неисправностях и неожиданном поведении системы.
- ERROR – выводит сообщения об ошибках, которые могут позволить системе продолжить работу.
- FATAL — выводит критически важную для системы информацию, приводящую к сбою приложения.
- ВЫКЛ. – Регистрация данных не производится.
Приложения
Аппендер используется для доставки событий LogEvents в место назначения. Он определяет, что будет происходить с информацией из логов. Проще говоря, он записывает логи в файл. Ниже приведены несколько типов аппендеров:
- ConsoleAppender выводит логи в стандартный поток вывода.
- FileAppender записывает логи в определенный файл.
- RollingFileAppender записывает данные в файл с максимальным размером.
Примечание: В файле log4j.properties аппендер можно вызвать с любым именем. Существуют и другие аппендеры, но здесь мы сосредоточимся на этих нескольких.
Планировка палуб
Макет отвечает за форматирование информации в логах в различных стилях.
Класс 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{1}:%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” используется для настройки максимального количества файлов, подлежащих резервному копированию.
- «Макет» используется для установки формата файла журнала.
- Параметр “Append” используется для настройки функции добавления данных. Если он установлен в значение false, каждый раз создается новый файл, а не используется старый файл для логирования.
Как использовать Log4j в скрипте?
В коде «log» используется как ссылочная переменная, указывающая на метод getLogger класса Logger.
Logger log = Logger.getLogger("devpinoyLogger");
Используйте переменную-ссылку «log» и метод отладки для записи необходимой информации в лог.
log.debug("--information--");
Что такое инструмент LogExpert?
LogExpert — это инструмент, обладающий следующими характеристиками:
- LogExpert — это Windows Разработан инструмент для обработки хвостовой части бревен.
- Это бесплатная программа для просмотра логов с открытым исходным кодом.
- Это инструмент для анализа логов с множеством функций, таких как поиск, фильтрация, добавление в закладки и выделение логов.
- При открытии в этом инструменте файлы журналов автоматически обновляются.
- Несколько файлов журналов можно открыть в разных вкладках.
- К закладкам можно добавлять комментарии, а сочетание клавиш позволяет перемещаться между различными закладками. Для навигации доступен полный список закладок.
- В справочном файле приведены сочетания клавиш для быстрого доступа к инструменту, чтобы к ним можно было обращаться по мере необходимости.
Как использовать Log4j в Selenium
Шаг 1) In EclipseСоздайте новый проект с именем log4j_demo.
Шаг 2) Щелкните правой кнопкой мыши на src -> Путь сборки -> Настроить путь сборки.
Шаг 3) Нажмите на «Библиотеки» и добавьте библиотеку Log4j. Ее можно скачать по ссылке: https://logging.apache.org/log4j/1.2/download.html.
Шаг 4) Создайте новый файл. В этом файле будет храниться вся конфигурация Log4j.
- Щелкните правой кнопкой мыши на src -> Создать -> Другое -> Общие -> Файл.
- Укажите имя файла как “log4j.properties”.
- Нажмите на Готово.
Создайте еще два файла и назовите их. SeleniumФайлы .logs и Manual.logs содержат все журналы, созданные системой, а также записи, сделанные вручную.
Шаг 5) Скопируйте всю конфигурацию в файл log4j.properties.
Шаг 6) Создайте основной класс:
- Щелкните правой кнопкой мыши по пакету по умолчанию -> Создать -> Класс.
- Присвойте классу имя и нажмите «Готово».
Шаг 7) Скопируйте следующий код в основной класс.
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();
}
}
В приведенном выше коде скрипт посещает https://healthunify.com/bmicalculator/ и проверяет калькулятор ИМТ. Введенный вес составляет 87 кг, а рост — 5 футов 10 дюймов. Скрипт проверяет вывод в единицах СИ, США и Великобритании.
С помощью метода Logger.getLogger(“devpinoyLogger”) скрипт создает системные журналы. Метод log.debug сохраняет данные в файл Manual.log.
Шаг 8) Запустите сценарий. Откройте папку с Руководством и Selenium Проверьте журналы, чтобы просмотреть данные.
Как инструмент LogExpert можно использовать для анализа журналов
- Загрузите инструмент с https://github.com/zarunbal/LogExpertПерейдите в папку загрузок LogExpert.
- Откройте LogExpert.exe.
- Нажмите «Файл» -> «Открыть» и перейдите по пути, где находятся файлы Manual.log и SeleniumФайлы с расширением .log сохраняются. Выберите файл.
- Выберите опцию «Следовать за хвостом».
Выбор опции «Следить за потоком» включает в себя отслеживание логов, что означает, что LogExpert автоматически обновляет файл логов во время выполнения скрипта. В любом другом редакторе, например, в Блокноте, файл необходимо многократно закрывать и открывать заново для обновления логов. В режиме «Следовать за потоком» LogExpert этого не требуется.
На следующих изображениях показано расположение бревен.
С помощью LogExpert можно просмотреть журналы, созданные... Selenium WebDriver можно отлаживать. С помощью этого инструмента можно:
- Найдите любой текст и используйте регулярное выражение.
- Создавайте закладки и оставляйте к ним комментарии, а также перемещайтесь между закладками, что невозможно ни в одном другом инструменте.
- Отфильтруйте журналы, выполните поиск по диапазонам текста и примените еще один фильтр к ранее отфильтрованным журналам.
- Выделяйте разные строки в зависимости от определенных слов.
Этот инструмент также помогает разделить данные на разные столбцы.











