Programme an rauchtest.de anbinden

rauchtest.de öffnet Ihre Programme regelmäßig in einem echten Browser (Chromium), füllt Formulare aus, klickt und prüft, ob das Erwartete erscheint. Damit rauchtest.de weiß, was es prüfen soll, beschreibt jedes Programm seine wichtigsten Funktionen selbst: in einer Datei, dem Manifest. rauchtest.de holt sie täglich ab und legt daraus Prüfungen an. Scheitert eine, sieht es der Betreiber sofort in der Übersicht.

Diese Seite richtet sich an alle, die ein Programm betreuen – Menschen wie KI-Assistenten. Maschinenlesbar gibt es dasselbe als JSON-Schema und als Beispiel. Ganz unten steht ein fertiger Auftrag zum Kopieren.

In drei Schritten

  1. Manifest ablegen. Das Programm liefert unter https://ihre-domain/.well-known/rauchtest.json eine JSON-Datei aus: öffentlich, ohne Anmeldung, mit Status 200 und ohne Weiterleitung.
  2. Beim Betreiber melden. Wer das Programm betreut, nennt dem Betreiber von rauchtest.de die Domain. Er gibt sie frei und meldet das Programm unter „Programme“ an. rauchtest.de holt das Manifest sofort und zeigt, ob es durchgeht – samt Fehlermeldungen, falls nicht.
  3. Fertig. Jeden Tag um 5:30 Uhr holt rauchtest.de das Manifest erneut; scheitert ein Abruf, versucht es rauchtest.de stündlich wieder. Wer das Manifest ändert, ändert damit die Prüfungen – ohne weitere Meldung. Die Prüfungen laufen nach ihrem Zeitplan.

Das Manifest

{
  "$schema": "https://intern.rauchtest.de/anbindung/manifest.schema.json",
  "version": 1,
  "programm": "GMB-Tracker",
  "beschreibung": "Rank-Tracking für Google-Unternehmensprofile",
  "kontakt": "info@alpha-digital.de",
  "pruefungen": [
    {
      "schluessel": "anmeldung",
      "name": "Anmeldeseite lädt",
      "zeitplan": "0 6 * * *",
      "rezept": {
        "start": "https://gmb.alpha-digital.de/anmelden",
        "schritte": [
          { "erwarteSichtbar": "input[type=password]" },
          { "erwarteText": "Anmelden" }
        ]
      }
    }
  ]
}
FeldPflichtBedeutung
versionjaImmer 1.
programmjaName des Programms, höchstens 60 Zeichen. Steht vor jedem Prüfungsnamen, etwa „GMB-Tracker: Anmeldeseite lädt“.
beschreibungneinEin Satz, was das Programm tut, höchstens 300 Zeichen.
kontaktneinWer es betreut, höchstens 200 Zeichen.
pruefungenja1 bis 20 Prüfungen, siehe unten.
$schemaneinVerweis auf das JSON-Schema, damit Editoren beim Schreiben helfen.

Eine Prüfung

FeldPflichtBedeutung
schluesseljaKleinbuchstaben, Ziffern, Bindestrich, höchstens 40 Zeichen, etwa kontaktformular. Stabil halten: Daran erkennt rauchtest.de die Prüfung beim nächsten Abruf wieder, ihr Verlauf bleibt erhalten. Ein neuer Schlüssel ist eine neue Prüfung.
namejaWas geprüft wird, höchstens 80 Zeichen.
zeitplanneinCron-Ausdruck in deutscher Zeit (Europe/Berlin), höchstens stündlich. Fehlt er, läuft die Prüfung täglich um 6 Uhr. null heißt: nur von Hand. Beispiele: "0 6 * * *" täglich 6 Uhr, "0 8 * * 1-5" werktags 8 Uhr, "0 * * * *" stündlich.
aktivneinfalse schaltet die Prüfung ab, ohne sie zu entfernen. Vorgabe: true.
rezeptjaWas der Browser tut, siehe nächster Abschnitt.

Das Rezept: was der Browser tut

Ein Rezept hat eine Einstiegsadresse und eine Liste von Schritten, höchstens 50:

{ "start": "https://…", "captcha": "durchlassen", "schritte": [ … ] }

Die Grundprüfung gilt immer, auch mit leerer Schrittliste. Rot wird eine Prüfung, wenn die Startseite mit einem HTTP-Fehler (ab 400) antwortet oder nicht erreichbar ist, wenn ein Schritt scheitert oder wenn die Seite auf eine Domain außerhalb der eigenen weiterleitet. Als Warnung festgehalten werden JavaScript-Fehler und eigene Dateien, die mit einem Fehler nachladen. Konsolenmeldungen erscheinen als Hinweis.

SchrittWas er tut
{"oeffne": "/preise"}Adresse aufrufen, absolut oder als Pfad.
{"cookieBanner": "ablehnen"}Einwilligungsbanner wegklicken. Bekannte Anbieter und Knöpfe wie „Nur notwendige“ werden erkannt; sonst hilft "selektor": "#ablehnen".
{"fuelle": "E-Mail", "mit": "{{postfach}}"}Feld ausfüllen.
{"waehle": "Anliegen", "mit": "Frage"}Eintrag in einer Auswahlliste wählen.
{"haken": "Datenschutz"}Kontrollkästchen setzen; mit "setzen": false entfernen.
{"klicke": "Absenden"}Schaltfläche oder Link über den sichtbaren Text anklicken.
{"erwarteText": "Vielen Dank"}Dieser Text muss auf der Seite erscheinen.
{"erwarteUrl": "/danke"}Die Adresse muss diesen Text enthalten.
{"erwarteSichtbar": "#erfolg"}Ein Element muss sichtbar werden: CSS-Selektor oder Text.
{"erwarteMail": {"betreffEnthaelt": "Anfrage", "binnenMinuten": 5}}Eine Mail an {{postfach}} muss ankommen, 1 bis 60 Minuten. Nur als letzter Schritt und nur, wenn vorher ein Feld mit {{postfach}} gefüllt wurde.
{"erwarteRaetsel": true}Nur mit "captcha": "raetsel", als letzter Schritt: Das CAPTCHAme-Rätsel muss erscheinen.
{"warte": 1000}Notlösung, höchstens 10 000 ms. Die Erwartungen warten ohnehin selbst, bis zu 15 Sekunden je Schritt.

Wie Felder und Knöpfe gefunden werden

Ziele werden so gesucht, wie ein Mensch sie sieht – über die Beschriftung, nicht über den Seitenaufbau. Dadurch übersteht ein Rezept Umbauten am HTML.

Tipp für Programme: Jedes Feld mit einem echten <label> versehen und Knöpfe eindeutig beschriften. Das hilft rauchtest.de, Screenreadern und Menschen gleichermaßen.

Testdaten

Werte für mit dürfen diese Platzhalter enthalten. Eigene Testdaten gehen auch, aber die Platzhalter kennzeichnen jede Einsendung eindeutig als Test:

{{name}}Rauchtest
{{vorname}} {{nachname}}Rauchtest Automatisch
{{postfach}}lauf-123@rauchtest.de – je Lauf eindeutig; nur darüber lässt sich eine Mail nachweisen
{{nachricht}}„[Rauchtest] Automatischer Funktionstest von rauchtest.de – bitte ignorieren. Lauf 123.“
{{firma}}rauchtest.de
{{telefon}}+49 30 0000000
{{strasse}} {{plz}} {{ort}}Teststraße 1, 10115 Berlin
{{lauf}}die Nummer des Laufs

CAPTCHAme

"captcha": "durchlassen" (Vorgabe): rauchtest.de meldet sich bei CAPTCHAme als angemeldeter Prüfdienst, und CAPTCHAme stellt kein Rätsel – geprüft wird das Formular. Das wirkt nur, wenn im CAPTCHAme-Dashboard beim Projekt „Rauchtests durchlassen“ eingeschaltet ist. "captcha": "raetsel" prüft das Gegenteil: dass ein Automat das Rätsel bekommt (letzter Schritt {"erwarteRaetsel": true}).

Regeln, die rauchtest.de durchsetzt

Das Manifest ist öffentlich. Keine Passwörter, keine Tokens, keine internen Adressen, keine Kundendaten hineinschreiben. Es beschreibt nur, was ohnehin jeder Besucher sehen kann.

Testbesuche erkennen und richtig behandeln

rauchtest.de tarnt sich nie. Ein Testbesuch ist erkennbar an:

So sollten Programme damit umgehen: Eine Testeinsendung durchläuft denselben Weg wie eine echte – sonst prüft der Test nichts. Erst die letzte Wirkung nach außen entfällt oder wird gekennzeichnet: keine Mail an Kunden, kein Auftrag, keine Rechnung, kein CRM-Eintrag, der Arbeit auslöst. Nichts, was sich nicht rückgängig machen lässt. Eine Bestätigungsmail an den Absender darf ruhig raus: Sie landet im Postfach von rauchtest.de und lässt sich mit erwarteMail nachweisen.

Was sich (noch) nicht prüfen lässt

Funktionen hinter einer Anmeldung. rauchtest.de meldet sich derzeit nirgends an und speichert keine Zugangsdaten – ein Passwort gehört auch nicht ins öffentliche Manifest. Prüfbar sind:

Empfehlung: eine Statusseite für das Innere

Programme, deren Wichtigstes hinter der Anmeldung liegt (Verwaltung, Tracker, Kommandozentrale …), prüfen sich am besten selbst und zeigen nur das Ergebnis öffentlich an. Etwa unter /rauchtest-status:

Datenbank: ok
Warteschlange: ok
Letzter Nachtlauf: ok
Google-Schnittstelle: ok
Gesamtzustand: ok

rauchtest.de prüft das mit einem einzigen Schritt, {"erwarteText": "Gesamtzustand: ok"}, und wird rot, sobald dort etwas anderes steht. Dabei gilt:

Geplant: ein Rauchtest-Zugang für Funktionen hinter der Anmeldung, über eine signierte Kopfzeile wie beim CAPTCHAme-Durchlass. Er ist noch nicht verfügbar. Bauen Sie dafür bitte vorerst nichts, sondern nutzen Sie die Statusseite.

Außerdem nicht prüfbar: Adressen im internen Netz (localhost, private Adressbereiche) und Seiten ohne https. Ein Programm muss so erreichbar sein, wie seine Nutzer es erreichen.

Wenn der Betreiber einen Fehler meldet

MeldungUrsache und Abhilfe
„Weiterleitung nach …“Die Datei liegt nicht direkt unter der angemeldeten Adresse, etwa wegen www oder eines abschließenden Schrägstrichs. Der Betreiber meldet die Zieladresse an.
„HTTP 404 statt 200“Die Datei ist nicht ausgeliefert. Manche Server sperren Pfade mit Punkt – in nginx etwa location ~ /\. { deny all; }. Für /.well-known/ eine Ausnahme vorsehen.
„Kein gültiges JSON“Syntaxfehler, oft ein Komma zu viel. Mit dem JSON-Schema im Editor prüfen.
„… liegt nicht unter …“Eine Prüfung zielt auf eine fremde Domain.
„Höchstens alle 60 Minuten …“Der Zeitplan ist zu dicht.
„Prüfung „x“: Schritt 3: …“Ein Rezeptfehler; die Meldung nennt Prüfung und Schritt.
„… zeigt auf eine interne Adresse“Die Domain löst auf eine private Adresse auf.

Scheitert ein Lauf, zeigt rauchtest.de dem Betreiber jeden Schritt, die Befunde, ein Bildschirmfoto und bei Fehlern eine Aufzeichnung des Browsers. Nennen Sie ihm für die Fehlersuche den Namen der Prüfung.

Auftrag zum Kopieren

Für die Entwicklungssitzung eines Programms, etwa einen KI-Assistenten im Projektordner:

Bitte binden Sie dieses Programm an rauchtest.de an. Die Anleitung steht unter
https://intern.rauchtest.de/anbindung, das Schema unter
https://intern.rauchtest.de/anbindung/manifest.schema.json.

1. Bestimmen Sie die 3 bis 8 wichtigsten Funktionen, deren Ausfall sofort
   auffallen muss. Öffentlich Erreichbares prüft rauchtest.de direkt. Für
   Funktionen hinter der Anmeldung bauen Sie eine Statusseite nach dem
   Abschnitt „Statusseite“ (nur ok/gestört, echte Prüfungen,
   zwischengespeichert, nichts verändernd).
2. Schreiben Sie das Manifest und liefern Sie es öffentlich unter
   /.well-known/rauchtest.json aus: Status 200, ohne Weiterleitung, ohne
   Anmeldung. Keine Geheimnisse hinein, Schlüssel stabil halten.
3. Prüfen Sie jedes Rezept gegen die echte Seite: Gibt es die Beschriftungen
   und Knöpfe genau so? Erscheint der erwartete Text wirklich nur bei Erfolg?
4. Sorgen Sie dafür, dass Testeinsendungen (Kennzeichen im Abschnitt
   „Testbesuche erkennen“) denselben Weg nehmen wie echte, am Ende aber
   nichts auslösen, was Arbeit macht oder nicht rückgängig zu machen ist.
5. Liefern Sie aus und nennen Sie dem Betreiber von rauchtest.de die Domain,
   damit er das Programm unter „Programme“ anmeldet. Seine Rückmeldung zeigt,
   ob das Manifest durchgeht.

rauchtest.de – Rauchtests für eigene Programme der Alpha Digitalagentur GmbH. Manifest-Version 1. Stand: 29.09.2026.