En aquest tema, explorarem com gestionar els informes i el registre en el context de l'automatització de proves amb Selenium. Els informes i el registre són components essencials per a qualsevol procés de proves, ja que proporcionen visibilitat sobre l'estat de les proves i ajuden a identificar i diagnosticar problemes.
Conceptes Clau
-
Importància dels Informes i el Registre:
- Visibilitat: Proporcionen una visió clara de l'estat de les proves.
- Diagnòstic: Ajuden a identificar i resoldre problemes ràpidament.
- Històric: Mantenen un registre de les execucions de proves per a futures referències.
-
Tipus d'Informes:
- Informes de Prova: Resum de l'execució de les proves, incloent resultats, temps d'execució i errors.
- Informes de Cobertura: Mostren quines parts del codi han estat provades.
-
Eines de Registre:
- Log4j: Una biblioteca popular per al registre en aplicacions Java.
- SLF4J: Una interfície de registre simple per a Java.
Implementació d'Informes amb TestNG
TestNG és una eina de proves que ofereix funcionalitats integrades per generar informes detallats. A continuació, es mostra com configurar i utilitzar informes amb TestNG.
Configuració d'Informes amb TestNG
-
Afegir Dependències:
- Assegura't que el teu projecte inclogui les dependències necessàries per a TestNG al teu fitxer
pom.xml
si estàs utilitzant Maven.
<dependency> <groupId>org.testng</groupId> <artifactId>testng</artifactId> <version>7.4.0</version> <scope>test</scope> </dependency>
- Assegura't que el teu projecte inclogui les dependències necessàries per a TestNG al teu fitxer
-
Executar Proves amb TestNG:
- Quan executis les proves amb TestNG, es generaran automàticament informes en format HTML que es poden trobar a la carpeta
test-output
.
- Quan executis les proves amb TestNG, es generaran automàticament informes en format HTML que es poden trobar a la carpeta
Exemple de Codi
import org.testng.Assert; import org.testng.annotations.Test; public class ExampleTest { @Test public void testExample() { // Simulació d'una prova int expected = 5; int actual = 2 + 3; Assert.assertEquals(actual, expected, "El resultat esperat no coincideix amb el resultat actual."); } }
Registre amb Log4j
Log4j és una eina de registre que permet capturar i emmagatzemar informació sobre l'execució de l'aplicació.
Configuració de Log4j
-
Afegir Dependències:
- Inclou Log4j al teu projecte mitjançant Maven.
<dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency>
-
Crear un Fitxer de Configuració
log4j.properties
:log4j.rootLogger=DEBUG, console, file log4j.appender.console=org.apache.log4j.ConsoleAppender log4j.appender.console.layout=org.apache.log4j.PatternLayout log4j.appender.console.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n log4j.appender.file=org.apache.log4j.FileAppender log4j.appender.file.File=logs/application.log log4j.appender.file.layout=org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
-
Utilitzar Log4j en el Codi:
import org.apache.log4j.Logger; public class LoggingExample { private static final Logger logger = Logger.getLogger(LoggingExample.class); public static void main(String[] args) { logger.info("Iniciant l'aplicació"); logger.debug("Això és un missatge de depuració"); logger.error("Això és un missatge d'error"); } }
Exercici Pràctic
Objectiu: Configurar un projecte de Selenium amb TestNG i Log4j per generar informes i registres.
- Configura un projecte de Maven amb les dependències de Selenium, TestNG i Log4j.
- Crea un script de prova senzill que utilitzi TestNG per executar una prova bàsica.
- Implementa el registre amb Log4j per capturar informació durant l'execució de la prova.
- Executa les proves i revisa els informes generats per TestNG i els registres creats per Log4j.
Solució
- Configura el
pom.xml
amb les dependències necessàries. - Crea el fitxer
log4j.properties
per configurar el registre. - Escriu un script de prova utilitzant TestNG i Log4j.
- Executa les proves i revisa els resultats a la carpeta
test-output
i els registres al fitxerapplication.log
.
Conclusió
Els informes i el registre són components crítics en l'automatització de proves, ja que proporcionen informació valuosa sobre l'execució de les proves i ajuden a identificar problemes. Amb TestNG i Log4j, pots implementar un sistema robust d'informes i registre per millorar la qualitat i la fiabilitat de les teves proves automatitzades.
Automatització de Proves amb Selenium
Mòdul 1: Introducció a l'Automatització de Proves
- Què és l'Automatització de Proves?
- Beneficis de l'Automatització de Proves
- Visió General de Selenium
- Configuració del Teu Entorn
Mòdul 2: Començant amb Selenium
- Introducció a Selenium WebDriver
- Instal·lació de Selenium WebDriver
- Primer Script de Selenium
- Comprensió de la Interfície WebDriver
Mòdul 3: Localització d'Elements Web
- Introducció als Localitzadors
- Ús de Localitzadors ID i Nom
- XPath i Selectors CSS
- Estratègies Avançades de Localització
Mòdul 4: Interacció amb Elements Web
- Realització d'Accions sobre Elements Web
- Gestió de Desplegables i Caixes de Selecció
- Treballant amb Alertes i Pop-ups
- Gestió de Finestres del Navegador i Frames
Mòdul 5: Sincronització en Selenium
Mòdul 6: Marc de Proves i Selenium
- Introducció a TestNG
- Configuració de TestNG amb Selenium
- Creació de Casos de Prova TestNG
- Proves Basades en Dades amb TestNG
Mòdul 7: Conceptes Avançats de Selenium
- Gestió de Trucades AJAX
- Treballant amb Cookies
- Captura de Captures de Pantalla
- Execució de JavaScript amb Selenium
Mòdul 8: Selenium Grid i Proves en Paral·lel
- Introducció a Selenium Grid
- Configuració de Selenium Grid
- Execució de Proves en Paral·lel
- Proves Multinavegador
Mòdul 9: Integració Contínua i Selenium
- Introducció a la Integració Contínua
- Integració de Selenium amb Jenkins
- Automatització de l'Execució de Proves
- Informes i Registre