Cómo usar Log4j en Selenium?
⚡ Resumen inteligente
Iniciar sesión en 4j Selenium es rápido, flexible Java Marco de registro que graba los detalles del flujo de los scripts de automatización. Admite múltiples niveles de registro, appenders y formatos, y se integra perfectamente con LogExpert para el análisis de los archivos de registro generados.

¿Qué es Log4j? Selenium?
Log4j es un marco de registro (API) rápido, flexible y confiable escrito en Java y se desarrolló a principios de 1996. Se distribuye bajo el APACHE Licencia de software. Log4j ha sido portado a C, C++, C#, Perl, PythonLenguajes como Ruby y Eiffel. Es una herramienta utilizada para proyectos de pequeña a gran escala. Selenium proyectos de automatización.
¿Por qué utilizar Log4j?
Log4j ofrece varias ventajas prácticas para Selenium proyectos:
- Es de código abierto.
- Con Log4j, es posible almacenar los detalles del flujo de Selenium automatización en un archivo o base de datos.
- Log4j funciona tanto para proyectos grandes como pequeños.
- En Log4j, las instrucciones de registro reemplazan las instrucciones System.out.println en el código para conocer el estado de un proyecto mientras se está ejecutando.
Componentes de Log4j
Madereros
El registrador es responsable de registrar la información. Para implementar registradores en un proyecto, se deben realizar los siguientes pasos.
Crea una instancia para la clase Logger.
La clase Logger es una JavaUtilidad basada en que tiene todos los métodos genéricos ya implementados para usar Log4j.
Definir el nivel de Log4j
Principalmente existen siete tipos de niveles de registro:
- TODO: este nivel de registro registra todo (activa todos los registros).
- DEBUG: imprime información de depuración y resulta útil en la fase de desarrollo.
- INFO: imprime mensajes informativos que destacan el progreso de la aplicación.
- ADVERTENCIA: muestra información sobre el comportamiento defectuoso e inesperado del sistema.
- ERROR: imprime mensajes de error que podrían permitir que el sistema continúe.
- FATAL: imprime información crítica del sistema que provoca que la aplicación falle.
- APAGADO – No se permite iniciar sesión.
Anexos
Un Appender se utiliza para enviar los LogEvents a su destino. Decide qué sucederá con la información de registro. En pocas palabras, escribe los registros en un archivo. A continuación, se muestran algunos tipos de Appenders:
- ConsoleAppender registra la información en la salida estándar.
- FileAppender imprime los registros en un archivo específico.
- RollingFileAppender escribe en un archivo con un tamaño máximo.
Nota: En log4j.properties, se puede nombrar un appender con cualquier nombre. Existen otros appenders, pero aquí nos centraremos en estos pocos.
Diseños
El componente Layout se encarga de formatear la información de registro en diferentes estilos.
La clase Logger proporciona diferentes métodos para gestionar 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, decida qué appender implementar. Los parámetros del appender se configuran en consecuencia.
- Utilice el nivel DEBUG y RollingFileAppender.
- Se crean dos configuraciones o registros:
- Primero: un registrador raíz, que escribe todos los registros generados por el sistema en un archivo llamado Selenium.registros.
- Segundo: un registrador de aplicaciones, que escribe la información generada por los comandos manuales en el código en el archivo llamado Manual.logs.
- El diseño utilizado es 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{1}:%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, Log4j está configurado para registrar en dos archivos diferentes llamados Selenium.log y Manual.log.
- file y dest1 son los dos identificadores.
- "Archivo" se utiliza para indicar el nombre del archivo en el que se guardan los registros.
- El parámetro "maxFileSize" se utiliza para configurar el tamaño máximo del archivo de registro. Cuando el archivo alcanza este tamaño, se crea un nuevo archivo con el mismo nombre y al archivo anterior se le añade un sufijo de índice.
- “maxBackupIndex” se utiliza para configurar el número máximo de archivos que se van a respaldar.
- “diseño” se utiliza para establecer el formato del archivo de registro.
- La opción "Append" se utiliza para configurar la función de añadir datos. Cuando se establece en falso, se crea un archivo nuevo cada vez en lugar de reutilizar el archivo anterior para el registro.
¿Cómo se utiliza Log4j dentro de un script?
En el código, "log" se utiliza como una variable de referencia que alude al método getLogger de la clase Logger.
Logger log = Logger.getLogger("devpinoyLogger");
Utilice la variable de referencia "log" y el método debug para registrar la información necesaria.
log.debug("--information--");
¿Qué es una herramienta LogExpert?
LogExpert es una herramienta con las siguientes características:
- LogExpert es un Windows Herramienta desarrollada para analizar registros de actividad.
- Es un visor de registros gratuito y de código abierto.
- Se trata de una herramienta de análisis de registros con múltiples funciones, como búsqueda, filtrado, marcadores y resaltado de registros.
- Los archivos de registro se actualizan automáticamente al abrirlos con esta herramienta.
- Se pueden abrir varios archivos de registro en diferentes pestañas.
- Se pueden añadir comentarios a los marcadores y una tecla de acceso directo permite navegar entre ellos. La lista completa de marcadores está disponible para su consulta.
- En el archivo de ayuda se incluyen accesos directos a la herramienta para que se puedan consultar cuando sea necesario.
Cómo utilizar Log4j en Selenium
Paso 1) In Eclipse, crea un nuevo proyecto con el nombre log4j_demo.
Paso 2) Haz clic derecho en src -> Ruta de compilación -> Configurar ruta de compilación.
Paso 3) Haz clic en Bibliotecas y agrega la biblioteca Log4j. Puedes descargarla desde https://logging.apache.org/log4j/1.2/download.html.
Paso 4) Crea un nuevo archivo. Este archivo contiene toda la configuración de Log4j.
- Haz clic derecho en src -> Nuevo -> Otro -> General -> Archivo.
- Indique el nombre del archivo como “log4j.properties”.
- Haga clic en Finalizar.
Crea dos archivos más y nómbralos Selenium.logs y Manual.logs. Estos archivos contienen todos los registros creados por el sistema y las instrucciones registradas manualmente.
Paso 5) En log4j.properties, copie toda la configuración.
Paso 6) Crea la clase principal:
- Haga clic con el botón derecho en el paquete predeterminado -> Nuevo -> Clase.
- Dale un nombre a la clase y haz clic en Finalizar.
Paso 7) Copia el siguiente código 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 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();
}
}
En el código anterior, el script visita https://healthunify.com/bmicalculator/ y verifica la calculadora de IMC. El peso introducido es de 87 kg y la altura es de 1,78 m (5 pies 10 pulgadas). El script comprueba que el resultado esté en unidades del SI, del sistema estadounidense y del sistema británico.
Mediante Logger.getLogger(“devpinoyLogger”), el script crea registros a nivel del sistema. Utilizando el método log.debug, los datos se almacenan en Manual.log.
Paso 8) Ejecute el script. Abra la ubicación de Manual y Selenium registros para comprobar los datos de registro.
Cómo se puede utilizar la herramienta LogExpert para analizar registros
- Descarga la herramienta de https://github.com/zarunbal/LogExpertDirígete a la carpeta de descargas de LogExpert.
- Abra LogExpert.exe.
- Haga clic en Archivo -> Abrir y navegue hasta la ruta donde se encuentra Manual.log y SeleniumLos archivos .log se almacenan. Seleccione el archivo.
- Seleccione la opción “Seguir la cola”.
Al seleccionar «Seguir al final del archivo», se habilita el seguimiento de los registros, lo que significa que LogExpert actualiza automáticamente el archivo de registro mientras se ejecuta el script. Con cualquier otro editor, como el Bloc de notas, es necesario cerrar y volver a abrir el archivo repetidamente para actualizar los registros. Con LogExpert en modo «Seguir al final del archivo», esto no es necesario.
Las siguientes imágenes muestran la disposición de los registros.
Utilizando LogExpert, los registros creados por el Selenium WebDriver se puede depurar. En esta herramienta, se puede:
- Buscar cualquier texto y expresión regular.
- Crea marcadores y comenta sobre ellos, y también navega entre marcadores, algo que no es posible en ninguna otra herramienta.
- Filtra los registros, busca rangos de texto y aplica otro filtro a los registros previamente filtrados.
- Resalta diferentes líneas según ciertas palabras.
Esta herramienta también ayuda a dividir los datos en diferentes columnas.











