mirror of
https://github.com/MaximePIERRONT/but3-cours-maitenance-applicative.git
synced 2024-11-14 18:01:41 +01:00
120 lines
3.3 KiB
Markdown
120 lines
3.3 KiB
Markdown
---
|
|
marp: true
|
|
paginate: true
|
|
---
|
|
|
|
# R6.06. Maintenance applicative
|
|
## Cours 3
|
|
|
|
|
|
### Maxime Pierront - [contact@pierrontmaxi.me](mailto:contact@pierrontmaxi.me)
|
|
|
|
---
|
|
|
|
# Playwright
|
|
## Tests End-to-End or E2E
|
|
|
|
---
|
|
|
|
# Qu'est-ce que les Tests End-to-End (E2E) ?
|
|
**Définition** : Les tests E2E valident le flux intégral d'une application depuis le début jusqu'à la fin.
|
|
**Objectif** : Assurer que le flux de travail complet fonctionne comme prévu.
|
|
**Importance** : Identifier les problèmes d'intégration et les bugs dans des situations réelles.
|
|
|
|
---
|
|
|
|
# Pourquoi les Tests E2E sont-ils Cruciaux ?
|
|
* Garantissent la cohérence du comportement de l'application.
|
|
* Simulent l'expérience utilisateur réelle.
|
|
* Détectent les problèmes qui pourraient être manqués par les tests unitaires ou d'intégration.
|
|
|
|
---
|
|
|
|
# Tests E2E vs. Tests Unitaires vs. Tests d'Intégration
|
|
* Tests Unitaires:
|
|
* Focus: Fonctionnalités individuelles ou unités de code.
|
|
* But: Vérifier que chaque partie fonctionne isolément.
|
|
* Tests d'Intégration:
|
|
* Focus: Interaction entre différentes unités/modules.
|
|
* But: Vérifier que les combinaisons de parties fonctionnent ensemble.
|
|
* Tests E2E:
|
|
* Focus: Flux d'application complet.
|
|
* But: Vérifier que le système fonctionne dans son ensemble.
|
|
|
|
---
|
|
|
|
# Qu'est-ce que Playwright ?
|
|
Présentation: Un framework de test automatisé open-source pour le web.
|
|
|
|
**Avantages** : Prise en charge de plusieurs navigateurs, tests rapides, fonctionne sur tous les OS.
|
|
**Utilisation** : Idéal pour les tests E2E grâce à sa flexibilité et sa facilité d'utilisation.
|
|
|
|
---
|
|
|
|
# Playwright Comparé à D'autres Frameworks
|
|
* Comparaison avec Selenium:
|
|
* Playwright est souvent plus rapide et plus moderne.
|
|
* Supporte les dernières fonctionnalités des navigateurs web.
|
|
* Comparaison avec Cypress:
|
|
* Playwright supporte les tests multi-navigateurs.
|
|
* Plus de flexibilité dans les scénarios de test.
|
|
|
|
---
|
|
|
|
# Comment installer et configurer playwright
|
|
|
|
## Installation
|
|
* Créez un nouveau dossier pour votre projet et naviguez-y `first-steps-playwright`
|
|
* Exécutez la commande d'installation : `npm init -y`
|
|
|
|
---
|
|
|
|
# Création du fichier de test
|
|
* puis `npm init playwright@latest`.
|
|
* Choisir d'un dossier `e2e` à la racine du projet
|
|
* **Télécharger les navigateurs de playwright**
|
|
* Création d'un 2e fichier `test.e2e.spec.js` avec le contenu suivant :
|
|
```js
|
|
const { test, expect } = require('@playwright/test');
|
|
|
|
test('Test de base sur un site existant', async ({ page }) => {
|
|
await page.goto('https://example.com');
|
|
await expect(page).toHaveTitle('Example Domain');
|
|
});
|
|
```
|
|
---
|
|
|
|
# Execution des tests
|
|
|
|
* Revenez au terminal et lancez le test avec la commande : `npx playwright test`.
|
|
* *(Optionnel) Ajout d'un raccourcis dans le package.json dans scripts pour lancer les tests plus rapidement*
|
|
* Playwright va ouvrir le navigateur, exécuter le test, puis le fermer automatiquement.
|
|
|
|
---
|
|
|
|
# Exemples disponibles
|
|
## Exemple présente dans ici :
|
|
`tests-examples/demo-todo-app.spec.js`
|
|
|
|
|
|
---
|
|
|
|
# Ajout d'un test End-to-End dans le projet
|
|
|
|
---
|
|
|
|
# Recap des attendus du projet pour le module maintenance applicative
|
|
|
|
* Des tests en **TDD**
|
|
* Des tests **E2E**
|
|
|
|
J'évalurai la qualité des tests de chaque type.
|
|
|
|
---
|
|
|
|
# Maintenant Projet !!!
|
|
|
|
---
|
|
|
|
## Maxime Pierront - [contact@pierrontmaxi.me](mailto:contact@pierrontmaxi.me)
|