TestNG és un marc de proves inspirat en JUnit i NUnit, però amb noves funcionalitats que el fan més potent i fàcil d'usar. És àmpliament utilitzat per a l'automatització de proves en Java, especialment en combinació amb Selenium. En aquesta secció, explorarem els conceptes bàsics de TestNG i com pot millorar el procés de proves automatitzades.
Què és TestNG?
TestNG és un marc de proves dissenyat per simplificar un ampli ventall de necessitats de proves, des de proves unitàries (testing d'una sola classe) fins a proves d'integració (testing de sistemes complets). Les seves característiques clau inclouen:
- Anotacions: TestNG utilitza anotacions per definir mètodes de prova, configuracions i altres aspectes del cicle de vida de les proves.
- Configuració Flexible: Permet configurar fàcilment les proves, incloent-hi la definició de dependències entre proves.
- Execució Paral·lela: Suporta l'execució de proves en paral·lel, millorant l'eficiència i reduint el temps total de prova.
- Informes Detallats: Genera informes detallats sobre l'execució de les proves, incloent-hi resultats, errors i temps d'execució.
Instal·lació de TestNG
Per començar a utilitzar TestNG amb Selenium, primer cal instal·lar-lo. A continuació, es mostra com fer-ho en un projecte Java:
Pas 1: Afegir TestNG al Projecte
Si utilitzes Maven, pots afegir TestNG al teu projecte afegint la següent dependència al fitxer pom.xml
:
<dependency> <groupId>org.testng</groupId> <artifactId>testng</artifactId> <version>7.4.0</version> <scope>test</scope> </dependency>
Pas 2: Instal·lació Manual
Si no utilitzes Maven, pots descarregar el fitxer JAR de TestNG des del seu lloc web oficial i afegir-lo al classpath del teu projecte.
Anotacions de TestNG
TestNG utilitza anotacions per definir el comportament de les proves. Algunes de les anotacions més comunes són:
@Test
: Marca un mètode com a mètode de prova.@BeforeMethod
i@AfterMethod
: S'executen abans i després de cada mètode de prova.@BeforeClass
i@AfterClass
: S'executen abans i després de la primera i última execució de mètodes de prova en una classe.@BeforeSuite
i@AfterSuite
: S'executen abans i després de l'execució de totes les proves en una suite.
Exemple d'Anotacions
import org.testng.annotations.*; public class ExempleTestNG { @BeforeClass public void setup() { System.out.println("Configuració inicial abans de la classe de proves."); } @Test public void prova1() { System.out.println("Execució de la prova 1."); } @Test public void prova2() { System.out.println("Execució de la prova 2."); } @AfterClass public void teardown() { System.out.println("Neteja després de la classe de proves."); } }
Execució de Proves amb TestNG
Per executar proves amb TestNG, pots utilitzar l'eina de línia de comandes o un IDE com Eclipse o IntelliJ IDEA, que tenen suport integrat per a TestNG.
Execució des de l'IDE
- Crea una classe de prova amb anotacions TestNG.
- Fes clic dret sobre la classe i selecciona "Run As" -> "TestNG Test".
Execució des de la Línia de Comandes
- Crea un fitxer XML de TestNG per definir la suite de proves.
- Executa el fitxer XML utilitzant la comanda següent:
Conclusió
TestNG és un marc de proves potent i flexible que complementa perfectament Selenium per a l'automatització de proves. Amb les seves anotacions, configuració flexible i capacitat d'execució paral·lela, TestNG pot millorar significativament l'eficiència i l'eficàcia del procés de proves. En el següent tema, explorarem com configurar TestNG amb Selenium per començar a crear casos de prova automatitzats.
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