playwright
The Playwright CLI plus browser engines and their system dependencies, in a shared cache every shell can read.
Installs the Playwright CLI globally, downloads the browser engines you ask for, and installs the operating-system libraries those browsers need.
devtools:
- name: playwrightThis is the case a flat package entry cannot express: an npm install plus a post-install browser download plus apt dependencies.
Version behaviour
version | Result |
|---|---|
| omitted | the latest published Playwright |
1.48.0 | that exact npm version |
config fields
| Field | Type | Default | Description |
|---|---|---|---|
browsers | array of string | ["chromium"] | The engines to install, e.g. chromium, firefox, webkit. |
An empty or unrecognisable list falls back to chromium.
devtools:
- name: playwright
config:
browsers: [chromium, firefox, webkit]Where the browsers live
Engines are installed once, as root, into a shared cache at /opt/ms-playwright,
made world-readable, and every login shell gets PLAYWRIGHT_BROWSERS_PATH pointing at
it. So the workstation user’s test runs find the same browsers the install produced —
something a per-user npx playwright install cannot give you.
On Debian and Ubuntu the browsers’ system libraries are installed too. On Alpine only the engines are installed; the dependency step is skipped.
Example
A test workstation that runs a project’s browser suite:
apiVersion: workstations.ringleader.dev/v1
kind: WorkstationConfig
metadata:
name: e2e-box
namespace: local
spec:
selector:
matchLabels:
role: e2e
identity:
user: dev
shell: /bin/bash
packages:
- git
devtools:
- name: nodejs
version: "24"
- name: playwright
config:
browsers: [chromium, firefox]
sources:
- name: app
git:
url: https://github.com/acme/app.git
ref: main
path: /home/dev/src/app
scripts:
- name: install-deps
phase: user
runPolicy: onChange
content: |
set -e
cd ~/src/app && npm ciNotes
- Changing
browsersre-runs the recipe, butplaywright installskips engines that are already present — so addingwebkitto an existing workstation downloads only WebKit. - The first setup run is slow: browser downloads take minutes. Keep
playwrightoff workstations that do not need it. - The CLI needs npm; if
nodejsis not declared first, the distribution’s Node.js is installed.