Distribuisci Playwright su un'infrastruttura VPS quando hai bisogno di un ambiente Linux persistente per test end-to-end, controlli del browser programmati, screenshot e flussi di lavoro del browser autorizzati. L'immagine dell'applicazione VoyraCloud Playwright fornisce Node.js, Playwright, Chromium e le dipendenze del browser Linux necessarie. Ti connetti tramite SSH, aggiungi il tuo progetto e esegui Chromium in modalità headless senza esporre un servizio di controllo del browser a Internet pubblico.
TL;DR
- L'immagine VoyraCloud Playwright è un runtime SSH-first, non un dashboard del browser ospitato o un'API remota del browser pubblica.
- Node.js, Playwright, Chromium e le dipendenze del browser Linux sono preinstallati su Ubuntu, quindi puoi iniziare con l'esempio fornito e poi aggiungere il tuo progetto.
- L'immagine non apre una porta pubblica specifica per Playwright. Rapporti e tracce rimangono sul VPS a meno che tu non li trasferisca o li serva deliberatamente.
- Mantieni il pacchetto Playwright del tuo progetto sulla stessa versione esatta delle binarie del browser fornite. Una discrepanza di versione può impedire a Playwright di trovare o avviare Chromium.
- Esegui lavori del browser come utente non root con il sandbox di Chromium disponibile. Non memorizzare credenziali di terze parti direttamente nei file sorgente o nei rapporti.
- La porta di risorse iniziale segue i piani di prodotto disponibili: 4 vCPU, 4 GB di RAM e 80 GB di archiviazione su Cloud VPS, o 2 vCPU, 4 GB di RAM e 60 GB di archiviazione su Residential IP VPS, con un ambiente di memoria condivisa di 2 GB per una sessione di Chromium convalidata. Non è una promessa di concorrenza fissa.
- I file di progetto e gli artefatti salvati persistono attraverso un normale riavvio del VPS. Le sessioni del browser in memoria, i contesti temporanei e lo stato non salvato non lo fanno.
Cosa Include l'Immagine dell'Applicazione Playwright?
L'immagine dell'applicazione Playwright include il runtime del browser necessario per avviare lavori di automazione autorizzati, mentre il codice del tuo progetto e le pratiche operative rimangono sotto il tuo controllo. Rimuove la preparazione ripetitiva del sistema operativo, ma non fornisce un servizio di automazione gestito.
| Fornito dall'immagine | Gestito dall'utente o non incluso |
|---|---|
| Runtime Ubuntu Linux | Il tuo codice applicativo e di test |
| Ambiente Node.js compatibile | Dipendenze npm specifiche del progetto |
| Una versione stabile di Playwright fissa | Aggiornamenti automatici di Playwright |
| Binarie del browser Chromium corrispondenti | Firefox o WebKit a meno che tu non li installi e convalidi |
| Dipendenze del browser Linux richieste | Account di terze parti, cookie, chiavi API o credenziali di destinazione |
| Esecuzione del browser headless tramite SSH | Punto di controllo pubblico del browser o dashboard Web |
| Ambiente di memoria condivisa di 2 GB convalidato per la porta di avvio | Capacità garantita del browser parallelo |
| Archiviazione VPS persistente | Backup automatico off-server |
| Un esempio fornito e controllo di salute | Sviluppo di script personalizzati o debug da parte di VoyraCloud |
I dettagli delle risorse mostrano la versione di Playwright fornita quando è stato creato il VPS. Quel valore descrive lo stato originale dell'immagine; non cambia automaticamente se successivamente aggiorni il tuo progetto. Mantieni il tuo file di blocco delle dipendenze e le note operative come fonte di verità per i successivi cambiamenti gestiti dall'utente.
Guida Rapida: Come Distribuire Playwright su VPS
Il percorso più veloce è creare un VPS con l'immagine di Playwright, connettersi tramite SSH, verificare il runtime fornito e eseguire un test di Chromium con un singolo worker. Non c'è un dashboard del browser da aprire dopo la fornitura.
- Apri la pagina VoyraCloud Playwright e continua con il flusso di acquisto.
- Seleziona un piano Cloud VPS o Residential IP VPS idoneo, quindi scegli qualsiasi regione attualmente offerta da quel prodotto.
- Conferma che Playwright è selezionato nella sezione Immagini, crea la risorsa e attendi fino al completamento della fornitura.
- Apri i dettagli della risorsa e utilizza le informazioni di connessione SSH visualizzate.
- Dopo il login, controlla le versioni di Node.js e Playwright fornite:
node --version
npx playwright --version
- Esegui l'esempio fornito con l'immagine prima di cambiare le dipendenze. L'esempio dovrebbe avviare Chromium, aprire una pagina di test, fare un'asserzione e scrivere uno screenshot.
- Crea o trasferisci il tuo progetto solo dopo che il controllo di salute fornito ha avuto successo.
- Inizia con un worker di Chromium, controlla l'uso della memoria e del disco, e aumenta il carico di lavoro solo dopo aver misurato il progetto reale.
L'immagine non richiede un URL di accesso specifico per Playwright. SSH è il percorso di gestione e non è abilitata per impostazione predefinita alcuna porta di controllo remoto permanente.
Come Creare un Progetto Playwright sul VPS?
Crea un normale progetto Node.js e fissa la sua dipendenza Playwright alla versione esatta mostrata dal runtime fornito. I pacchetti Playwright e le binarie del browser si muovono insieme, quindi installare un pacchetto più recente non correlato può interrompere un'immagine altrimenti sana.
Inizia in una directory di proprietà del tuo utente non root:
mkdir -p ~/playwright-project
cd ~/playwright-project
npm init -y
Controlla di nuovo la versione fornita:
npx playwright --version
Installa la stessa identica versione nel progetto. Sostituisci <same-version> con il numero stampato dal comando precedente:
npm install --save-dev @playwright/test@<same-version>
Crea homepage.spec.js:
const { test, expect } = require('@playwright/test');
test('la pagina di esempio è raggiungibile', async ({ page }) => {
await page.goto('https://example.com/', {
waitUntil: 'domcontentloaded',
});
await expect(page).toHaveTitle(/Esempio di Dominio/);
await page.screenshot({
path: 'artifacts/example-homepage.png',
fullPage: true,
});
});
Crea una piccola configurazione in 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 la directory per gli screenshot e esegui il test:
mkdir -p artifacts
npx playwright test homepage.spec.js --project=chromium --workers=1
Questo esempio utilizza deliberatamente un worker di Chromium e una pagina di esempio pubblica neutra. Sostituisci l'URL solo con un sito web di tua proprietà, gestione o autorizzato per il test. L'immagine non concede il permesso di automatizzare un servizio di terze parti.
Come Funzionano Rapporti e Tracce su un VPS Headless?
I rapporti e le tracce di Playwright sono file generati dal tuo progetto, quindi possono essere salvati sul VPS e revisionati senza aprire un servizio pubblico permanente. Sono particolarmente utili quando un test fallisce solo nell'ambiente server.
La configurazione di esempio scrive:
- Risultati del terminale dal reporter
list. - Un rapporto HTML sotto
playwright-report/. - Allegati di test e output di fallimento sotto
test-results/. - Una traccia per i test falliti perché
traceè impostato suretain-on-failure. - Screenshot sotto le posizioni di artefatti configurate.
Per visualizzare il rapporto HTML in modo sicuro, avvia il suo server temporaneo sull'interfaccia di loopback:
npx playwright show-report --host 127.0.0.1 --port 9323
Sul tuo computer, crea un tunnel SSH utilizzando i valori di connessione dai dettagli della risorsa:
ssh -L 9323:127.0.0.1:9323 <ssh-user>@<server-ip>
Quindi apri http://127.0.0.1:9323 sul tuo computer locale. Interrompi il processo del rapporto quando hai finito. Non collegare il visualizzatore del rapporto a 0.0.0.0 o esporlo direttamente a Internet; i rapporti possono contenere testo della pagina, URL, screenshot, intestazioni, messaggi di errore e altre prove di test sensibili.
Per una traccia salvata, utilizza il visualizzatore di tracce di Playwright:
npx playwright show-trace test-results/<trace-file>.zip
Se il visualizzatore avvia un processo HTTP locale, utilizza lo stesso modello di loopback e tunnel SSH. Puoi anche trasferire una traccia a una workstation fidata e ispezionarla con strumenti ufficiali. Tratta gli archivi di traccia come potenzialmente sensibili perché possono contenere snapshot DOM, informazioni di rete e screenshot.
Perché le Versioni di Playwright e Chromium Devono Corrispondere?
Playwright si aspetta binarie del browser costruite per la propria versione, quindi il pacchetto e la revisione di Chromium fornita devono rimanere allineati. La documentazione ufficiale di Playwright raccomanda di fissare versioni esatte e avverte che ambienti non corrispondenti potrebbero non essere in grado di localizzare gli eseguibili del browser.
| Cambiamento | Approccio sicuro | Rischio da evitare |
|---|---|---|
| Aggiungere Playwright a un nuovo progetto | Installare la versione esatta fornita | Installare una versione più recente non correlata |
| Aggiornare il pacchetto Playwright | Aggiornare le binarie del browser nella stessa finestra di manutenzione | Aggiornare solo le dipendenze npm |
| Cambiare Node.js | Confermare che la versione di Playwright target la supporti | Aggiornare Node.js senza testare |
| Aggiungere Firefox o WebKit | Installare e convalidare il browser corrispondente e le dipendenze | Assumere che ogni browser sia preinstallato |
| Ricostruire un file di blocco | Revisionare la versione di Playwright risolta | Lasciare che un ampio intervallo semver si allontani |
| Ripristinare | Ripristinare il lock del pacchetto, le binarie del browser e il progetto insieme | Ripristinare solo un livello |
Prima di aggiornare, registra le versioni funzionanti:
node --version
npx playwright --version
npm ls @playwright/test
Quindi esegui il backup del tuo progetto e del file di blocco. Segui la procedura di aggiornamento ufficiale di Playwright, che aggiorna sia il pacchetto che le dipendenze del browser. Esegui il modello di controllo di salute fornito e i tuoi test di fumo dopo la modifica. VoyraCloud non aggiorna automaticamente gli ambienti Playwright esistenti o garantisce compatibilità per combinazioni gestite dall'utente.
Come Dovrebbe Eseguire Playwright in Sicurezza?
Playwright dovrebbe essere eseguito come un utente non root dedicato con il sandbox di Chromium disponibile, credenziali minime e nessun listener pubblico non necessario. Un browser elabora contenuti complessi dalle pagine che apre, quindi non dovrebbe ricevere più privilegi dell'host di quanto richiesto dal carico di lavoro.
Utilizza queste regole operative:
- Esegui comandi di progetto da un account non root. Non utilizzare
sudo npx playwright test. - Mantieni abilitato il sandboxing di Chromium invece di fare affidamento su un'esecuzione root che lo disabilita.
- Memorizza segreti in un file di ambiente ristretto o in un gestore di segreti, non nel sorgente di test, screenshot, rapporti o cronologia della shell.
- Limita i domini target a sistemi di tua proprietà o per i quali hai il permesso di testare.
- Fermati su CAPTCHA, sfide di controllo accessi, avvisi di account, porte di pagamento o ripetute autorizzazioni fallite.
- Mantieni l'accesso SSH protetto con autenticazione forte e aggiornamenti di sicurezza del sistema operativo attuali.
- Non esporre il rapporto HTML, il visualizzatore di tracce, i punti di debug o un server browser personalizzato a Internet pubblico.
- Revisiona gli artefatti generati prima di condividerli perché il contenuto della pagina e i dati di test possono apparire in screenshot e tracce.
Le linee guida ufficiali di Playwright Docker fanno la stessa distinzione di privilegi: l'uso di root può essere accettabile per codice di test end-to-end fidato in un ambiente contenuto, mentre si raccomandano utenti separati e controlli di sandbox quando il contenuto del browser non è completamente fidato. L'immagine VoyraCloud utilizza un runtime nativo SSH-first; se successivamente metti il tuo progetto in un contenitore, devi configurare tu stesso l'utente, il sandbox, il processo di init e la memoria condivisa di quel contenitore.
Cosa Significa il Requisito di Memoria Condivisa di 2 GB?
Il requisito di memoria condivisa di 2 GB offre a Chromium spazio per un carico di lavoro di avvio convalidato, ma non garantisce un numero particolare di pagine o browser paralleli. Chromium utilizza la memoria condivisa per i processi di rendering, e uno spazio insufficiente può causare arresti anomali che sembrano fallimenti casuali del test.
Controlla il filesystem di memoria condivisa disponibile:
df -h /dev/shm
La porta di accettazione dell'immagine VoyraCloud convalida una sessione headless di Chromium sulla configurazione iniziale con un ambiente di memoria condivisa di 2 GB. La tua domanda effettiva dipende dalla complessità delle pagine, dalla cattura di video e tracce, dai contesti del browser, dalle estensioni, dai download, dai dati di test e dal numero di worker simultanei.
Se crei la tua distribuzione Docker in seguito, l'impostazione dell'host non garantisce automaticamente che un nuovo contenitore riceva la stessa concessione. Configura il contenitore in base alle linee guida ufficiali di Chromium per Playwright, quindi testalo in modo indipendente.
Quanta Capacità VPS Necessita Playwright?
La capacità di Playwright dipende dal numero di browser, dalla complessità delle pagine, dagli artefatti e dalla concorrenza, quindi il minimo è solo una porta di ingresso convalidata per un carico di lavoro ristretto. La porta di acquisto iniziale è di 4 vCPU, 4 GB di RAM e 80 GB di archiviazione su Cloud VPS, o 2 vCPU, 4 GB di RAM e 60 GB di archiviazione su Residential IP VPS, dopo che il piano corrispondente supera i test di accettazione regionali.
| Carico di lavoro | Indicazioni sulla capacità |
|---|---|
| Un test di fumo di Chromium programmato | Caso di partenza adatto per la porta di ingresso |
| Una piccola suite end-to-end seriale | Inizia con un worker e misura |
| Test pesanti di screenshot | Controlla la crescita del disco e l'uso della memoria |
| Ritenzione di video e tracce | Pianifica ulteriore archiviazione e pulizia |
| Più worker paralleli | Richiede test specifici per il carico di lavoro e probabilmente più risorse |
| Più browser o pagine grandi | Richiede test specifici per il carico di lavoro |
| Servizio di automazione a lungo termine | Aggiungi supervisione, registrazione, monitoraggio e capacità misurata |
Playwright Test può eseguire file in parallelo, ma un numero predefinito di worker non è una promessa di capacità. Inizia con --workers=1, osserva CPU, memoria, memoria condivisa, durata del test e utilizzo del disco, quindi aumenta gradualmente. Potrebbe essere necessario un piano più grande prima di abilitare progetti paralleli, video o una lunga ritenzione delle tracce.
Cosa Persiste Dopo un Riavvio?
I file scritti nell'archiviazione VPS persistente rimangono dopo un normale riavvio, mentre lo stato del browser attivo in memoria non lo fa. Salva ogni artefatto o file di stato che conta prima di riavviare il server.
I file persistenti possono includere:
- Il tuo progetto Node.js e il file di blocco.
- Configurazione di Playwright e sorgente di test.
- Screenshot, video, rapporti HTML e archivi di tracce.
- File di stato di archiviazione salvati deliberatamente.
- I tuoi log e la configurazione del processo.
Non aspettarti che un riavvio preservi:
- Un processo Chromium in esecuzione.
- Pagine aperte o contesti del browser in memoria.
- Cookie non salvati, archiviazione locale o stato JavaScript.
- File temporanei che il tuo progetto elimina o scrive al di fuori dei percorsi persistenti.
- Un lavoro che era in esecuzione senza supervisione del processo e gestione del riavvio.
La persistenza non è un backup. Se un rapporto, progetto o file di stato è importante per l'azienda, copialo in una destinazione off-server con crittografia e ritenzione appropriate. Evita di eseguire il backup dello stato di autenticazione a meno che non sia richiesto, protetto e soggetto a una chiara politica di rotazione.
Cloud VPS o Residential IP VPS per Playwright?
Cloud VPS è la scelta principale per lo sviluppo generale di Playwright, QA e automazione autorizzata, mentre Residential IP VPS è rilevante solo quando un'origine di rete residenziale stabile è parte di un requisito di test legittimo.
Utilizza Cloud VPS per:
- Test end-to-end contro applicazioni di tua proprietà.
- Controlli di fumo di produzione programmati.
- Flussi di lavoro interni del browser.
- Generazione di screenshot e test di regressione.
- Automazione dove l'identità della rete del data center è accettabile.
Un Residential IP VPS può essere rilevante per QA regionale autorizzata o monitoraggio dove la stessa identità della rete residenziale stabile deve essere mantenuta attraverso le esecuzioni. Non è una promessa di bypassare i controlli anti-automazione, risolvere CAPTCHA, proteggere account o raggiungere ogni obiettivo. Per una discussione più approfondita sui fallimenti legati alla rete, leggi Perché Playwright Viene Bloccato su VPS.
Checklist Pre-Produzione
Un VPS Playwright è pronto per un uso regolare solo dopo che il runtime, la sicurezza, il comportamento delle risorse, gli artefatti e il percorso di recupero sono stati testati con il tuo progetto.
- Conferma
node --versionenpx playwright --version. - Esegui il controllo di salute di Chromium fornito senza modificare l'ambiente.
- Fissa la stessa versione di Playwright nel file di blocco del tuo progetto.
- Esegui come utente non root e conferma che Chromium si avvii con il suo sandbox.
- Inizia con un worker di Chromium e verifica l'ambiente di memoria condivisa di 2 GB.
- Salva uno screenshot, un rapporto HTML e una traccia di fallimento.
- Visualizza i rapporti tramite un listener di loopback e un tunnel SSH.
- Riavvia il VPS e riesegui il test di fumo.
- Conferma che i file e gli artefatti richiesti del progetto siano persistiti.
- Configura backup off-server per codice e dati critici per l'azienda.
- Proteggi le credenziali e rimuovi i segreti dai rapporti prima di condividerli.
- Documenta gli obiettivi consentiti, i limiti di velocità e le condizioni di arresto.
FAQ
L'immagine di Playwright include un dashboard Web?
No, l'immagine di Playwright non include un dashboard Web o un endpoint pubblico di controllo del browser. Ti connetti tramite SSH e esegui il tuo progetto Node.js o Playwright Test. I visualizzatori di rapporti temporanei dovrebbero collegarsi a 127.0.0.1 e essere accessibili tramite un tunnel SSH.
Quale browser è incluso?
L'immagine include Chromium abbinato alla versione stabile di Playwright fornita. Firefox e WebKit non fanno parte della consegna predefinita dichiarata. Puoi installare ulteriori browser corrispondenti tu stesso, ma devi convalidare le loro dipendenze e l'uso delle risorse.
Posso aggiornare Playwright con npm?
Sì, ma aggiorna il pacchetto Playwright e le sue binarie del browser insieme, quindi ritesta l'ambiente. Salva prima la versione funzionante e il file di blocco. Le risorse VoyraCloud esistenti non vengono aggiornate automaticamente dopo la creazione.
Quanti worker di Playwright può eseguire questo VPS?
Non c'è alcuna garanzia fissa di worker o concorrenza. La porta di partenza convalida una sessione di Chromium con 2 GB di memoria condivisa su Cloud VPS a 4 vCPU, 4 GB di RAM e 80 GB di archiviazione, o Residential IP VPS a 2 vCPU, 4 GB di RAM e 60 GB di archiviazione. La capacità parallela dipende dalle tue pagine, artefatti, codice e comportamento del runtime.
I rapporti e le tracce sono disponibili dopo un riavvio?
I file di rapporto e traccia salvati persistono quando vengono scritti nell'archiviazione VPS, ma le sessioni attive e lo stato non salvato non lo fanno. La persistenza non sostituisce nemmeno un backup off-server.
Dovrei eseguire Playwright come root?
No, utilizza un utente non root per i normali lavori del browser e mantieni disponibile il sandboxing di Chromium. L'esecuzione come root aumenta l'impatto di un compromesso del browser o del codice di test e può disabilitare il sandbox di Chromium in configurazioni comuni.
L'immagine include proxy, cookie o account di siti web?
No, l'immagine non include alcun servizio proxy, cookie, chiavi API, account di siti web o credenziali di terze parti. Sei responsabile per segreti, permessi, politiche di destinazione e legge applicabile.
Playwright può bypassare CAPTCHA o controlli anti-bot?
Non è inclusa o promessa alcuna capacità o risultato del genere. Un CAPTCHA, una restrizione di accesso o un fallimento di autorizzazione ripetuto dovrebbero fermare il flusso di lavoro per la revisione. Utilizza API ufficiali o autorizzazioni scritte dove disponibili.
Conclusione
Per distribuire Playwright su VPS in modo affidabile, inizia con il runtime preinstallato, fissa il tuo progetto alla versione di Playwright fornita, esegui un worker di Chromium in sandbox e conserva solo i file che salvi intenzionalmente. L'immagine VoyraCloud accorcia la configurazione dell'ambiente mantenendo l'accesso SSH, il codice del progetto, le credenziali, gli aggiornamenti, la pianificazione della capacità e i backup sotto il tuo controllo.
Utilizza l'immagine dell'applicazione VoyraCloud Playwright per un runtime di automazione del browser SSH-first senza alcuna porta pubblica specifica per Playwright abilitata per impostazione predefinita.

