Files
pj af7b7e27b0 feat(folio-web): web sample app + CDP spec tests (#36)
* fix(runner): allow nil connection for web platform

* fix(testrun): skip SDK handshake for web platform

* feat(folio-web): add React/Vite web sample app

* feat(folio-web): add sanderling spec

* fix(chrome): use InsertText for multi-char text input

* feat(hierarchy): add Screen field populated from sanderling-screen attr

* fix(chrome): auto-detect viewport from CSS vars, fix InputText accumulation, expose route as screen

* fix(runner): fall back to hierarchy root screen when snapshot screen is empty

* fix(folio-web): broaden loggedIn extractor to all authenticated pages
2026-04-22 23:59:30 +07:00

30 lines
928 B
Makefile

set shell := ["bash", "-cu"]
sanderling := env_var_or_default("SANDERLING", "sanderling")
duration := env_var_or_default("DURATION", "1m")
seed := env_var_or_default("SEED", "0")
output := env_var_or_default("OUTPUT", justfile_directory() / "sanderling" / "runs")
port := env_var_or_default("PORT", "5173")
default:
@just --list
# Run sanderling property tests against the folio web app.
test:
#!/usr/bin/env bash
set -euo pipefail
bun run dev --port {{port}} &
DEV_PID=$!
trap "kill $DEV_PID 2>/dev/null || true" EXIT
for i in $(seq 1 30); do
curl -sf "http://localhost:{{port}}" > /dev/null && break
sleep 1
done
"{{sanderling}}" test \
--spec "{{justfile_directory()}}/sanderling/spec.ts" \
--bundle-id "http://localhost:{{port}}" \
--platform web \
--duration "{{duration}}" \
--seed "{{seed}}" \
--output "{{output}}"