Blog

GPU-beschleunigte Selenium- & Playwright-Tests: kein GPU für 500 €/Monat nötig

Führen Sie Ihre Selenium- und Playwright-Tests mit GPU-Beschleunigung (WebGL, Canvas, Video) auf einem Server mit integrierter GPU (iGPU/APU) aus. Schnelle, realitätsnahe Browser-Test-CI, ab 14,99 €/Monat, k3s/k8s.

GPU-beschleunigte Selenium- & Playwright-Tests: kein GPU für 500 €/Monat nötig

Selenium und Playwright in der CI laufen zu lassen, verlangt keine dedizierte Grafikkarte für mehrere hundert Euro. Aber Ihre Tests mit GPU-Beschleunigung laufen zu lassen – damit WebGL, Canvas und Video sich genauso verhalten wie bei Ihren Nutzern – das verändert alles. Und eine integrierte GPU (iGPU / APU) reicht dafür völlig aus, schon ab 14,99 €/Monat.

Das eigentliche Problem: das Software-Rendering

Ohne GPU schaltet Chromium auf Software-Rendering (SwiftShader) um: WebGL, Canvas und Video werden langsam und manchmal anders als in der Realität. Ihre Tests laufen durch … spiegeln aber nicht wider, was Ihre Nutzer tatsächlich sehen. Umgekehrt ist es Verschwendung, für 300-500 €/Monat eine dedizierte GPU zu mieten, nur um Headless-Browser zu starten.

AnsatzWebGL/Canvas-RenderingKosten
Nur CPU (Software)⚠️ langsam, teils falsch💶 aber trügerisch
Dedizierte GPU (~300-500 €/Monat)✅💸💸💸 überdimensioniert
iGPU Linux GPU (ab 14,99 €/Monat)✅ echtes Hardware-Rendering💶

Warum die GPU Ihre Browser-Tests verändert

Die iGPU/APU ist dem System zugänglich (/dev/dri). Ihre Browser nutzen sie für:

  • WebGL / WebGPU: echte Performance, echte visuelle Ergebnisse;
  • Canvas 2D und beschleunigtes Compositing;
  • Videowiedergabe mit Hardware-Dekodierung.

Das Ergebnis: E2E-Suites, die schneller sind und vor allem realitätsnäher am echten Browser Ihrer Nutzer.

Chromium auf der iGPU (ANGLE / Vulkan)

Aktivieren Sie die GPU-Beschleunigung von Chromium über ANGLE/Vulkan – im Headless-Modus ebenso wie unter Xvfb. Beispiel auf Playwright-Seite:

// playwright.config.ts
use: { launchOptions: { args: [
  '--use-gl=angle', '--use-angle=vulkan',
  '--enable-features=Vulkan', '--ignore-gpu-blocklist',
] } }

Und das Äquivalent auf Selenium-Seite (Python):

from selenium import webdriver
opts = webdriver.ChromeOptions()
for a in ('--use-gl=angle', '--use-angle=vulkan',
          '--enable-features=Vulkan', '--ignore-gpu-blocklist'):
    opts.add_argument(a)
driver = webdriver.Chrome(options=opts)

Prüfen Sie die Beschleunigung unter chrome://gpu: die Zeilen WebGL / Vulkan müssen „Hardware accelerated” anzeigen.

In der CI und im großen Maßstab

  • Containerisieren Sie Ihre Playwright- / Selenium- / Puppeteer-Worker;
  • Parallelisieren Sie Ihre E2E-Suites über mehrere Knoten in k3s / Kubernetes;
  • SSH-Root, IPv6 und LUKS inklusive. k3s-Cluster-Option +5 €/Knoten.

FAQ

Muss ich Xvfb verwenden? Im modernen Headless-Modus (--headless=new) oft nicht. Xvfb bleibt nützlich für ein vollständiges Display (Erweiterungen, Sonderfälle) – und die iGPU beschleunigt beides.

Werden Playwright und Selenium beide unterstützt? Ja, und Puppeteer ebenso: Es sind dieselben Chromium-Flags und dieselbe GPU.

Und zum Testen von WebGL / WebGPU in der CI? Genau das ist der ideale Fall: Die iGPU liefert einen echten GPU-Kontext, der weit repräsentativer ist als das Software-Rendering.

Fazit

Für GPU-beschleunigte Browser-Tests erledigt die iGPU die Arbeit – ohne die Rechnung einer dedizierten GPU. Starten Sie Ihren CI-Server schon ab 14,99 €/Monat.