Automatització de Proves amb Selenium¶
Eina Clau per a Qualitat Web¶
El MAT integra Selenium com a peça fonamental per garantir el funcionament correcte de les aplicacions web mitjançant proves funcionals automatitzades.
-
Multiplataforma
Compatibilitat amb Chrome, Firefox, Edge i Safari
-
Patró Page Object
Estructura modular i reutilitzable per a manteniment fàcil
-
Integració CI/CD
Execució automàtica mitjançant Jenkins i Extent Reports
Flux de Treball al MAT¶
%%{init: {'theme':'neutral'}}%%
flowchart TD
A([Inici Pipeline]) --> B[Jenkins inicia execució]
B --> C[Configura entorn Kubernetes]
C --> D[Executa suite de proves]
D --> E{{Resultats}}
E -->|Èxit| F[Desplegament a Preproducció]
E -->|Error| G[Notificació a Slack]
F --> H([Fi Procés])
G --> H
Configuració¶
Requisits Previs
- Instal·lar WebDrivers específics
- Configurar nodes Selenium Grid
- Integrar amb repositori Git del projecte
class LoginPage:
def init(self, driver):
self.driver = driver
self.username = (By.ID, "username")
self.password = (By.ID, "password")
def login(self, user, passw):
self.driver.find_element(*self.username).send_keys(user)
self.driver.find_element(*self.password).send_keys(passw)
self.driver.find_element(By.XPATH, "//button[@type='submit']").click()
Execució de Proves¶
Millors Pràctiques
- Ús de waits explicites
- Proves independents i aïllades
- Captura d'evidències en fallades
Flux d'Execució¶
- Inicialització
Configuració de contenidors Kubernetes - Execució
Tests en paral·lel amb Grid - Validació
Assertions múltiples per cas - Report
Generació d'informes Extent
Mètriques Clau¶
| Indicador | Descripció | Objectiu |
|---|---|---|
| Temps Execució | Durada total de les proves | < 15 min |
| Taxes d'Error | Proves fallides/totals | 0% |
| :material-coverage: Cobertura | % funcionalitats provades | > 90% |