Entwickler-Dokumentation

Automatisierte Tests

Ein Captcha und automatisierte Tests widersprechen sich naturgemäß.
Drei Wege funktionieren gut:

Prüfung im Backend simulieren

Im Testmodus gibt Ihre Prüffunktion true zurück, ohne die API aufzurufen.
Alles andere bleibt gleich.
Das ist der empfohlene Weg.

PHP
if (getenv('APP_ENV') === 'test') {
    $ok = true;
} else {
    $ok = cdp_captcha_verify($_POST['cdp-captcha-solution'] ?? '');
}

Den Browser lösen lassen

Headless-Browser (Playwright, Puppeteer, Selenium) können den Web Worker ausführen.
Warten Sie auf das Ereignis complete oder bis das versteckte Feld gefüllt ist, dann absenden.
Nutzen Sie auf einem Test-Sitekey die niedrigste Schwierigkeit, damit die Läufe schnell bleiben.

JavaScript
await page.waitForFunction(() =>
  document.querySelector('.cdp-captcha').getAttribute('data-state') === 'completed');
await page.click('button[type=submit]');

Den Testrechner freigeben

Laufen End-to-End-Tests gegen die Produktion, überspringen Sie die Prüfung für die bekannten Adressen Ihres Testrechners oder akzeptieren Sie einen geheimen Wert im Formular, den nur Ihre Tests kennen.
Halten Sie solche Ausnahmen aus dem Client-Code heraus.