Log4j en Selenium: Cómo descargar y usar el archivo de propiedades de Log4j

¿Qué es Log4j en Selenio?

Log4j es un marco de registro (APIS) rápido, flexible y confiable escrito en Java desarrollado a principios de 1996. Se distribuye bajo el APACHE Licencia de software. Log4J ha sido portado a C, C++, C#, Perl, Python, Idiomas Ruby y Eiffel. Es una herramienta utilizada para proyectos de automatización de Selenium de pequeña a gran escala.

¿Por qué utilizar Log4j?

  • Es una fuente abierta
  • Con Log4j, es posible almacenar el flujo details de nuestra Selenium Automation en un archivo o bases de datos
  • Log4j se utiliza tanto para proyectos grandes como pequeños.
  • En Log4j, utilizamos declaraciones de registro en lugar de declaraciones SOPL en el código para conocer el estado de un proyecto mientras se ejecuta.

Componentes de Log4j

Componentes de Log4j

Madereros

Es responsable de registrar la información. Para implementar registradores en un proyecto siguewing Es necesario realizar pasos

Crear una instancia para la clase de registrador

La clase Logger es una utilidad basada en Java que ya tiene todos los métodos genéricos implementados para usar log4j.

Definir el nivel de Log4j

Principalmente existen cinco tipos de niveles de registro.

  1. Todo: este nivel de registro registrará todo (activa todos los registros)
  2. DEBUG: imprime la información de depuración y es útil en la etapa de desarrollo
  3. INFO – imprimir mensaje informativo que destaca el progreso de la solicitud
  4. ADVERTENCIA: imprime información sobre el comportamiento defectuoso e inesperado del sistema.
  5. ERROR: imprime un mensaje de error que podría permitir que el sistema continúe
  6. FATAL: imprime información crítica del sistema que está provocando que la aplicación falle
  7. APAGADO: sin registro

Anexos

Se utiliza para entregar LogEvents a su destino. Decide qué pasará con la información de registro. En palabras simples, se utiliza para escribir los registros en un archivo. seguirwing Hay algunos tipos de Appenders.

  1. ConsoleAppender registra la salida estándar
  2. El agregador de archivos imprime registros en algún archivo
  3. Anexador de archivo rodante a un archivo con tamaño máximo

Nota: En las propiedades de log4j podemos llamar al appender con cualquier nombre. También hay otros anexos, pero nos limitaremos a estos pocos.

Diseños

Es responsable de formatear la información de registro en diferentes estilos.

La clase Logger proporciona diferentes métodos para manejar las actividades de registro. Proporciona dos métodos estáticos para obtener un objeto Logger.

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

¿Cómo está configurado log4j?

Para configurar log4j tenemos que decidir qué appender implementar. En consecuencia, se establecerán los parámetros del appender.

  • Usaremos el nivel DEBUG y RollingFileAppender
  • Haremos dos configuraciones o logs,
  • Primero: registrador raíz, que escribirá todos los registros generados por el sistema en el nombre del archivo, es decir, Selenium.logs
  • Segundo: escribirá la información generada por los comandos manuales en código en el nombre del archivo: Manual.logs
  • El diseño será PatternLayout
  • #Registrador raíz

    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
    

    #Registros de aplicaciones

    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
    

    En el ejemplo anterior, hemos configurado log4j para iniciar sesión en dos archivos diferentes llamados Selenium.log y Manual.log.

    • file y dest1 son los dos identificadores.
    • "Archivo" se utiliza para dar el nombre del archivo en el que se guardarán los registros.
    • “maxFileSize” se utiliza para configurar el tamaño máximo del archivo de registro. Cuando el archivo alcance este tamaño, se creará un nuevo archivo con el mismo nombre y el nombre del archivo anterior se agregará como índice.
    • “maxBackupIndex” se utiliza para configurar la cantidad máxima de archivos a respaldar.
    • “diseño” se utiliza para establecer el formato del archivo de registro.
    • “Agregar” se utiliza para configurar la función de agregar. Si se establece en falso, cada vez que se cree un archivo nuevo en lugar del archivo antiguo se utilizará para iniciar sesión.

    ¿Cómo se usa log4j dentro del script?

    En el código, hemos utilizado "log" como variable de referencia que hace referencia al método getLogger de la clase Logger.

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

    Utilice la variable de referencia "registro" y el método de depuración para registrar la información que queremos.

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

    ¿Qué es una herramienta LogExpert?

    1. La herramienta LogExpert es una herramienta para Windows desarrollado para seguir los troncos
    2. Es un visor de registros gratuito y de código abierto.
    3. Es una herramienta de análisis de registros con múltiples funciones como searching, filtrado, marcadores y resaltado de los registros
    4. En los registros de esta herramienta, los archivos se actualizan automáticamente cuando se abren
    5. En esta herramienta, podemos abrir varios archivos de registro en diferentes pestañas.
    6. También podemos poner comentarios en los marcadores y existe la tecla de acceso directo para navegar entre diferentes marcadores. También podemos ver la lista completa de marcadores y navegar desde allí.
    7. Los accesos directos de la herramienta se proporcionan en el archivo de ayuda para que se puedan consultar la herramienta.

    Cómo utilizar Log4j en Selenio

    Paso 1) In Eclipse crear un nuevo proyecto con el nombre log4j_demo

    Utilice Log4j en selenio

    Paso 2) Haga clic derecho en src -> Ruta de compilación -> Configurar ruta de compilación

    Utilice Log4j en selenio

    Paso 3) Haga clic en Bibliotecas y Agregar biblioteca Log4J. Puedes descargarlo desde https://logging.apache.org/log4j/1.2/download.html

    Utilice Log4j en selenio

    Paso 4) Crea un nuevo archivo. Este archivo incluirá toda la configuración de log4j.

    1. Haga clic derecho en src -> Nuevo -> Otro -> General -> Archivo
    2. Indique el nombre del archivo como "log4j.properties"
    3. Haga clic en Finalizar

    Cree dos archivos más y asígneles nombres como Selenium.logs y Manual.logs. Estos archivos contendrán todos los registros creados por el sistema y las declaraciones registradas manualmente.

    Utilice Log4j en selenio

    Paso 5) En log4j.properties copie toda la configuración.

    Utilice Log4j en selenio

    Paso 6) Crear clase principal:

    1. Haga clic derecho en el paquete predeterminado -> Nuevo -> Clase
    2. Dé el nombre de la clase y haga clic en finalizar.

    Utilice Log4j en selenio

    Paso 7) copia el siguientewing codificar en la clase principal

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

    En el código anterior, visitamos https://healthunify.com/bmicalculator/y verificar la calculadora de IMC. El peso ingresado es 87 kg y la altura es 5 pies y 10 pulgadas. El script comprueba la salida en unidades de SE, EE. UU. y Reino Unido.

    Usando Logger.getLogger(“devpinoyLogger”) creamos registros a nivel del sistema

    Usando el método log.debug almacenamos datos en Manual.log

    Paso 8) Ejecute el script. Abra la ubicación de los registros manuales y de Selenium para verificar los datos de registro.

    Cómo se puede utilizar la herramienta LogExpert para analizar registros

    1. Descarga la herramienta de https://github.com/zarunbal/LogExpert . Vaya a la carpeta de descargas de LogExpert

      La herramienta LogExpert se puede utilizar para analizar registros

    2. Abra LogExpert.exe
    3. Haga clic en Archivo -> Abrir y busque la ruta donde están almacenados los archivos Manual.log y Selenium.log. Seleccione el archivo
    4. Selecciona la opción “Seguir cola”

      La herramienta LogExpert se puede utilizar para analizar registros

      Al seleccionar la opción Seguir cola, se habilita el seguimiento de los registros, lo que significa que LogExpert actualiza automáticamente el archivo de registro cuando el script está en la fase de ejecución. Si utilizamos cualquier otro editor como el Bloc de notas, tendremos que cerrar y volver a abrir el archivo una y otra vez para actualizar los registros. Pero con ExpertTool en modo Follow Tail esto no es necesario.

      Following Las imágenes muestran el diseño de los registros.

      La herramienta LogExpert se puede utilizar para analizar registros

      La herramienta LogExpert se puede utilizar para analizar registros

    Con la herramienta LogExpert, se pueden depurar los registros creados por el controlador web de selenio como en esta herramienta una vez se puede

    • buscar cualquier texto y expresión regular,
    • crear marcadores y comentarlos y también puede navegar entre marcadores, lo que no es posible en ninguna otra herramienta,
    • Filtre los registros y busque rangos de texto y también puede aplicar otro filtro a los registros filtrados anteriores.
    • Resalte una línea diferente basada en algunas palabras determinadas.

    Esta herramienta también ayuda a dividir los datos en diferentes columnas.