L'execució de proves en paral·lel és una tècnica que permet executar múltiples casos de prova simultàniament, reduint significativament el temps total necessari per completar una suite de proves. Aquesta tècnica és especialment útil en entorns de desenvolupament àgils on el temps és un factor crític. En aquest tema, aprendrem com configurar i executar proves en paral·lel utilitzant Selenium Grid.
Conceptes Clau
- Execució en Paral·lel: Executar múltiples proves al mateix temps en lloc de seqüencialment.
- Selenium Grid: Una eina que permet executar proves en múltiples màquines i navegadors simultàniament.
- Nodes i Hub: En Selenium Grid, el hub és el punt central que gestiona les proves, mentre que els nodes són les màquines on s'executen les proves.
Avantatges de l'Execució en Paral·lel
- Reducció del Temps de Prova: Executar proves en paral·lel pot reduir dràsticament el temps necessari per completar una suite de proves.
- Eficiència de Recursos: Utilitza millor els recursos disponibles, ja que les proves poden executar-se en diferents màquines i navegadors.
- Detecció Ràpida d'Errors: Els errors es poden identificar més ràpidament, ja que les proves s'executen simultàniament.
Configuració de l'Execució en Paral·lel amb Selenium Grid
Pas 1: Configurar el Hub
-
Descarregar Selenium Server: Assegura't de tenir el Selenium Server descarregat.
-
Iniciar el Hub: Executa el següent comandament per iniciar el hub:
java -jar selenium-server-standalone.jar -role hub
-
Verificar el Hub: Accedeix a
http://localhost:4444/grid/console
per verificar que el hub està funcionant correctament.
Pas 2: Configurar els Nodes
-
Iniciar un Node: Executa el següent comandament per connectar un node al hub:
java -jar selenium-server-standalone.jar -role node -hub http://localhost:4444/grid/register
-
Verificar els Nodes: Torna a
http://localhost:4444/grid/console
per veure els nodes connectats.
Pas 3: Configurar les Proves per a l'Execució en Paral·lel
-
Configuració de TestNG: Utilitza TestNG per configurar l'execució en paral·lel. Afegeix el següent al teu fitxer
testng.xml
:<suite name="Suite" parallel="tests" thread-count="2"> <test name="Test1"> <classes> <class name="com.example.TestClass1"/> </classes> </test> <test name="Test2"> <classes> <class name="com.example.TestClass2"/> </classes> </test> </suite>
-
Executar les Proves: Executa les proves utilitzant TestNG, i aquestes s'executaran en paral·lel segons la configuració.
Exercici Pràctic
Objectiu: Configurar i executar una suite de proves en paral·lel utilitzant Selenium Grid i TestNG.
Passos:
- Configura un hub i almenys dos nodes.
- Crea un fitxer
testng.xml
amb almenys dues classes de prova configurades per executar-se en paral·lel. - Executa les proves i verifica que s'executen en paral·lel.
Solució:
- Inicia el hub i els nodes com es descriu anteriorment.
- Crea el fitxer
testng.xml
amb la configuració proporcionada. - Executa les proves amb TestNG i observa els resultats.
Conclusió
L'execució de proves en paral·lel és una tècnica poderosa que pot millorar significativament l'eficiència del procés de proves. Amb Selenium Grid, és possible distribuir les proves en múltiples màquines i navegadors, permetent una cobertura més àmplia i una detecció més ràpida d'errors. Practicar aquesta tècnica amb exercicis pràctics ajudarà a consolidar els coneixements adquirits.
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