Files
my-vault/01_Projects/Personal-Tech/Development/PlayWright.md
T

2.6 KiB

Here is the definitive, consolidated guide for setting up Playwright on Arch Linux (WSL).

This summary skips the trial-and-error we just went through and provides the "Happy Path" to get everything working in one go.


📋 Prerequisites

  • WSL 2 (Recommended).
  • Proxy (Optional): If you are behind a proxy, remember to use sudo -E to preserve environment variables.

🚀 Step 1: System Prep & Node.js

First, ensure your package database is fresh (fixes 404 errors) and install Node.js.

# Update system and install Node.js/npm
# Use -E if you have https_proxy set in your shell
sudo -E pacman -Syu nodejs npm

📦 Step 2: Install System Dependencies (The Critical Step)

Do not use npx playwright install-deps (it fails on Arch). Instead, install these packages manually. This list includes all the X11, Graphics, and Network libraries required by Chromium, Firefox, and WebKit.

sudo -E pacman -S --needed \
    git \
    nss \
    nspr \
    libdrm \
    alsa-lib \
    mesa \
    gtk3 \
    at-spi2-core \
    pango \
    cairo \
    gdk-pixbuf2 \
    libx11 \
    libxcomposite \
    libxdamage \
    libxext \
    libxfixes \
    libxrandr \
    libxcursor \
    libxi \
    libxrender \
    libxcb \
    freetype2 \
    fontconfig \
    ffmpeg

🛠️ Step 3: Initialize Playwright

Set up your project and download the browser binaries (these are separate from the system libs above).

# Create project directory
mkdir my-tests && cd my-tests

# Initialize (Select TypeScript/JavaScript as preferred)
npm init playwright@latest

# If prompted to "Install Playwright browsers", select True.
# If you need to install them manually later:
npx playwright install

Step 4: Run Tests

You are now ready to run.

npx playwright test

💡 Troubleshooting Cheat Sheet

Issue Solution
install-deps fails Ignore it. It only supports Ubuntu. Use the pacman command in Step 2.
libxxx.so not found You are missing a package. Use pkgfile libxxx.so to find the Arch package name.
404 Errors (Pacman) Your mirrors are out of sync. Run sudo pacman -Syu to refresh.
Browser won't launch Ensure nspr and nss are installed (included in Step 2).
GUI/Headless issues If visual mode fails, try xvfb-run npx playwright test.