Walker autônomo de app
Walker autônomo explora porção limitada da UI de aplicativo web em VM tester gerenciada. Registra estados, transições, screenshots, diagnósticos de console e rede e findings deduplicados. É útil para descoberta; não prova que toda rota ou comportamento foi testado.
Disponibilidade: plano de dados do walker, relatórios, perfis autenticados, modos mechanical/AI/hybrid/task limitados, controles de segurança e scenario mining estão implementados. Walk ainda pode perder comportamento por limites, UI dinâmica, labels inacessíveis, credenciais indisponíveis ou erro de model/parser. Revise cobertura antes de confiar no resultado.
Iniciar com segurança
Use ambiente não produção e conta de teste dedicada. Obtenha VM tester e inicie com política mechanical default:
ensure_tester_vm(app="my-app", app_url="https://staging.example.com")
walk_app(
app_name="my-app",
app_url="https://staging.example.com",
vm_name="<tester-vm>",
max_states=40,
max_depth=5,
max_wall_seconds=600,
destructive_allowed=false
)walk_app retorna imediatamente. Guarde walk_id, depois faça poll get_app_walk(walk_id=...); chame stop_app_walk se run deve terminar cedo.
Modos de exploração
| Mode | Behavior |
|---|---|
mechanical | Bounded DOM-order traversal; no model ranking |
ai | A model ranks candidate actions, then falls back when its call cap is reached |
hybrid | Model ranking for the first configured states, then mechanical traversal |
cot | Task-directed search with a decision cap and optional output schema |
Modos AI e hybrid fazem fallback para mechanical quando backend de model suportado não está disponível. Modo task-directed falha em vez disso. Ações ranqueadas por model permanecem sujeitas à mesma política de origem e ação destrutiva.
Controles de segurança
- Ações destrutivas são skipped por default.
destructive_allowed=truepermite só classe guarded; labels high-stakes permanecem bloqueados salvo allowlist explícita.- Modo task-directed nunca aceita
destructive_allowed=true. - Preenchimento de form evita campos sensíveis e bloqueia submits transacionais.
- Navegação é origin-limited; modo task pode adicionar allowlist de origem limitada explícita.
- Configuração de autenticação contém nomes de variáveis secretas, não credenciais literais. Runner de cenário resolve valores do keystore do owner.
Allowlist é decisão de autorização de operador. Use labels literais estreitos, revise ambiente alvo e prefira dados de teste descartáveis.
Ler o resultado
Walk concluído reporta o que de fato observou:
- estados e transições de UI visitados;
- screenshots e fingerprints de elementos interativos;
- erros de console e rede significativos;
- findings com severity, category, evidence e deduplication key; e
- limites configurados de state, depth, action, time, model e safety.
completed significa que frontier terminou ou limite configurado foi atingido sem erro interno. Não significa que aplicativo passou. Revise findings blocker e major, ações skipped, status de autenticação e totais de cobertura.
Walks autenticados
Prefira perfil de navegador criptografado quando disponível. Fluxo legado username/password aceita só nomes de variáveis keystore. Se sign-in falha ou conteúdo pós-login esperado está ausente, run registra falha de autenticação; não interprete walk da página de login como cobertura do produto.
Transformar descoberta em testes de regressão
Depois de revisar finding, salve cenário de app determinístico para fluxo afetado. Cenário mined pode ser low-confidence salvo checkpoint de verificação passed; inspecione steps antes de adotar como gate de release.