Déployez Playwright sur une infrastructure VPS lorsque vous avez besoin d'un environnement Linux persistant pour des tests de bout en bout, des vérifications de navigateur programmées, des captures d'écran et des flux de travail de navigateur autorisés. L'image de l'application VoyraCloud Playwright fournit Node.js, Playwright, Chromium et les dépendances de navigateur Linux requises. Vous vous connectez via SSH, ajoutez votre propre projet et exécutez Chromium en mode sans tête sans exposer un service de contrôle de navigateur à Internet public.
TL;DR
- L'image VoyraCloud Playwright est un runtime orienté SSH, pas un tableau de bord de navigateur hébergé ou une API de navigateur distant public.
- Node.js, Playwright, Chromium et les dépendances de navigateur Linux sont préinstallés sur Ubuntu, vous pouvez donc commencer avec l'exemple livré puis ajouter votre propre projet.
- L'image n'ouvre pas de port public spécifique à Playwright. Les rapports et les traces restent sur le VPS à moins que vous ne les transfériez ou ne les serviez délibérément.
- Gardez le package Playwright de votre projet à la même version exacte que les binaires de navigateur livrés. Un décalage de version peut empêcher Playwright de trouver ou de lancer Chromium.
- Exécutez les tâches de navigateur en tant qu'utilisateur non root avec le bac à sable Chromium disponible. Ne stockez pas les identifiants tiers directement dans les fichiers source ou les rapports.
- La porte d'entrée des ressources de démarrage suit les plans de produits disponibles : 4 vCPU, 4 Go de RAM et 80 Go de stockage sur Cloud VPS, ou 2 vCPU, 4 Go de RAM et 60 Go de stockage sur Residential IP VPS, avec un environnement de mémoire partagée de 2 Go pour une session Chromium validée. Ce n'est pas une promesse de concurrence fixe.
- Les fichiers de projet et les artefacts sauvegardés persistent après un redémarrage normal du VPS. Les sessions de navigateur en mémoire, les contextes temporaires et l'état non sauvegardé ne persistent pas.
Que comprend l'image de l'application Playwright ?
L'image de l'application Playwright comprend le runtime de navigateur nécessaire pour commencer un travail d'automatisation autorisé, tandis que votre code de projet et vos pratiques opérationnelles restent sous votre contrôle. Elle élimine la préparation répétitive du système d'exploitation mais ne fournit pas de service d'automatisation géré.
| Livré par l'image | Géré par l'utilisateur ou non inclus |
|---|---|
| Runtime Ubuntu Linux | Votre application et code de test |
| Environnement Node.js compatible | Dépendances npm spécifiques au projet |
| Une version stable de Playwright fixe | Mises à jour automatiques de Playwright |
| Binaire de navigateur Chromium correspondant | Firefox ou WebKit à moins que vous ne les installiez et ne les validiez |
| Dépendances de navigateur Linux requises | Comptes tiers, cookies, clés API ou identifiants cibles |
| Exécution de navigateur sans tête via SSH | Point de terminaison de contrôle de navigateur public ou tableau de bord Web |
| Environnement de mémoire partagée de 2 Go validé pour la porte d'entrée | Capacité de navigateur parallèle garantie |
| Stockage VPS persistant | Sauvegarde automatique hors serveur |
| Un exemple livré et un contrôle de santé | Développement de scripts personnalisés ou débogage par VoyraCloud |
Les détails des ressources montrent la version de Playwright livrée lorsque le VPS a été créé. Cette valeur décrit l'état d'origine de l'image ; elle ne change pas automatiquement si vous mettez à jour votre propre projet par la suite. Gardez votre fichier de verrouillage de dépendance et vos notes opérationnelles comme source de vérité pour les changements gérés par l'utilisateur ultérieurs.
Démarrage rapide : Comment déployer Playwright sur VPS
Le chemin le plus rapide consiste à créer un VPS avec l'image Playwright, se connecter via SSH, vérifier le runtime livré et exécuter un test Chromium avec un seul worker. Il n'y a pas de tableau de bord de navigateur à ouvrir après la provision.
- Ouvrez la page VoyraCloud Playwright et continuez vers le flux d'achat.
- Sélectionnez un plan Cloud VPS ou Residential IP VPS éligible, puis choisissez n'importe quelle région actuellement offerte par ce produit.
- Confirmez que Playwright est sélectionné dans la section Images, créez la ressource et attendez que la provision soit terminée.
- Ouvrez les détails de la ressource et utilisez les informations de connexion SSH affichées.
- Après vous être connecté, vérifiez les versions de Node.js et Playwright livrées :
node --version
npx playwright --version
- Exécutez l'exemple livré avec l'image avant de changer les dépendances. L'exemple devrait démarrer Chromium, ouvrir une page de test, faire une assertion et écrire une capture d'écran.
- Créez ou transférez votre propre projet uniquement après que le contrôle de santé livré réussisse.
- Commencez avec un worker Chromium, inspectez l'utilisation de la mémoire et du disque, et augmentez la charge de travail uniquement après avoir mesuré le projet réel.
L'image ne nécessite pas d'URL d'accès spécifique à Playwright. SSH est le chemin de gestion, et aucun port de contrôle à distance permanent n'est activé par défaut.
Comment créer un projet Playwright sur le VPS ?
Créez un projet Node.js normal et fixez sa dépendance Playwright à la version exacte indiquée par le runtime livré. Les packages Playwright et les binaires de navigateur se déplacent ensemble, donc l'installation d'un package le plus récent non lié peut casser une image par ailleurs saine.
Commencez dans un répertoire appartenant à votre utilisateur non root :
mkdir -p ~/playwright-project
cd ~/playwright-project
npm init -y
Vérifiez à nouveau la version livrée :
npx playwright --version
Installez la même version exacte dans le projet. Remplacez <same-version> par le numéro imprimé par la commande précédente :
npm install --save-dev @playwright/test@<same-version>
Créez homepage.spec.js :
const { test, expect } = require('@playwright/test');
test('la page exemple est accessible', async ({ page }) => {
await page.goto('https://example.com/', {
waitUntil: 'domcontentloaded',
});
await expect(page).toHaveTitle(/Exemple de domaine/);
await page.screenshot({
path: 'artifacts/example-homepage.png',
fullPage: true,
});
});
Créez une petite configuration dans playwright.config.js :
const { defineConfig, devices } = require('@playwright/test');
module.exports = defineConfig({
testDir: '.',
outputDir: 'test-results',
workers: 1,
reporter: [['list'], ['html', { open: 'never' }]],
use: {
trace: 'retain-on-failure',
screenshot: 'only-on-failure',
...devices['Desktop Chrome'],
},
projects: [
{
name: 'chromium',
use: { browserName: 'chromium' },
},
],
});
Créez le répertoire de captures d'écran et exécutez le test :
mkdir -p artifacts
npx playwright test homepage.spec.js --project=chromium --workers=1
Ce exemple utilise délibérément un worker Chromium et une page d'exemple publique neutre. Remplacez l'URL uniquement par un site Web que vous possédez, exploitez ou êtes autorisé à tester. L'image ne donne pas la permission d'automatiser un service tiers.
Comment fonctionnent les rapports et les traces sur un VPS sans tête ?
Les rapports et les traces de Playwright sont des fichiers générés par votre projet, donc ils peuvent être sauvegardés sur le VPS et examinés sans ouvrir un service public permanent. Ils sont particulièrement utiles lorsqu'un test échoue uniquement dans l'environnement serveur.
La configuration d'exemple écrit :
- Résultats de terminal du reporter
list. - Un rapport HTML sous
playwright-report/. - Pièces jointes de test et sortie d'échec sous
test-results/. - Une trace pour les tests échoués car
traceest défini surretain-on-failure. - Captures d'écran sous les emplacements d'artefacts configurés.
Pour visualiser le rapport HTML en toute sécurité, démarrez son serveur temporaire sur l'interface de bouclage :
npx playwright show-report --host 127.0.0.1 --port 9323
Sur votre propre ordinateur, créez un tunnel SSH en utilisant les valeurs de connexion des détails de la ressource :
ssh -L 9323:127.0.0.1:9323 <ssh-user>@<server-ip>
Ensuite, ouvrez http://127.0.0.1:9323 sur votre ordinateur local. Arrêtez le processus de rapport lorsque vous avez terminé. Ne liez pas le visualiseur de rapport à 0.0.0.0 ou ne l'exposez pas directement à Internet ; les rapports peuvent contenir du texte de page, des URLs, des captures d'écran, des en-têtes, des messages d'erreur et d'autres preuves de test sensibles.
Pour une trace sauvegardée, utilisez le visualiseur de traces de Playwright :
npx playwright show-trace test-results/<trace-file>.zip
Si le visualiseur démarre un processus HTTP local, utilisez le même modèle de bouclage et de tunnel SSH. Vous pouvez également transférer une trace vers un poste de travail de confiance et l'inspecter avec des outils officiels. Traitez les archives de traces comme potentiellement sensibles car elles peuvent contenir des instantanés DOM, des informations réseau et des captures d'écran.
Pourquoi les versions de Playwright et de Chromium doivent-elles correspondre ?
Playwright s'attend à ce que les binaires de navigateur soient construits pour sa propre version, donc le package et la révision de Chromium livrée doivent rester alignés. La documentation officielle de Playwright recommande de fixer des versions exactes et avertit que des environnements non correspondants peuvent ne pas être en mesure de localiser les exécutables de navigateur.
| Changement | Approche sûre | Risque à éviter |
|---|---|---|
| Ajouter Playwright à un nouveau projet | Installer la version exacte livrée | Installer une version la plus récente non liée |
| Mettre à jour le package Playwright | Mettre à jour les binaires de navigateur dans la même fenêtre de maintenance | Mettre à jour uniquement les dépendances npm |
| Changer Node.js | Confirmer que la version cible de Playwright le prend en charge | Mettre à niveau Node.js sans test |
| Ajouter Firefox ou WebKit | Installer et valider le navigateur correspondant et les dépendances | Supposer que chaque navigateur est préinstallé |
| Reconstruire un fichier de verrouillage | Examiner la version de Playwright résolue | Laisser une large plage semver dériver |
| Revenir en arrière | Restaurer le verrouillage des packages, les binaires de navigateur et le projet ensemble | Revenir en arrière uniquement sur une couche |
Avant de mettre à jour, enregistrez les versions fonctionnelles :
node --version
npx playwright --version
npm ls @playwright/test
Ensuite, sauvegardez votre projet et votre fichier de verrouillage. Suivez la procédure de mise à jour officielle de Playwright, qui met à jour à la fois le package et les dépendances de navigateur. Exécutez le modèle de contrôle de santé livré et vos propres tests de validation après le changement. VoyraCloud ne met pas automatiquement à niveau les environnements Playwright existants ni ne garantit la compatibilité pour les combinaisons gérées par l'utilisateur.
Comment Playwright doit-il s'exécuter en toute sécurité ?
Playwright doit s'exécuter en tant qu'utilisateur non root dédié avec le bac à sable Chromium disponible, des identifiants minimaux et aucun écouteur public inutile. Un navigateur traite un contenu complexe provenant des pages qu'il ouvre, il ne doit donc pas recevoir plus de privilèges hôtes que ce que la charge de travail nécessite.
Utilisez ces règles d'exploitation :
- Exécutez les commandes de projet à partir d'un compte non root. N'utilisez pas
sudo npx playwright test. - Gardez le bac à sable Chromium activé au lieu de compter sur une exécution root qui le désactive.
- Stockez les secrets dans un fichier d'environnement restreint ou un gestionnaire de secrets, pas dans le code source de test, les captures d'écran, les rapports ou l'historique des shells.
- Limitez les domaines cibles aux systèmes que vous possédez ou avez la permission de tester.
- Arrêtez-vous sur les CAPTCHA, les défis de contrôle d'accès, les avertissements de compte, les portes de paiement ou les échecs d'autorisation répétés.
- Gardez l'accès SSH protégé avec une authentification forte et des mises à jour de sécurité du système d'exploitation en cours.
- Ne pas exposer le rapport HTML, le visualiseur de traces, les points de terminaison de débogage ou un serveur de navigateur personnalisé à Internet public.
- Examinez les artefacts générés avant de les partager car le contenu de la page et les données de test peuvent apparaître dans les captures d'écran et les traces.
Les directives officielles de Docker de Playwright font la même distinction de privilèges : root peut être acceptable pour un code de test de bout en bout de confiance dans un environnement contenu, tandis que des utilisateurs séparés et des contrôles de bac à sable sont recommandés lorsque le contenu du navigateur n'est pas entièrement fiable. L'image VoyraCloud utilise un runtime natif orienté SSH ; si vous placez plus tard votre projet dans un conteneur, vous devez configurer vous-même l'utilisateur, le bac à sable, le processus d'initialisation et la mémoire partagée de ce conteneur.
Que signifie l'exigence de mémoire partagée de 2 Go ?
L'exigence de mémoire partagée de 2 Go donne à Chromium de la place pour une charge de travail de démarrage validée, mais elle ne garantit pas un nombre particulier de pages ou de navigateurs parallèles. Chromium utilise la mémoire partagée pour les processus de rendu, et un espace insuffisant peut provoquer des plantages qui ressemblent à des échecs de test aléatoires.
Vérifiez le système de fichiers de mémoire partagée disponible :
df -h /dev/shm
La porte d'entrée d'acceptation de l'image VoyraCloud valide une session Chromium sans tête sur la configuration de démarrage avec un environnement de mémoire partagée de 2 Go. Votre demande réelle dépend de la complexité des pages, de la capture vidéo et de traces, des contextes de navigateur, des extensions, des téléchargements, des données de test et du nombre de workers simultanés.
Si vous créez votre propre déploiement Docker plus tard, le paramètre hôte ne garantit pas automatiquement qu'un nouveau conteneur reçoit la même allocation. Configurez le conteneur en fonction des directives officielles de Chromium pour Playwright, puis testez-le indépendamment.
Quelle capacité VPS Playwright nécessite-t-il ?
La capacité de Playwright dépend du nombre de navigateurs, de la complexité des pages, des artefacts et de la concurrence, donc le minimum est seulement une porte d'entrée validée pour une charge de travail étroite. La porte d'entrée d'achat initiale est de 4 vCPU, 4 Go de RAM et 80 Go de stockage sur Cloud VPS, ou 2 vCPU, 4 Go de RAM et 60 Go de stockage sur Residential IP VPS, après que le plan correspondant ait réussi les tests d'acceptation régionaux.
| Charge de travail | Directives de capacité |
|---|---|
| Un test de validation Chromium programmé | Cas de départ approprié pour la porte d'entrée |
| Une petite suite de bout en bout en série | Commencez avec un worker et mesurez |
| Tests lourds en captures d'écran | Surveillez la croissance du disque et l'utilisation de la mémoire |
| Conservation de vidéo et de traces | Planifiez un stockage et un nettoyage supplémentaires |
| Multiples workers parallèles | Nécessite des tests spécifiques à la charge de travail et probablement plus de ressources |
| Multiples navigateurs ou grandes pages | Nécessite des tests spécifiques à la charge de travail |
| Service d'automatisation de longue durée | Ajoutez supervision, journalisation, surveillance et capacité mesurée |
Playwright Test peut exécuter des fichiers en parallèle, mais un nombre de workers par défaut n'est pas une promesse de capacité. Commencez avec --workers=1, observez l'utilisation du CPU, de la mémoire, de la mémoire partagée, la durée des tests et l'utilisation du disque, puis augmentez progressivement. Un plan plus grand peut être requis avant d'activer des projets parallèles, des vidéos ou une conservation de traces importantes.
Qu'est-ce qui persiste après un redémarrage ?
Les fichiers écrits dans le stockage VPS persistant restent après un redémarrage normal, tandis que l'état du navigateur en direct en mémoire ne persiste pas. Sauvegardez chaque artefact ou fichier d'état qui compte avant de redémarrer le serveur.
Les fichiers persistants peuvent inclure :
- Votre projet Node.js et votre fichier de verrouillage.
- Configuration Playwright et code source de test.
- Captures d'écran, vidéos, rapports HTML et archives de traces.
- Fichiers d'état de stockage sauvegardés délibérément.
- Vos propres journaux et configuration de processus.
Ne vous attendez pas à ce qu'un redémarrage préserve :
- Un processus Chromium en cours d'exécution.
- Des pages ouvertes ou des contextes de navigateur en mémoire.
- Des cookies non sauvegardés, du stockage local ou de l'état JavaScript.
- Des fichiers temporaires que votre projet supprime ou écrit en dehors des chemins persistants.
- Un travail qui était en cours d'exécution sans supervision de processus et gestion de redémarrage.
La persistance n'est pas une sauvegarde. Si un rapport, un projet ou un fichier d'état est important pour l'entreprise, copiez-le vers une destination hors serveur avec un cryptage et une conservation appropriés. Évitez de sauvegarder l'état d'authentification à moins qu'il ne soit requis, protégé et soumis à une politique de rotation claire.
Cloud VPS ou Residential IP VPS pour Playwright ?
Cloud VPS est le choix principal pour le développement général de Playwright, l'assurance qualité et l'automatisation autorisée, tandis que Residential IP VPS est pertinent uniquement lorsque l'origine d'un réseau résidentiel stable fait partie d'une exigence de test légitime.
Utilisez Cloud VPS pour :
- Tests de bout en bout contre des applications que vous possédez.
- Vérifications de production programmées.
- Flux de travail internes de navigateur.
- Génération de captures d'écran et tests de régression.
- Automatisation où l'identité du réseau de centre de données est acceptable.
Un Residential IP VPS peut être pertinent pour une assurance qualité régionale autorisée ou une surveillance où la même identité de réseau résidentiel stable doit être maintenue à travers les exécutions. Ce n'est pas une promesse de contourner les contrôles anti-automatisation, de résoudre des CAPTCHA, de protéger des comptes ou d'atteindre chaque cible. Pour une discussion plus approfondie sur les échecs liés au réseau, lisez Pourquoi Playwright est bloqué sur VPS.
Liste de contrôle de pré-production
Un VPS Playwright est prêt pour une utilisation régulière uniquement après que le runtime, la sécurité, le comportement des ressources, les artefacts et le chemin de récupération ont été testés avec votre propre projet.
- Confirmez
node --versionetnpx playwright --version. - Exécutez le contrôle de santé Chromium livré sans modifier l'environnement.
- Fixez la même version de Playwright dans votre fichier de verrouillage de projet.
- Exécutez en tant qu'utilisateur non root et confirmez que Chromium se lance avec son bac à sable.
- Commencez avec un worker Chromium et vérifiez l'environnement de mémoire partagée de 2 Go.
- Sauvegardez une capture d'écran, un rapport HTML et une trace d'échec.
- Visualisez les rapports via un écouteur de bouclage et un tunnel SSH.
- Redémarrez le VPS et réexécutez le test de validation.
- Confirmez que les fichiers de projet requis et les artefacts ont persisté.
- Configurez des sauvegardes hors serveur pour le code et les données critiques pour l'entreprise.
- Protégez les identifiants et retirez les secrets des rapports avant de les partager.
- Documentez les cibles autorisées, les limites de taux et les conditions d'arrêt.
FAQ
L'image Playwright comprend-elle un tableau de bord Web ?
Non, l'image Playwright n'inclut pas de tableau de bord Web ou de point de terminaison de contrôle de navigateur public. Vous vous connectez via SSH et exécutez votre propre projet Node.js ou Playwright Test. Les visualiseurs de rapports temporaires doivent se lier à 127.0.0.1 et être accessibles via un tunnel SSH.
Quel navigateur est inclus ?
L'image inclut Chromium correspondant à la version stable de Playwright livrée. Firefox et WebKit ne font pas partie de la livraison par défaut déclarée. Vous pouvez installer vous-même des navigateurs supplémentaires correspondants, mais vous devez valider leurs dépendances et leur utilisation des ressources.
Puis-je mettre à jour Playwright avec npm ?
Oui, mais mettez à jour le package Playwright et ses binaires de navigateur ensemble, puis retestez l'environnement. Sauvegardez d'abord la version fonctionnelle et le fichier de verrouillage. Les ressources VoyraCloud existantes ne sont pas automatiquement mises à niveau après leur création.
Combien de workers Playwright ce VPS peut-il exécuter ?
Il n'y a pas de garantie fixe de workers ou de concurrence. La porte de départ valide une session Chromium avec 2 Go de mémoire partagée soit sur Cloud VPS à 4 vCPU, 4 Go de RAM et 80 Go de stockage, soit sur Residential IP VPS à 2 vCPU, 4 Go de RAM et 60 Go de stockage. La capacité parallèle dépend de vos pages, artefacts, code et comportement d'exécution.
Les rapports et les traces sont-ils disponibles après un redémarrage ?
Les fichiers de rapport et de trace sauvegardés persistent lorsqu'ils sont écrits dans le stockage VPS, mais les sessions actives et l'état non sauvegardé ne persistent pas. La persistance ne remplace pas non plus une sauvegarde hors serveur.
Dois-je exécuter Playwright en tant que root ?
Non, utilisez un utilisateur non root pour les tâches de navigateur normales et gardez le bac à sable Chromium disponible. L'exécution en tant que root augmente l'impact d'un compromis de navigateur ou de code de test et peut désactiver le bac à sable Chromium dans des configurations courantes.
L'image inclut-elle des proxies, des cookies ou des comptes de site Web ?
Non, l'image n'inclut aucun service proxy, cookies, clés API, comptes de site Web ou identifiants tiers. Vous êtes responsable des secrets, des autorisations, des politiques cibles et de la législation applicable.
Playwright peut-il contourner les CAPTCHA ou les contrôles anti-bot ?
Aucune capacité ou résultat de ce type n'est inclus ou promis. Un CAPTCHA, une restriction d'accès ou un échec d'autorisation répété doit arrêter le flux de travail pour révision. Utilisez des API officielles ou une autorisation écrite lorsque cela est disponible.
Conclusion
Pour déployer Playwright sur VPS de manière fiable, commencez avec le runtime préinstallé, fixez votre projet à la version Playwright livrée, exécutez un worker Chromium en bac à sable et préservez uniquement les fichiers que vous sauvegardez intentionnellement. L'image VoyraCloud raccourcit la configuration de l'environnement tout en gardant l'accès SSH, le code du projet, les identifiants, les mises à jour, la planification de capacité et les sauvegardes sous votre contrôle.
Utilisez l'image de l'application VoyraCloud Playwright pour un runtime d'automatisation de navigateur orienté SSH sans port public spécifique à Playwright activé par défaut.

