QA Agent — Strands Agents + AgentCore Browser + Langfuse
Demo de QA automático con agentes: un agente construido con Strands Agents SDK
ejecuta casos de prueba escritos en Gherkin contra un sitio real, usando el
browser gestionado de Amazon Bedrock AgentCore.
Cada escenario corre en paralelo en su propia sesión de browser en la nube, y toda la
ejecución queda trazada en Langfuse vía OpenTelemetry.
Gherkin (.feature) ──► Runner (asyncio, N en paralelo)
│ un agente Strands por escenario
▼
AgentCore Browser (Chrome gestionado en AWS)
│ navega, hace clic, lee la página
▼
Veredicto estructurado (PASS/FAIL + evidencia)
│
▼ trazas OTel
Reporte en consola ──► Langfuse
Requisitos
- Python 3.12+ y uv
- Credenciales AWS configuradas (
aws sts get-caller-identity) con permisos
bedrock-agentcore:*BrowserSession* y bedrock:InvokeModel*
- Model access a Claude habilitado en la consola de Bedrock
- Cuenta en Langfuse Cloud (gratis) con API keys del proyecto
Setup
uv sync
cp .env.example .env # y llena las keys de Langfuse
Uso
# Listar escenarios del feature
uv run qa-agent features/tuasistente.feature --list
# Ver los prompts sin llamar al agente
uv run qa-agent features/tuasistente.feature --dry-run
# Correr UN escenario
uv run qa-agent features/tuasistente.feature -s "La home carga con la propuesta de valor"
# Correr TODOS en paralelo (3 sesiones de browser concurrentes por defecto)
uv run qa-agent features/tuasistente.feature
# Subir la concurrencia
uv run qa-agent features/tuasistente.feature --parallel 5
Exit code 0 si todo pasó, 1 si hubo fallos — listo para CI.
Webapp con Live View
La demo también se puede ejecutar desde una interfaz local que recibe el feature Gherkin y
muestra una tarjeta por escenario con el navegador de AgentCore en vivo:
# Terminal 1: API que lanza los agentes
uv run qa-agent-web
# Terminal 2, sólo para desarrollar la interfaz (abre http: