Les proves de cap a cap (E2E) són un tipus de prova que simula el comportament real de l'usuari per assegurar-se que totes les parts d'una aplicació funcionen correctament quan es combinen. Aquest tipus de proves són crucials per garantir que la teva aplicació Ionic funcioni com s'espera en un entorn real.
Objectius del Tema
- Entendre què són les proves de cap a cap.
- Configurar l'entorn per a les proves E2E en una aplicació Ionic.
- Escriure i executar proves E2E utilitzant Cypress.
- Analitzar els resultats de les proves i solucionar problemes comuns.
Què són les Proves de Cap a Cap?
Les proves de cap a cap verifiquen el funcionament de l'aplicació des del punt de vista de l'usuari final. Aquestes proves cobreixen tot el flux de treball de l'aplicació, des de la interfície d'usuari fins a la base de dades, assegurant-se que totes les parts interactuen correctament.
Avantatges de les Proves E2E
- Cobertura Completa: Verifiquen el funcionament de l'aplicació en conjunt.
- Detecció de Problemes d'Integració: Identifiquen problemes que poden no ser evidents en proves unitàries o de components.
- Simulació Realista: Simulen el comportament real de l'usuari, proporcionant una visió més precisa de com es comportarà l'aplicació en producció.
Configuració de l'Entorn per a Proves E2E
Per a aquest curs, utilitzarem Cypress, una eina popular per a proves E2E.
Instal·lació de Cypress
-
Instal·la Cypress com a dependència de desenvolupament:
npm install cypress --save-dev
-
Afegeix un script per executar Cypress al teu
package.json
:"scripts": { "cypress:open": "cypress open" }
-
Executa Cypress per primera vegada:
npm run cypress:open
Això obrirà la interfície de Cypress i crearà una estructura de carpetes per a les proves.
Escriure i Executar Proves E2E
Exemple de Prova E2E
Suposem que tenim una aplicació Ionic amb una pàgina de login. Escriurem una prova per verificar que un usuari pot iniciar sessió correctament.
-
Crea un fitxer de prova: Crea un fitxer anomenat
login.spec.js
dins de la carpetacypress/integration
. -
Escriu la prova:
describe('Login Page', () => { it('should log in successfully with valid credentials', () => { cy.visit('/login'); // Navega a la pàgina de login cy.get('input[name="email"]').type('[email protected]'); // Introdueix l'email cy.get('input[name="password"]').type('password123'); // Introdueix la contrasenya cy.get('button[type="submit"]').click(); // Fes clic al botó de login // Verifica que l'usuari ha iniciat sessió correctament cy.url().should('include', '/dashboard'); cy.get('.welcome-message').should('contain', 'Welcome, User!'); }); });
Executar les Proves
Per executar les proves, simplement obre Cypress amb el següent comandament:
A la interfície de Cypress, selecciona el fitxer login.spec.js
per executar la prova.
Analitzar els Resultats de les Proves
Després d'executar les proves, Cypress mostrarà els resultats a la seva interfície. Aquí podràs veure quines proves han passat i quines han fallat, juntament amb captures de pantalla i vídeos de les proves fallides.
Solucionar Problemes Comuns
- Elements No Trobats: Assegura't que els selectors utilitzats a les proves són correctes i que els elements estan presents al DOM.
- Temps d'Espera: Utilitza comandes com
cy.wait()
ocy.get().should('be.visible')
per gestionar els temps d'espera en cas que els elements triguin a carregar. - Errors de Xarxa: Verifica que el servidor backend està funcionant correctament i que les peticions HTTP no estan fallant.
Resum
En aquesta secció, hem après què són les proves de cap a cap i com configurar Cypress per escriure i executar aquestes proves en una aplicació Ionic. Les proves E2E són essencials per assegurar-se que la teva aplicació funciona correctament des del punt de vista de l'usuari final, cobrint tot el flux de treball de l'aplicació.
En el següent tema, explorarem com construir la teva aplicació per a producció, assegurant-nos que estigui optimitzada i llesta per ser desplegada a les botigues d'aplicacions.
Curs de Desenvolupament Ionic
Mòdul 1: Introducció a Ionic
- Què és Ionic?
- Configuració de l'Entorn de Desenvolupament
- Creant la Teva Primera App Ionic
- Entenent l'Estructura del Projecte
- Executant i Depurant la Teva App
Mòdul 2: Components Bàsics i Navegació
- Visió General dels Components Ionic
- Utilitzant Botons i Icones Ionic
- Creant i Utilitzant Pàgines
- Navegació i Enrutament
- Pestanyes i Menús Laterals
Mòdul 3: Estilització i Tematització
- Introducció a l'Estilització Ionic
- Utilitzant CSS i SCSS en Ionic
- Tematitzant la Teva App Ionic
- Disseny Responsiu en Ionic
- Personalitzant Components Ionic
Mòdul 4: Treballant amb Dades
- Introducció al Binding de Dades
- Utilitzant Serveis Angular
- Peticions HTTP i APIs
- Emmagatzemant Dades Localment
- Utilitzant Ionic Storage
Mòdul 5: Components i Funcionalitats Avançades
- Utilitzant Formularis Ionic
- Validació i Gestió d'Errors
- Utilitzant Plugins Ionic Native i Cordova
- Accedint a Funcionalitats del Dispositiu
- Notificacions Push
Mòdul 6: Proves i Desplegament
- Proves Unitàries en Ionic
- Proves de Cap a Cap
- Construint per a Producció
- Desplegant a les Botigues d'Aplicacions
- Integració i Lliurament Continu