Despliega Playwright en infraestructura VPS cuando necesites un entorno Linux persistente para pruebas de extremo a extremo, verificaciones de navegador programadas, capturas de pantalla y flujos de trabajo de navegador autorizados. La imagen de la aplicación Playwright de VoyraCloud proporciona Node.js, Playwright, Chromium y las dependencias de navegador Linux requeridas. Te conectas a través de SSH, agregas tu propio proyecto y ejecutas Chromium sin cabeza sin exponer un servicio de control de navegador a Internet público.
TL;DR
- La imagen de VoyraCloud Playwright es un entorno de ejecución centrado en SSH, no un panel de control de navegador alojado o una API de navegador remoto pública.
- Node.js, Playwright, Chromium y las dependencias de navegador Linux están preinstaladas en Ubuntu, por lo que puedes comenzar con el ejemplo entregado y luego agregar tu propio proyecto.
- La imagen no abre un puerto público específico de Playwright. Los informes y trazas permanecen en el VPS a menos que los transfieras o sirvas deliberadamente.
- Mantén el paquete de Playwright de tu proyecto en la misma versión exacta que los binarios de navegador entregados. Un desajuste de versión puede impedir que Playwright encuentre o inicie Chromium.
- Ejecuta trabajos de navegador como un usuario no root con el sandbox de Chromium disponible. No almacenes credenciales de terceros directamente en archivos fuente o informes.
- La puerta de entrada de recursos inicial sigue los planes de producto disponibles: 4 vCPU, 4 GB de RAM y 80 GB de almacenamiento en Cloud VPS, o 2 vCPU, 4 GB de RAM y 60 GB de almacenamiento en Residential IP VPS, con un entorno de memoria compartida de 2 GB para una sesión validada de Chromium. No es una promesa de concurrencia fija.
- Los archivos del proyecto y los artefactos guardados persisten a través de un reinicio normal del VPS. Las sesiones de navegador en memoria, los contextos temporales y el estado no guardado no.
¿Qué incluye la imagen de la aplicación Playwright?
La imagen de la aplicación Playwright incluye el entorno de ejecución del navegador necesario para comenzar el trabajo de automatización autorizado, mientras que el código de tu proyecto y las prácticas operativas permanecen bajo tu control. Elimina la preparación repetitiva del sistema operativo, pero no proporciona un servicio de automatización gestionado.
| Entregado por la imagen | Gestionado por el usuario o no incluido |
|---|---|
| Entorno de ejecución de Ubuntu Linux | Tu aplicación y código de prueba |
| Entorno de Node.js compatible | Dependencias npm específicas del proyecto |
| Una versión estable fija de Playwright | Actualizaciones automáticas de Playwright |
| Binario de navegador Chromium coincidente | Firefox o WebKit a menos que los instales y valides |
| Dependencias de navegador Linux requeridas | Cuentas de terceros, cookies, claves API o credenciales de destino |
| Ejecución de navegador sin cabeza a través de SSH | Punto final de control de navegador público o panel web |
| Entorno de memoria compartida de 2 GB validado para la puerta de entrada inicial | Capacidad garantizada de navegador paralelo |
| Almacenamiento VPS persistente | Copia de seguridad automática fuera del servidor |
| Un ejemplo entregado y verificación de salud | Desarrollo de scripts personalizados o depuración por VoyraCloud |
Los detalles de recursos muestran la versión de Playwright entregada cuando se creó el VPS. Ese valor describe el estado original de la imagen; no cambia automáticamente si luego actualizas tu propio proyecto. Mantén tu archivo de bloqueo de dependencias y notas operativas como la fuente de verdad para cambios posteriores gestionados por el usuario.
Inicio Rápido: Cómo Desplegar Playwright en VPS
El camino más rápido es crear un VPS con la imagen de Playwright, conectarte a través de SSH, verificar el entorno de ejecución entregado y ejecutar una prueba de Chromium con un solo trabajador. No hay un panel de control de navegador para abrir después de la provisión.
- Abre la página de VoyraCloud Playwright y continúa con el flujo de compra.
- Selecciona un plan de Cloud VPS o Residential IP VPS elegible, luego elige cualquier región actualmente ofrecida por ese producto.
- Confirma que Playwright está seleccionado en la sección de Imágenes, crea el recurso y espera hasta que la provisión se complete.
- Abre los detalles del recurso y utiliza la información de conexión SSH mostrada.
- Después de iniciar sesión, verifica las versiones de Node.js y Playwright entregadas:
node --version
npx playwright --version
- Ejecuta el ejemplo entregado con la imagen antes de cambiar las dependencias. El ejemplo debería iniciar Chromium, abrir una página de prueba, hacer una afirmación y escribir una captura de pantalla.
- Crea o transfiere tu propio proyecto solo después de que la verificación de salud entregada tenga éxito.
- Comienza con un trabajador de Chromium, inspecciona el uso de memoria y disco, y aumenta la carga de trabajo solo después de medir el proyecto real.
La imagen no requiere una URL de acceso específica de Playwright. SSH es el camino de gestión, y no se habilita un puerto de control remoto permanente por defecto.
¿Cómo Creas un Proyecto Playwright en el VPS?
Crea un proyecto normal de Node.js y fija su dependencia de Playwright a la versión exacta mostrada por el entorno de ejecución entregado. Los paquetes de Playwright y los binarios de navegador se mueven juntos, por lo que instalar un paquete más reciente no relacionado puede romper una imagen que de otro modo estaría sana.
Comienza en un directorio propiedad de tu usuario no root:
mkdir -p ~/playwright-project
cd ~/playwright-project
npm init -y
Verifica la versión entregada nuevamente:
npx playwright --version
Instala la misma versión exacta en el proyecto. Reemplaza <same-version> con el número impreso por el comando anterior:
npm install --save-dev @playwright/test@<same-version>
Crea homepage.spec.js:
const { test, expect } = require('@playwright/test');
test('la página de ejemplo es accesible', async ({ page }) => {
await page.goto('https://example.com/', {
waitUntil: 'domcontentloaded',
});
await expect(page).toHaveTitle(/Example Domain/);
await page.screenshot({
path: 'artifacts/example-homepage.png',
fullPage: true,
});
});
Crea una pequeña configuración en 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' },
},
],
});
Crea el directorio de capturas de pantalla y ejecuta la prueba:
mkdir -p artifacts
npx playwright test homepage.spec.js --project=chromium --workers=1
Este ejemplo utiliza deliberadamente un trabajador de Chromium y una página de ejemplo pública neutral. Reemplaza la URL solo con un sitio web que poseas, operes o estés autorizado a probar. La imagen no otorga permiso para automatizar un servicio de terceros.
¿Cómo Funcionan los Informes y Trazas en un VPS Sin Cabeza?
Los informes y trazas de Playwright son archivos generados por tu proyecto, por lo que pueden guardarse en el VPS y revisarse sin abrir un servicio público permanente. Son especialmente útiles cuando una prueba falla solo en el entorno del servidor.
La configuración de ejemplo escribe:
- Resultados de terminal del reportero
list. - Un informe HTML bajo
playwright-report/. - Adjuntos de prueba y salida de fallos bajo
test-results/. - Una traza para pruebas fallidas porque
traceestá configurado pararetain-on-failure. - Capturas de pantalla bajo las ubicaciones de artefactos configuradas.
Para ver el informe HTML de forma segura, inicia su servidor temporal en la interfaz de bucle invertido:
npx playwright show-report --host 127.0.0.1 --port 9323
En tu propia computadora, crea un túnel SSH utilizando los valores de conexión de los detalles del recurso:
ssh -L 9323:127.0.0.1:9323 <ssh-user>@<server-ip>
Luego abre http://127.0.0.1:9323 en tu computadora local. Detén el proceso del informe cuando termines. No vincules el visor de informes a 0.0.0.0 ni lo expongas directamente a Internet; los informes pueden contener texto de página, URLs, capturas de pantalla, encabezados, mensajes de error y otras evidencias de prueba sensibles.
Para una traza guardada, utiliza el visor de trazas de Playwright:
npx playwright show-trace test-results/<trace-file>.zip
Si el visor inicia un proceso HTTP local, utiliza el mismo modelo de bucle invertido y túnel SSH. También puedes transferir una traza a una estación de trabajo de confianza e inspeccionarla con herramientas oficiales. Trata los archivos de traza como potencialmente sensibles porque pueden contener instantáneas del DOM, información de red y capturas de pantalla.
¿Por Qué Deben Coincidir las Versiones de Playwright y Chromium?
Playwright espera binarios de navegador construidos para su propia versión, por lo que el paquete y la revisión de Chromium entregada deben permanecer alineados. La documentación oficial de Playwright recomienda fijar versiones exactas y advierte que los entornos desajustados pueden no ser capaces de localizar ejecutables de navegador.
| Cambio | Enfoque seguro | Riesgo a evitar |
|---|---|---|
| Agregar Playwright a un nuevo proyecto | Instalar la versión exacta entregada | Instalar una versión más reciente no relacionada |
| Actualizar el paquete de Playwright | Actualizar los binarios de navegador en la misma ventana de mantenimiento | Actualizar solo las dependencias de npm |
| Cambiar Node.js | Confirmar que la versión de Playwright objetivo lo soporte | Actualizar Node.js sin pruebas |
| Agregar Firefox o WebKit | Instalar y validar el navegador coincidente y las dependencias | Asumir que cada navegador está preinstalado |
| Reconstruir un archivo de bloqueo | Revisar la versión de Playwright resuelta | Dejar que un amplio rango semver se desplace |
| Revertir | Restaurar el bloqueo de paquetes, los binarios de navegador y el proyecto juntos | Revertir solo una capa |
Antes de actualizar, registra las versiones de trabajo:
node --version
npx playwright --version
npm ls @playwright/test
Luego haz una copia de seguridad de tu proyecto y archivo de bloqueo. Sigue el procedimiento de actualización oficial de Playwright, que actualiza tanto el paquete como las dependencias del navegador. Ejecuta el patrón de verificación de salud entregado y tus propias pruebas de humo después del cambio. VoyraCloud no actualiza automáticamente los entornos de Playwright existentes ni garantiza la compatibilidad para combinaciones gestionadas por el usuario.
¿Cómo Debe Ejecutarse Playwright de Forma Segura?
Playwright debe ejecutarse como un usuario no root dedicado con el sandbox de Chromium disponible, credenciales mínimas y sin oyentes públicos innecesarios. Un navegador procesa contenido complejo de las páginas que abre, por lo que no debe recibir más privilegios de host de los que requiere la carga de trabajo.
Utiliza estas reglas operativas:
- Ejecuta comandos del proyecto desde una cuenta no root. No uses
sudo npx playwright test. - Mantén habilitado el sandbox de Chromium en lugar de depender de la ejecución como root que lo desactiva.
- Almacena secretos en un archivo de entorno restringido o en un gestor de secretos, no en el código de prueba, capturas de pantalla, informes o historial de shell.
- Limita los dominios de destino a sistemas que poseas o tengas permiso para probar.
- Detén en CAPTCHAs, desafíos de control de acceso, advertencias de cuenta, puertas de pago o fallos de autorización repetidos.
- Mantén el acceso SSH protegido con una autenticación fuerte y actualizaciones de seguridad del sistema operativo actuales.
- No expongas el informe HTML, el visor de trazas, los puntos finales de depuración o un servidor de navegador personalizado a Internet público.
- Revisa los artefactos generados antes de compartirlos porque el contenido de la página y los datos de prueba pueden aparecer en capturas de pantalla y trazas.
La guía oficial de Docker de Playwright hace la misma distinción de privilegios: el root puede ser aceptable para código de prueba de extremo a extremo de confianza en un entorno contenido, mientras que se recomiendan usuarios separados y controles de sandbox cuando el contenido del navegador no es completamente confiable. La imagen de VoyraCloud utiliza un entorno de ejecución nativo centrado en SSH; si más tarde colocas tu proyecto en un contenedor, debes configurar el usuario, el sandbox, el proceso de inicialización y la memoria compartida de ese contenedor tú mismo.
¿Qué Significa el Requisito de Memoria Compartida de 2 GB?
El requisito de memoria compartida de 2 GB le da a Chromium espacio para una carga de trabajo inicial validada, pero no garantiza un número particular de páginas o navegadores paralelos. Chromium utiliza memoria compartida para procesos de renderizado, y un espacio insuficiente puede causar bloqueos que parecen fallos de prueba aleatorios.
Verifica el sistema de archivos de memoria compartida disponible:
df -h /dev/shm
La puerta de aceptación de la imagen de VoyraCloud valida una sesión de Chromium sin cabeza en la configuración inicial con un entorno de memoria compartida de 2 GB. Tu demanda real depende de la complejidad de la página, la captura de video y trazas, los contextos del navegador, las extensiones, las descargas, los datos de prueba y el número de trabajadores simultáneos.
Si más tarde creas tu propio despliegue de Docker, la configuración del host no garantiza automáticamente que un nuevo contenedor reciba la misma asignación. Configura el contenedor según la guía oficial de Chromium para Playwright, luego pruébalo de forma independiente.
¿Cuánta Capacidad VPS Necesita Playwright?
La capacidad de Playwright depende del número de navegadores, la complejidad de las páginas, los artefactos y la concurrencia, por lo que el mínimo es solo una puerta de entrada validada para una carga de trabajo estrecha. La puerta de compra inicial es de 4 vCPU, 4 GB de RAM y 80 GB de almacenamiento en Cloud VPS, o 2 vCPU, 4 GB de RAM y 60 GB de almacenamiento en Residential IP VPS, después de que el plan correspondiente pase las pruebas de aceptación regional.
| Carga de trabajo | Guía de capacidad |
|---|---|
| Una prueba de humo de Chromium programada | Caso de inicio adecuado para la puerta de entrada |
| Un pequeño conjunto de pruebas de extremo a extremo en serie | Comienza con un trabajador y mide |
| Pruebas con muchas capturas de pantalla | Observa el crecimiento del disco y el uso de memoria |
| Retención de video y trazas | Planifica almacenamiento adicional y limpieza |
| Múltiples trabajadores paralelos | Requiere pruebas específicas de carga de trabajo y probablemente más recursos |
| Múltiples navegadores o páginas grandes | Requiere pruebas específicas de carga de trabajo |
| Servicio de automatización de larga duración | Agrega supervisión, registro, monitoreo y capacidad medida |
Playwright Test puede ejecutar archivos en paralelo, pero un recuento de trabajadores por defecto no es una promesa de capacidad. Comienza con --workers=1, observa el uso de CPU, memoria, memoria compartida, duración de la prueba y uso de disco, y luego aumenta gradualmente. Puede ser necesario un plan más grande antes de habilitar proyectos paralelos, videos o retención de trazas grandes.
¿Qué Persiste Después de un Reinicio?
Los archivos escritos en el almacenamiento VPS persistente permanecen después de un reinicio normal, mientras que el estado del navegador en vivo en memoria no. Guarda cada artefacto o archivo de estado que sea importante antes de reiniciar el servidor.
Los archivos persistentes pueden incluir:
- Tu proyecto de Node.js y archivo de bloqueo.
- Configuración de Playwright y código de prueba.
- Capturas de pantalla, videos, informes HTML y archivos de traza.
- Archivos de estado de almacenamiento guardados deliberadamente.
- Tus propios registros y configuración de procesos.
No esperes que un reinicio preserve:
- Un proceso de Chromium en ejecución.
- Páginas abiertas o contextos de navegador en memoria.
- Cookies no guardadas, almacenamiento local o estado de JavaScript.
- Archivos temporales que tu proyecto elimina o escribe fuera de rutas persistentes.
- Un trabajo que estaba en ejecución sin supervisión de procesos y manejo de reinicios.
La persistencia no es copia de seguridad. Si un informe, proyecto o archivo de estado es importante para el negocio, cópialo a un destino fuera del servidor con la encriptación y retención apropiadas. Evita hacer copias de seguridad del estado de autenticación a menos que sea requerido, protegido y sujeto a una política de rotación clara.
¿Cloud VPS o Residential IP VPS para Playwright?
Cloud VPS es la opción principal para desarrollo general de Playwright, QA y automatización autorizada, mientras que Residential IP VPS es relevante solo cuando un origen de red residencial estable es parte de un requisito de prueba legítimo.
Utiliza Cloud VPS para:
- Pruebas de extremo a extremo contra aplicaciones que posees.
- Verificaciones de humo de producción programadas.
- Flujos de trabajo internos de navegador.
- Generación de capturas de pantalla y pruebas de regresión.
- Automatización donde la identidad de la red del centro de datos es aceptable.
Un Residential IP VPS puede ser relevante para QA regional o monitoreo con permiso donde la misma identidad de red residencial estable debe mantenerse a través de las ejecuciones. No es una promesa para eludir controles de anti-automatización, resolver CAPTCHAs, proteger cuentas o alcanzar cada objetivo. Para una discusión más profunda sobre fallos relacionados con la red, lee Por Qué Playwright es Bloqueado en VPS.
Lista de Verificación de Preproducción
Un VPS de Playwright está listo para uso regular solo después de que el entorno de ejecución, la seguridad, el comportamiento de recursos, los artefactos y la ruta de recuperación hayan sido probados con tu propio proyecto.
- Confirma
node --versionynpx playwright --version. - Ejecuta la verificación de salud de Chromium entregada sin modificar el entorno.
- Fija la misma versión de Playwright en tu archivo de bloqueo de proyecto.
- Ejecuta como un usuario no root y confirma que Chromium se inicie con su sandbox.
- Comienza con un trabajador de Chromium y verifica el entorno de memoria compartida de 2 GB.
- Guarda una captura de pantalla, un informe HTML y una traza de fallo.
- Ve los informes a través de un oyente de bucle invertido y un túnel SSH.
- Reinicia el VPS y vuelve a ejecutar la prueba de humo.
- Confirma que los archivos y artefactos del proyecto requeridos persistieron.
- Configura copias de seguridad fuera del servidor para el código y datos críticos para el negocio.
- Protege credenciales y elimina secretos de los informes antes de compartir.
- Documenta los objetivos permitidos, límites de tasa y condiciones de detención.
FAQ
¿La imagen de Playwright incluye un panel web?
No, la imagen de Playwright no incluye un panel web ni un punto final de control de navegador público. Te conectas a través de SSH y ejecutas tu propio proyecto de Node.js o Playwright Test. Los visores de informes temporales deben vincularse a 127.0.0.1 y ser accesibles a través de un túnel SSH.
¿Qué navegador está incluido?
La imagen incluye Chromium coincidente con la versión estable de Playwright entregada. Firefox y WebKit no son parte de la entrega predeterminada declarada. Puedes instalar navegadores adicionales coincidentes tú mismo, pero debes validar sus dependencias y uso de recursos.
¿Puedo actualizar Playwright con npm?
Sí, pero actualiza el paquete de Playwright y sus binarios de navegador juntos, luego vuelve a probar el entorno. Guarda primero la versión de trabajo y el archivo de bloqueo. Los recursos existentes de VoyraCloud no se actualizan automáticamente después de la creación.
¿Cuántos trabajadores de Playwright puede ejecutar este VPS?
No hay garantía de un número fijo de trabajadores o concurrencia. La puerta de entrada inicial valida una sesión de Chromium con 2 GB de memoria compartida en Cloud VPS a 4 vCPU, 4 GB de RAM y 80 GB de almacenamiento, o Residential IP VPS a 2 vCPU, 4 GB de RAM y 60 GB de almacenamiento. La capacidad paralela depende de tus páginas, artefactos, código y comportamiento de ejecución.
¿Están disponibles los informes y trazas después de un reinicio?
Los archivos de informe y traza guardados persisten cuando se escriben en el almacenamiento VPS, pero las sesiones activas y el estado no guardado no. La persistencia tampoco reemplaza una copia de seguridad fuera del servidor.
¿Debo ejecutar Playwright como root?
No, utiliza un usuario no root para trabajos de navegador normales y mantén el sandbox de Chromium disponible. La ejecución como root aumenta el impacto de un compromiso del navegador o código de prueba y puede desactivar el sandbox de Chromium en configuraciones comunes.
¿La imagen incluye proxies, cookies o cuentas de sitios web?
No, la imagen no incluye ningún servicio proxy, cookies, claves API, cuentas de sitios web ni credenciales de terceros. Eres responsable de secretos, permisos, políticas de destino y leyes aplicables.
¿Puede Playwright eludir CAPTCHAs o controles anti-bot?
No se incluye ni se promete tal capacidad o resultado. Un CAPTCHA, restricción de acceso o fallo de autorización repetido debe detener el flujo de trabajo para revisión. Utiliza APIs oficiales o autorización escrita donde esté disponible.
Conclusión
Para desplegar Playwright en VPS de manera confiable, comienza con el entorno de ejecución preinstalado, fija tu proyecto a la versión de Playwright entregada, ejecuta un trabajador de Chromium en sandbox y preserva solo los archivos que guardes intencionalmente. La imagen de VoyraCloud acorta la configuración del entorno mientras mantiene el acceso SSH, el código del proyecto, las credenciales, las actualizaciones, la planificación de capacidad y las copias de seguridad bajo tu control.
Utiliza la imagen de aplicación VoyraCloud Playwright para un entorno de automatización de navegador centrado en SSH sin ningún puerto público específico de Playwright habilitado por defecto.

