test-proxy-recorder
VCR pour Playwright. Enregistrez les vraies réponses d’API une fois, puis rejouez-les de façon déterministe en CI. Couvre le trafic SSR Next.js, navigateur et WebSocket — sans backend, sans mocks écrits à la main.
Le proxy enregistre les vraies réponses d’API pendant une exécution de tests, puis les rejoue en CI. Les tests restent rapides et déterministes, et vous ne maintenez jamais de fixtures de mock à la main.
Record mode Replay mode
Browser/App ──> Proxy ──> Real API Browser/App ──> Proxy ──> Disk │ │ └──> saves to disk └──> serves saved responses (.mock.json) (.mock.json)Pourquoi
Section intitulée « Pourquoi »- Aucun backend en CI — enregistrez une fois contre la vraie API, rejouez à chaque exécution CI.
- Aucun mock manuel — capturez de vraies interactions au lieu d’écrire des fixtures à la main.
- Support du SSR — enregistre les requêtes côté serveur de Next.js et des frameworks similaires.
- Support côté navigateur — enregistre les appels
fetchdu navigateur, les appels d’API des extensions Chrome, l’analytics, etc. - Déterministe — les mêmes réponses à chaque fois, sans réseau instable.
- Support des WebSockets — enregistre et rejoue les connexions WebSocket.
Comparaison
Section intitulée « Comparaison »Les outils de mock sont bons pour des tâches différentes. test-proxy-recorder est celui qui enregistre le trafic réel à travers le SSR, le navigateur et les WebSockets sans mocks écrits à la main — cette combinaison est la lacune que les autres laissent ouverte.
| Fonctionnalité | test-proxy-recorder | routeFromHAR | MSW | Polly.js | playwright-network-cache | Mocky Balboa |
|---|---|---|---|---|---|---|
| Enregistre le trafic réel | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ |
| Côté serveur (SSR) | ✅ | ❌ | ✅ | ⚠️ | ❌ | ✅ |
| Côté navigateur | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| WebSocket | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ |
| Natif Playwright | ✅ | ✅ | ❌ | ❌ | ✅ | ✅ |
| Maintenu | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ |
⚠️ Polly.js intercepte le HTTP de Node, donc le mock SSR est possible dans le processus de l’app, mais pas dans le cadre d’une exécution Playwright. MSW et Mocky Balboa rejouent aussi de vraies réponses — mais vous écrivez les mocks à la main au lieu de les enregistrer.
Quand préférer autre chose
Section intitulée « Quand préférer autre chose »- Tout votre trafic est côté navigateur — le
routeFromHARintégré de Playwright est sans dépendance. Commencez par là ; ajoutez ceci quand le SSR apparaît. - Vous voulez fabriquer des réponses à la main ou forcer des cas d’erreur/limites — les handlers écrits de MSW et son grand écosystème conviennent mieux, et fonctionnent bien au-delà de Playwright.
- Cache léger côté navigateur uniquement, sans SSR —
playwright-network-cachefait exactement cela avec moins de configuration.
Polly.js est l’inspiration de cette approche (enregistrer/rejouer le HTTP, « VCR pour JS ») ; il n’est désormais quasiment plus maintenu, ce qui explique en partie pourquoi ceci existe.
Commencer ici
Section intitulée « Commencer ici »Prérequis
Section intitulée « Prérequis »- Node.js >= 20.0.0
@playwright/test>= 1.0.0 (dépendance de pair)