Écrire un premier test
Créer un fichier pour un groupe de tests
Vous pouvez regrouper les tests appartenant à la même ressource dans un seul fichier, sous une fonction describe. La fonction describe permet en effet de définir un groupe de tests. Par exemple, pour contenir les tests des serveurs dans Houdini:
- Sous le dossier
testscréé par Playwright, ajouter un fichierprojets.spec.ts - Ensuite, définir le groupe de tests
tests/projets.spec.ts
import { test } from '@playwright/test';
test.describe('Tests des projets', () => {
});
Écrire un test
Pour écrire un test, on utilise la fonction test. La fonction reçoit deux arguments:
- Le nom du test
- Une fonction anonyme à exécuter qui reçoit la page à tester
Par exemple,
test.describe('Tests des projets', () => {
test('la page projets est affichée', async ({ page }) => {
await page.goto('http://localhost:4200/projets');
await expect(page.locator('h1')).toContainText('Projets');
});
});
Il est important que expect provienne de Playwright:
import { test, expect } from '@playwright/test';
Anatomie du test
Un test comprend au minimum deux actions: page.goto pour spécifier quelle page charger et ensuite un assert (expect) pour effectuer une vérification.
await page.goto()charge la page de liste des projetsexpectreçoit une valeur et permets ensuite de faire une vérification.expect(success).toBeTruthy();par exemple.- Dans l'exemple plus haut
- On récupère la balise
h1à l'aide depage.locatorqui agit un peut un sélecteur CSS. - À l'aide de
toContainText, on vérifie que le texte de la balise est bienProjets
- On récupère la balise
- Dans l'exemple plus haut
Exécuter un test
Pour exécuter vos tests avec Playwright, votre projet Angular doit être démarré!
Pour exécuter les tests, il existe plusieurs façons.
Le test que nous venons de créer ne fonctionnera pas! Des ajustements seront nécessaires.
En ligne de commande:
npx playwright test
Via WebStorm directement, à partir de la flèche verte à gauche du groupe de tests ou du test directement:

Ou encore, via l'interface de tests de Playwright:
- Exécuter la commande pour rouler les tests, mais avec l'option
--uinpx playwright test --ui - Cela lancera l'interface visuelle de Playwright

- Il est ensuite possible d'exécuter un test individuellement, un groupe de tests ou tous les tests.

- Exécutez le test pour la page de projets et vous obtiendrez un rendu visuel du test! Vous pourrez d'ailleurs constater pourquoi le test ne fonctionne pas: la page de connexion est affichée plutôt que la liste des projets! En effet, l'utilisateur n'est pas authentifié.
