b6167bcb-7363-4695-9481-addd81de4367

This commit is contained in:
Z User committed 2026-10-26 13:40:52 +00:00
1 parent fdc3b82d10
commit d226dabba3
136 files changed
+13904 -2

No files matched your search

Executable
+132
View File
@@ -0,0 +1,132 @@
#!/usr/bin/env bash
# AOS all-in-one verification: start server, verify, cleanup.
set -u
cd /home/z/my-project
BASE=http://127.0.0.1:3000
SHOTS=/home/z/my-project/aos-shots
mkdir -p "$SHOTS"
echo "=== Starting dev server (output -> dev.log) ==="
pkill -f "next dev" 2>/dev/null
sleep 1
bun run dev > dev.log 2>&1 &
SRV=$!
echo " server pid $SRV"
echo "=== Waiting for server ready ==="
ok=0
for i in $(seq 1 90); do
if curl -s -o /dev/null -w "%{http_code}" "$BASE/" 2>/dev/null | grep -q 200; then ok=1; break; fi
sleep 1
done
if [ "$ok" != "1" ]; then
echo "SERVER NOT READY after ${i}s"
echo "--- dev.log tail ---"
tail -30 dev.log
kill $SRV 2>/dev/null
exit 1
fi
echo " server ready after ${i}s"
sleep 2
echo ""
echo "=== API smoke tests ==="
for ep in dashboard crm leads projects licenses finance modules audit; do
code=$(curl -s -o /dev/null -w "%{http_code}" "$BASE/api/aos/$ep")
echo " /api/aos/$ep -> $code"
done
echo ""
echo "=== Agent Browser: open dashboard ==="
agent-browser open "$BASE/" >/dev/null 2>&1
agent-browser wait --load networkidle >/dev/null 2>&1 || true
agent-browser wait 2000 >/dev/null 2>&1
agent-browser screenshot --full "$SHOTS/01-dashboard.png" >/dev/null 2>&1 && echo " shot 01-dashboard OK" || echo " shot 01 FAILED"
echo ""
echo "=== Snapshot interactive (first 30 lines) ==="
agent-browser snapshot -i 2>&1 | head -30
echo ""
echo "=== Page errors so far ==="
agent-browser errors 2>&1 | head -15
echo ""
echo "=== Navigate: CRM ==="
agent-browser find text "CRM" click >/dev/null 2>&1
agent-browser wait 2500 >/dev/null 2>&1
agent-browser screenshot --full "$SHOTS/02-crm.png" >/dev/null 2>&1 && echo " shot 02-crm OK" || echo " shot 02 FAILED"
echo "=== Navigate: Leads Finder ==="
agent-browser find text "Leads Finder" click >/dev/null 2>&1
agent-browser wait 2500 >/dev/null 2>&1
agent-browser screenshot --full "$SHOTS/03-leads.png" >/dev/null 2>&1 && echo " shot 03-leads OK" || echo " shot 03 FAILED"
echo "=== Navigate: Projekte ==="
agent-browser find text "Projekte" click >/dev/null 2>&1
agent-browser wait 2500 >/dev/null 2>&1
agent-browser screenshot --full "$SHOTS/04-projects.png" >/dev/null 2>&1 && echo " shot 04-projects OK" || echo " shot 04 FAILED"
echo "=== Navigate: Lizenzen ==="
agent-browser find text "Lizenzen" click >/dev/null 2>&1
agent-browser wait 2500 >/dev/null 2>&1
agent-browser screenshot --full "$SHOTS/05-licenses.png" >/dev/null 2>&1 && echo " shot 05-licenses OK" || echo " shot 05 FAILED"
echo "=== Navigate: Finanzen ==="
agent-browser find text "Finanzen" click >/dev/null 2>&1
agent-browser wait 2500 >/dev/null 2>&1
agent-browser screenshot --full "$SHOTS/06-finance.png" >/dev/null 2>&1 && echo " shot 06-finance OK" || echo " shot 06 FAILED"
echo "=== Navigate: Erweiterungen ==="
agent-browser find text "Erweiterungen" click >/dev/null 2>&1
agent-browser wait 2500 >/dev/null 2>&1
agent-browser screenshot --full "$SHOTS/07-settings.png" >/dev/null 2>&1 && echo " shot 07-settings OK" || echo " shot 07 FAILED"
echo ""
echo "=== Interactivity: Leads -> select first lead -> Erzeugen (AI) ==="
agent-browser find text "Leads Finder" click >/dev/null 2>&1
agent-browser wait 2000 >/dev/null 2>&1
# click first lead card in the list
agent-browser eval "document.querySelector('button[class*=border]')?.click()" >/dev/null 2>&1
agent-browser wait 1500 >/dev/null 2>&1
# click the Erzeugen button if present
agent-browser find text "Erzeugen" click 2>&1 | head -3
agent-browser wait 10000 >/dev/null 2>&1
agent-browser screenshot --full "$SHOTS/08-lead-explain.png" >/dev/null 2>&1 && echo " shot 08-explain OK" || echo " shot 08 FAILED"
echo ""
echo "=== Final error check ==="
echo "--- page errors ---"
agent-browser errors 2>&1 | head -15
echo "--- console (last 8) ---"
agent-browser console 2>&1 | tail -8
echo ""
echo "=== Sticky footer check (dashboard) ==="
agent-browser find text "Dashboard" click >/dev/null 2>&1
agent-browser wait 1500 >/dev/null 2>&1
agent-browser eval "JSON.stringify({vh: window.innerHeight, bodyH: document.body.scrollHeight, footer: document.querySelector('footer') ? document.querySelector('footer').getBoundingClientRect().top : -1})" 2>&1 | tail -2
echo ""
echo "=== Mobile viewport check ==="
agent-browser set viewport 390 844 >/dev/null 2>&1
agent-browser wait 1000 >/dev/null 2>&1
agent-browser screenshot --full "$SHOTS/09-mobile-dashboard.png" >/dev/null 2>&1 && echo " shot 09-mobile OK" || echo " shot 09 FAILED"
agent-browser find text "CRM" click >/dev/null 2>&1
agent-browser wait 1500 >/dev/null 2>&1
agent-browser screenshot --full "$SHOTS/10-mobile-crm.png" >/dev/null 2>&1 && echo " shot 10-mobile-crm OK" || echo " shot 10 FAILED"
# reset viewport
agent-browser set viewport 1440 900 >/dev/null 2>&1
echo ""
echo "=== Cleanup ==="
agent-browser close >/dev/null 2>&1
kill $SRV 2>/dev/null
sleep 1
echo "=== dev.log tail (last 20) ==="
tail -20 dev.log
echo ""
echo "=== Screenshots ==="
ls -la "$SHOTS" 2>/dev/null | tail -15
echo ""
echo "=== VERIFICATION COMPLETE ==="