diff --git a/test_sketches/README.md b/test_sketches/README.md index 5d25890..7424bd4 100644 --- a/test_sketches/README.md +++ b/test_sketches/README.md @@ -343,6 +343,68 @@ pio device monitor -e test-mqtt --- +## Test 7.7 - WebServer (`test_web_server.cpp`) + +### Zweck +Alle HTTP-Routen des `WebServerManager` im Browser pruefen: Statusseite, Konfigurationsformular (NVS), Gesamtzeit-Reset und ElegantOTA. + +### Flash & Monitor +```bash +pio run -e test-web --target upload +pio device monitor -e test-web +``` + +### Vorbereitung +IP-Adresse aus dem Serial Monitor ablesen (erscheint nach WiFi-Connect): +``` +[I][TEST-WEB] Browser: http://192.168.x.x/ +``` + +### Testablauf + +**A) Statusseite `GET /`:** +1. Browser oeffnen: `http:///` +2. Folgende Felder pruefen: + - Session-Minuten, Gesamtzeit, letzter Burst + - IP-Adresse und MQTT-Status (verbunden/getrennt) + - Broker-Hostname und Gratiszeit +3. Seite aktualisiert sich automatisch alle 10 s +4. GPIO 4 Taste betaetigen -> Session-Minuten aendern sich + +**B) Konfigurationsformular `GET /config` + `POST /config`:** +1. Browser: `http:///config` +2. Felder pruefen: Broker, Port, User, Passwort, Gratiszeit-Slider, Polaritaet-Radio +3. Gratiszeit auf z.B. 30 s aendern und "Speichern" klicken +4. Serial: `[WebServer] Konfiguration gespeichert` +5. ESP32 neu starten -> Serial zeigt `gratisSeconds: 30` -> NVS-Persistenz bestaetigt +6. Config-Seite: Wert auf 20 s zuruecksetzen + +**C) Gesamtzeit-Reset `POST /reset`:** +1. Auf Statusseite: Button "Gesamtzeit loeschen" klicken +2. Browser-Bestaetigung (`confirm`-Dialog) bestaetigen +3. Statusseite zeigt `Gesamtzeit: 0.00 min` +4. Serial: `[WebServer] Gesamtzeit zurueckgesetzt` + +**D) ElegantOTA `GET /update`:** +1. Browser: `http:///update` +2. ElegantOTA-Seite erscheint +3. (Optional) Test-Firmware hochladen und Neustart beobachten + +### Checkliste + +| Pruefpunkt | Erwartung | Ergebnis | +|---|---|---| +| Statusseite erreichbar | HTML mit Session, Gesamtzeit, IP | [ ] | +| MQTT-Status korrekt | "verbunden" oder "getrennt" | [ ] | +| Auto-Reload alle 10 s | Seite aktualisiert sich | [ ] | +| Config-Formular laden | Aktuelle NVS-Werte vorbelegt | [ ] | +| Gratiszeit aendern + speichern | NVS-Wert nach Neustart korrekt | [ ] | +| Polaritaet aendern + speichern | NVS-Wert nach Neustart korrekt | [ ] | +| Gesamtzeit-Reset per Browser | `total_min` = 0.00 auf Statusseite | [ ] | +| `/update` erreichbar | ElegantOTA-Seite erscheint | [ ] | + +--- + ## Gesamt-Testergebnisse | Test | Environment | Status | Anmerkung |