Увійти4j Selenium: Як завантажити та використовувати файл властивостей Log4j
Що таке Log4j в Selenium?
Log4j — це швидка, гнучка та надійна платформа журналювання (APIS), написана в Java розроблений на початку 1996 р. Він поширюється під Apache Ліцензія на програмне забезпечення. Log4J перенесено на C, C++, C#, Perl, Python, Ruby і Eiffel Languages. Це інструмент, який використовується для малих і великих масштабів Selenium Проекти автоматизації.
Навіщо використовувати Log4j?
- Це відкритий код
- За допомогою Log4j можна зберігати деталі потоку нашого Selenium Автоматизація в файлі або базах даних
- Log4j використовується як для великих, так і для малих проектів
- У Log4j ми використовуємо оператори журналу, а не оператори SOPL у коді, щоб знати статус проекту під час його виконання
Компоненти Log4j
Лісоруби
Він відповідає за реєстрацію інформації. Для впровадження реєстраторів у проект необхідно виконати наступні кроки
Створіть екземпляр для класу logger
Клас реєстратора є a Javaутиліта на основі, яка має всі загальні методи, які вже реалізовані для використання log4j
Визначте рівень Log4j
Існує п'ять типів рівнів журналу
- Усі – цей рівень журналювання реєструватиме все (вмикає всі журнали)
- DEBUG – друкує інформацію про налагодження та є корисним на етапі розробки
- INFO – роздрукувати інформаційне повідомлення, яке висвітлює хід виконання програми
- ПОПЕРЕДЖЕННЯ – роздрукувати інформацію про несправну та неочікувану поведінку системи.
- ПОМИЛКА – друк повідомлення про помилку, яке може дозволити системі продовжити роботу
- FATAL – друкує важливу інформацію про систему, яка спричиняє збій програми
- ВИМКНЕНО – без реєстрації
Додатки
Він використовується для доставки подій журналу до місця призначення. Він вирішує, що станеться з інформацією журналу. Простими словами, він використовується для запису журналів у файл. Нижче наведено кілька типів додатків
- ConsoleAppender веде журнал у стандартний вихід
- Додавач файлів друкує журнали в певний файл
- Додавання файлів до файлу максимального розміру
Примітка: У властивостях log4j ми можемо викликати appender з будь-яким іменем. Існують також інші додатки, але ми обмежимося цими кількома.
макети
Він відповідає за форматування інформації журналу в різних стилях.
Клас Logger надає різні методи для обробки дій журналювання. Він надає два статичні методи для отримання об’єкта реєстратора.
Public static Logger getRootLogger() Public static Logger getLogger(String name)
Як налаштовано log4j?
Щоб налаштувати log4j, ми повинні вирішити, який appender реалізувати. Відповідно, будуть встановлені параметри додавача.
- Ми будемо використовувати рівень DEBUG і RollingFileAppender
- Ми зробимо дві конфігурації або журнали,
- По-перше: кореневий реєстратор, який записуватиме всі згенеровані системою журнали в ім’я файлу, тобто Selenium.logs
- По-друге: інформація, згенерована ручними командами, буде записана в коді у файл з назвою Manual.logs
#Root logger
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 для входу в два різні файли з іменами as Selenium.log і Manual.log.
- file і dest1 є двома ідентифікаторами.
- «Файл» використовується для вказування імені файлу, у якому будуть збережені журнали
- «maxFileSize» використовується для налаштування максимального розміру файлу журналу. Коли файл досягне цього розміру, буде створено новий файл із такою ж назвою, а старе ім’я файлу буде додано до нього як індекс.
- «maxBackupIndex» використовується для налаштування максимальної кількості файлів для резервного копіювання.
- «Макет» використовується для встановлення формату файлу журналу.
- «Додати» використовується для налаштування функції додавання. Якщо встановлено значення false, щоразу, коли створюватиметься новий файл, а не старий файл використовуватиметься для журналювання
Як log4j використовується в сценарії?
У коді ми використали «log» як довідкову змінну, що посилається на метод getLogger класу Logger
Logger log = Logger.getLogger("devpinoyLogger");
Використовуйте змінну посилання «log» і метод налагодження, щоб зареєструвати потрібну нам інформацію.
log.debug("--information--");
Що таке інструмент LogExpert?
- Інструмент LogExpert — це інструмент для Windows розроблений для хвоста колод
- Це безкоштовний засіб перегляду журналів із відкритим кодом.
- Це інструмент аналізу журналів із кількома функціями, такими як пошук, фільтрація, створення закладок і виділення журналів
- У журналах цього інструменту файли автоматично оновлюються після відкриття
- У цьому інструменті ми можемо відкрити кілька файлів журналу в різних вкладках
- Ми також можемо додавати коментарі до закладок, і є клавіша швидкого доступу для переходу між різними закладками. Ми також можемо переглянути повний список закладок і переходити звідти
- Ярлики інструменту наведені у файлі довідки, щоб їх можна було посилатися на інструмент.
Як використовувати Log4j в Selenium
Крок 1) In Eclipse створити новий проект з назвою log4j_demo
Крок 2) Клацніть правою кнопкою миші на src -> Build Path -> Configure Build Path
Крок 3) Натисніть «Бібліотеки» та «Додайте бібліотеку Log4J». Ви можете завантажити його з https://logging.apache.org/log4j/1.2/download.html
Крок 4) Створіть новий файл. Цей файл міститиме всю конфігурацію log4j
- Клацніть правою кнопкою миші на src -> New -> Other -> General -> File
- Назвіть файл як «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 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, US і UK.
Використовуючи Logger.getLogger(“devpinoyLogger”), ми створюємо журнали системного рівня
Використовуючи метод log.debug, ми зберігаємо дані в Manual.log
Крок 8) Запустіть сценарій. Відкрийте розташування Manual і Selenium журнали, щоб перевірити дані журналу.
Як інструмент LogExpert можна використовувати для аналізу журналів
- Завантажте інструмент з https://github.com/zarunbal/LogExpert . Перейдіть до папки завантаження LogExpert
- Відкрийте LogExpert.exe
- Натисніть «Файл» -> «Відкрити» та перейдіть до шляху, де знаходиться Manual.log і Seleniumзберігаються файли .log. Виберіть файл
- Виберіть опцію «Слідувати за хвостом».
Вибір параметра «слідувати за хвостом» увімкне відстеження журналів, що означає, що LogExpert автоматично оновлює файл журналу, коли сценарій перебуває на етапі виконання. Якщо ми використовуємо будь-який інший редактор, як-от блокнот, тоді нам доведеться закривати та знову відкривати файл знову і знову, щоб оновити журнали. Але з ExpertTool у режимі Follow Tail цього не потрібно.
На наступних зображеннях показано розташування колод
Використовуючи інструмент LogExpert, можна налагоджувати журнали, створені веб-драйвером selenium, оскільки в цьому інструменті можна
- пошук будь-якого тексту та регулярного виразу,
- створюйте закладки та коментуйте їх, а також можете переходити між закладками, що неможливо в жодному іншому інструменті,
- Фільтруйте журнали та шукайте текстові діапазони, а також можете застосувати інший фільтр до попередніх відфільтрованих журналів,
- Виділіть інший рядок за певними словами.
Цей інструмент також допомагає розділити дані на різні стовпці.