Log4j із підручником із селену: Завантажте, встановіть, використовуйте & Приклад

Зміст:

Anonim

Що таке Log4j?

Log4j - це швидкий, гнучкий та надійний журнал ведення журналів (APIS), написаний на Java, розроблений на початку 1996 року. Він поширюється під ліцензією програмного забезпечення Apache. Log4J перенесено на мови C, C ++, C #, Perl, Python, Ruby та Eiffel. Це інструмент, що використовується для малих та великих проектів Selenium Automation.

Навіщо використовувати Log4j?

  • Це відкрите джерело
  • За допомогою Log4j можна зберігати деталі потоку нашої Selenium Automation у файлі або базах даних
  • Log4j використовується як для великих, так і для невеликих проектів
  • У Log4j ми використовуємо в коді оператори журналу, а не оператори SOPL, щоб дізнатись про стан проекту під час його виконання

Log4j має три основні компоненти

  1. Лісоруби : Він відповідає за реєстрацію інформації. Щоб впровадити реєстратори в проект, потрібно виконати наступні кроки -
  • Створіть екземпляр для класу реєстратора : Клас реєстратора - це утиліта на основі Java, яка має усі загальні методи, вже реалізовані для використання log4j
  • Визначте рівень Log4j : Насамперед існує п'ять типів рівнів журналу
    1. Все - Цей рівень реєстрації реєструє все (включає всі журнали)
    2. DEBUG - надрукуйте інформацію про налагодження та допоможе на етапі розробки
    3. INFO - надрукувати інформаційне повідомлення, яке висвітлює хід роботи програми
    4. ПОПЕРЕДЖЕННЯ - друк інформації щодо несправності та несподіваної поведінки системи.
    5. ПОМИЛКА - повідомлення про помилку друку, яке може дозволити системі продовжувати роботу
    6. FATAL - надрукуйте критичну інформацію системи, яка спричиняє збій програми
    7. OFF - відсутність реєстрації
  1. Додатки : Він використовується для доставки LogEvents до місця призначення. Він вирішує, що буде з інформацією журналу. Простими словами, він використовується для запису журналів у файл. Нижче наведено декілька типів додатків
    1. ConsoleAppender реєструє стандартний вивід
    2. Додаток файлу друкує журнали до якогось файлу
    3. Прокручування додатка до файлу з максимальним розміром

    Примітка: У властивостях log4j ми можемо викликати додаток з будь-яким ім'ям. Є й інші додатки, але ми обмежимось цими кількома.

  2. Макети : Він відповідає за форматування інформації про реєстрацію в різних стилях.

Клас реєстратора забезпечує різні методи обробки журнальних дій. Він надає два статичні методи отримання об'єкта реєстратора.

Відкритий статичний реєстратор getRootLogger ()Відкритий статичний реєстратор getLogger (ім'я рядка)

Як налаштовано log4j?

Для налаштування log4j ми повинні вирішити, який додаток застосувати. Відповідно, будуть встановлені параметри додатка.

  • Ми будемо використовувати рівень DEBUG та RollingFileAppender
  • Ми зробимо дві конфігурації або журнали,
    • По-перше: кореневий реєстратор, який запише всі створені системою журнали в ім'я файлу, тобто Selenium.logs
    • Друге: Запише інформацію, яку генерують команди вручну, у коді до імені файлу - Manual.logs
  • Макет буде PatternLayout

# Кореневий реєстратор

log4j.rootLogger = НАЛАДКА, файлlog4j.appender.file = org.apache.log4j.RollingFileAppenderlog4j.appender.file.File = D: \\ Guru99 \\ src \\ Selenium.logslog4j.appender.file.maxFileSize = 900 КБlog4j.appender.file.maxBackupIndex = 5log4j.appender.file.layout = org.apache.log4j.PatternLayoutlog4j.appender.file.layout.ConversionPattern =% d {ABSOLUTE}% 5p% c  {1} :% L -% m% nlog4j.appender.file.Append = false

# Журнали застосування

log4j.logger.devpinoyLogger = НАЛАДКА, dest1log4j.appender.dest1 = org.apache.log4j.RollingFileAppenderlog4j.appender.dest1.maxFileSize = 900 КБlog4j.appender.dest1.maxBackupIndex = 6log4j.appender.dest1.layout = org.apache.log4j.PatternLayoutlog4j.appender.dest1.layout.ConversionPattern =% d {dd / MM / yyyy HH: mm: ss}% c% m% nlog4j.appender.dest1.File = D: \\ Guru99 \\ src \\ Manual.logslog4j.appender.dest1.Append = false

У наведеному вище прикладі ми налаштували log4j для входу в два різні файли, що називаються Selenium.log та Manual.log.

  • file та dest1 - два ідентифікатори.
  • "Файл" використовується для введення імені файлу, в якому будуть зберігатися журнали
  • "maxFileSize" використовується для налаштування максимального розміру файлу журналу. Коли файл досягне такого розміру, буде створено новий файл із тим самим іменем, а старе ім'я буде додано до нього як індекс.
  • "maxBackupIndex" використовується для налаштування максимальної кількості файлів для резервного копіювання.
  • "layout" використовується для встановлення формату файлу журналу.
  • "Додавати" використовується для встановлення функції додавання. Якщо для нього встановлено значення false, тоді щоразу, коли буде створюватися новий файл, а не старий файл буде використовуватися для реєстрації

Як log4j використовується в сценарії?

У коді ми використовували "log" як посилальну змінну, що посилається на метод getLogger класу Logger

Журнал реєстрації = Logger.getLogger ("devpinoyLogger");

Використовуйте "журнал", що посилається на змінну та метод налагодження, щоб реєструвати потрібну інформацію.

log.debug ("- інформація--");

Що таке інструмент LogExpert?

  1. Інструмент LogExpert - це інструмент для Windows, розроблений для обробки журналів
  2. Це безкоштовний переглядач журналів з відкритим кодом.
  3. Це інструмент аналізу журналу з багатьма функціями, такими як пошук, фільтрація, закладки та виділення журналів
  4. У цих журналах інструментів файли автоматично оновлюються при відкритті
  5. За допомогою цього інструменту ми можемо відкрити кілька файлів журналу на різних вкладках
  6. Ми також можемо коментувати закладки, і є комбінація клавіш для навігації між різними закладками. Ми також можемо побачити повний список закладок і перейти звідти
  7. Ярлики інструменту подано у файлі довідки, щоб їх можна було передати на інструмент.

Кроки використання Log4j із селеном

Крок 1) У Eclipse створіть новий проект з ім'ям log4j_demo

Крок 2) Клацніть правою кнопкою миші на src -> Шлях збірки -> Налаштуйте Шлях збірки

Крок 2) Клацніть на Бібліотеки та Додати бібліотеку Log4J. Ви можете завантажити його з https://logging.apache.org/log4j/1.2/download.html

Крок 3) Створіть новий файл. Цей файл буде містити всю конфігурацію log4j

  1. Клацніть правою кнопкою миші на src -> Створити -> Інше -> Загальне -> Файл
  2. Вкажіть ім'я файлу як "log4j.properties"
  3. Клацніть на Готово

Створіть ще два файли та дайте їм імена, такі як Selenium.logs та Manual.logs. Ці файли будуть містити всі журнали, створені системними операторами та введені вручну оператори

Крок 4) У log4j.properties скопіюйте всю конфігурацію.

Крок 5) Створіть основний клас:

  1. Клацніть правою кнопкою миші на пакет за замовчуванням -> Новий -> Клас
  2. Вкажіть назву класу та натисніть кнопку Готово

Крок 6) Скопіюйте наступний код до основного класу

імпорт org.openqa.selenium.By;імпорт org.openqa.selenium.WebDriver;імпорт org.openqa.selenium.firefox.FirefoxDriver;імпорт org.apache.log4j.Logger;публічний клас LoggingDemo {/ *** @param аргументи* /public static void main (String [] args) {// Автоматично згенерований заглушок TODOДрайвер WebDriver = новий FirefoxDriver ();Журнал реєстрації = Logger.getLogger ("devpinoyLogger");driver.get ("http://healthunify.com/bmicalculator/");log.debug ("відкриття веб-сторінки");driver.manage (). timeouts (). неявноWait (20, TimeUnit.SECONDS);log.debug ("введення ваги");driver.findElement (By.name ("wg")). sendKeys ("87");log.debug ("вибір кілограмів");driver.findElement (By.name ("opt1")). sendKeys ("кілограми");log.debug ("вибір висоти у футах");driver.findElement (By.name ("opt2")). sendKeys ("5");log.debug ("вибір висоти в дюймах");driver.findElement (By.name ("opt3")). sendKeys ("10");log.debug ("Натискання на обчислення");driver.findElement (By.name ("cc")). click ();log.debug ("Отримання значення SIUnit");Рядок SIUnit = driver.findElement (By.name ("si")). GetAttribute ("value");log.debug ("Отримання значення USUnit");Рядок USUnit = driver.findElement (By.name ("us")). GetAttribute ("value");log.debug ("Отримання значення UKUnit");Рядок UKUnit = driver.findElement (By.name ("uk")). GetAttribute ("value");log.debug ("Отримання загального опису");Примітка до рядка = 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 =" + примітка);driver.quit ();}}

У наведеному вище коді ми відвідуємо http://healthunify.com/bmicculator/і перевіряємо калькулятор ІМТ. Введена вага становить 87 кг, а зріст - 5 футів 10 дюймів. Сценарій перевіряє результати в одиницях Південної Америки, США та Великобританії.

За допомогою Logger.getLogger ("devpinoyLogger") ми створюємо журнали системного рівня

За допомогою методу log.debug ми зберігаємо дані в Manual.log

Крок 7) Запустіть сценарій. Відкрийте розташування журналів вручну та селену, щоб перевірити дані реєстрації.

Як можна використовувати інструмент LogExpert для аналізу журналів

  1. Завантажте інструмент з http://logexpert.codeplex.com/. Перейдіть до папки для завантаження LogExpert
  2. Відкрийте LogExpert.exe
  3. Клацніть на Файл -> Відкрити та перегляньте шлях, де зберігаються файли Manual.log та Selenium.log. Виберіть файл
  4. Виберіть опцію «Слідувати за хвостом»

    Вибір опції наступного хвоста дозволяє хвіст журналів, що означає, що LogExpert автоматично оновлює файл журналу, коли сценарій знаходиться у фазі виконання. Якщо ми використовуємо будь-який інший редактор, такий як блокнот, тоді нам доведеться закривати та знову відкривати файл знову і знову, щоб оновити журнали. Але з ExpertTool у режимі Follow Tail це не потрібно.

    На наступних зображеннях показано компонування журналів

Використовуючи інструмент LogExpert, можна налагодити журнали, створені веб-драйвером селену, як це можливо один раз

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

Цей інструмент також допомагає розділити дані на різні стовпці.