Влезте в системата Selenium: Как да изтеглите и използвате файла със свойства на Log4j

Какво е Log4j в Selenium?

Log4j е бърза, гъвкава и надеждна рамка за регистриране (APIS), написана на Java разработен в началото на 1996 г. Той се разпространява под Apache Лиценз за софтуер. Log4J е пренесен към C, C++, C#, Perl, Python, Ruby и Eiffel Languages. Това е инструмент, използван за малък до голям мащаб Selenium Проекти за автоматизация.

Защо да използвате Log4j?

  • Това е отворен код
  • С Log4j е възможно да се съхраняват подробности за потока на нашия Selenium Автоматизация във файл или бази данни
  • Log4j се използва както за големи, така и за малки проекти
  • В Log4j използваме log оператори, а не SOPL оператори в кода, за да знаем състоянието на проект, докато се изпълнява

Log4j компоненти

Log4j компоненти

Дървачи

Той отговаря за регистриране на информация. За да внедрите регистратори в проект, трябва да изпълните следните стъпки

Създайте екземпляр за клас logger

Класът Logger е a Java-базирана помощна програма, която вече е внедрила всички общи методи за използване на log4j

Дефинирайте нивото Log4j

Основно има пет вида нива на журнал

  1. Всички – Това ниво на регистриране ще регистрира всичко (включва всички регистрационни файлове)
  2. DEBUG – отпечатва информацията за отстраняване на грешки и е полезна в етапа на разработка
  3. INFO – отпечатване на информационно съобщение, което подчертава напредъка на приложението
  4. ПРЕДУПРЕЖДЕНИЕ – отпечатване на информация относно неправилно и неочаквано поведение на системата.
  5. ГРЕШКА – отпечатване на съобщение за грешка, което може да позволи на системата да продължи
  6. ФАТАЛНО – отпечатайте критична информация за системата, която причинява срив на приложението
  7. ИЗКЛ. – Без регистриране

Допълнители

Използва се за доставяне на LogEvents до местоназначението им. Той решава какво ще се случи с информацията в регистрационния файл. С прости думи, той се използва за запис на регистрационните файлове във файл. Следват няколко типа Appenders

  1. ConsoleAppender влиза в стандартен изход
  2. File appender отпечатва регистрационни файлове към някакъв файл
  3. Добавяне на файлове към файл с максимален размер

Забележка: В свойствата на log4j можем да извикаме appender с произволно име. Има и други добавки, но ние ще се ограничим до тези няколко.

Формати

Той отговаря за форматирането на регистрационната информация в различни стилове.

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

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

Как е конфигуриран log4j?

За да конфигурираме log4j, трябва да решим кой appender да внедрим. Съответно ще бъдат зададени параметрите на appender.

  • Ще използваме ниво DEBUG и RollingFileAppender
  • Ще направим две конфигурации или регистрационни файлове,
  • Първо: root регистратор, който ще запише всички генерирани от системата журнали в име на файл, т.е Selenium.дневници
  • Второ: Ще запише информацията, генерирана от ръчни команди в код в името на файла - Manual.logs
  • Оформлението ще бъде PatternLayout
  • #Root регистратор

    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“ се използва за конфигуриране на максимален брой файлове за архивиране.
    • “layout” се използва за задаване на формата на лог файла.
    • „Добавяне“ се използва за задаване на функция за добавяне. Ако е зададено на false, всеки път, когато се създава нов файл, вместо да се използва стар файл за регистриране

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

    В кода сме използвали „log“ като референтна променлива, препращаща към метода getLogger на Logger Class

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

    Използвайте референтна променлива „log“ и метод за отстраняване на грешки, за да регистрирате информацията, която искаме.

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

    Какво представлява инструментът LogExpert?

    1. Инструментът LogExpert е инструмент за Windows разработен за опашка на трупите
    2. Това е безплатна програма за преглед на журнали с отворен код.
    3. Това е инструмент за анализ на регистрационни файлове с множество функции като търсене, филтриране, маркиране и подчертаване на регистрационните файлове
    4. В регистрационните файлове на този инструмент файловете се актуализират автоматично при отваряне
    5. В този инструмент можем да отворим множество регистрационни файлове в различни раздели
    6. Можем също така да поставяме коментари върху отметки и има клавиш за бърз достъп за навигация между различни отметки. Можем също да видим пълен списък с отметки и да навигираме от там
    7. Преките пътища на инструмента са дадени в помощния файл, така че да могат да бъдат препратени към инструмента.

    Как да използвате Log4j in Selenium

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

    Използвайте Log4j In Selenium

    Стъпка 2) Щракнете с десния бутон върху src -> Build Path -> Configure Build Path

    Използвайте Log4j In Selenium

    Стъпка 3) Кликнете върху Библиотеки и Добавяне на библиотека Log4J. Можете да го изтеглите от https://logging.apache.org/log4j/1.2/download.html

    Използвайте Log4j In Selenium

    Стъпка 4) Създайте нов файл. Този файл ще включва цялата конфигурация на log4j

    1. Щракнете с десния бутон върху src -> New -> Other -> General -> File
    2. Дайте името на файла като „log4j.properties“
    3. Щракнете върху Finish

    Създайте още два файла и им дайте имена като Selenium.logs и Manual.logs. Тези файлове ще съдържат всички регистрационни файлове, създадени от системата и ръчно регистрирани отчети

    Използвайте Log4j In Selenium

    Стъпка 5) В log4j.properties копирайте цялата конфигурация.

    Използвайте Log4j In Selenium

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

    1. Щракнете с десния бутон върху пакета по подразбиране -> Нов -> Клас
    2. Дайте името на класа и щракнете върху край

    Използвайте Log4j In Selenium

    Стъпка 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/и проверете калкулатора на BMI. Въведеното тегло е 87 кг, а височината е 5 фута 10 инча. Скриптът проверява изхода в единици SE, US и UK.

    С помощта на 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 автоматично актуализира лог файла, когато скриптът е във фаза на изпълнение. Ако използваме друг редактор като notepad, тогава трябва да затваряме и отваряме отново файла отново и отново, за да актуализираме регистрационните файлове. Но с ExpertTool в режим Follow Tail това не е необходимо.

      Следващите изображения показват оформлението на трупите

      Инструментът LogExpert може да се използва за анализиране на регистрационен файл

      Инструментът LogExpert може да се използва за анализиране на регистрационен файл

    Използвайки инструмента LogExpert, човек може да отстранява грешки в регистрационни файлове, създадени от уебдрайвера на selenium, както в този инструмент веднъж може

    • търсене на произволен текст и регулярен израз,
    • създавайте отметки и ги коментирайте, а също така можете да навигирате между отметките, което не е възможно в никой друг инструмент,
    • Филтрирайте регистрационните файлове и търсете текстови диапазони и също така можете да приложите друг филтър към предишните филтрирани журнали,
    • Маркирайте различен ред въз основа на определени думи.

    Този инструмент също помага за разделянето на данните в различни колони.