Autonome app-walker
De autonome walker verkent een begrensd deel van de UI van een webapplicatie in een beheerde tester VM. Hij legt staten, overgangen, screenshots, console- en netwerkdiagnostiek en gededupliceerde bevindingen vast. Handig voor ontdekking; het is geen bewijs dat elke route of elk gedrag is getest.
Beschikbaarheid: het walker-dataplane, rapporten, geauthenticeerde profielen, begrensde mechanical/AI/hybrid/task-modi, veiligheidscontroles en scenariomining zijn geïmplementeerd. Een walk kan nog steeds gedrag missen door limieten, dynamische UI, ontoegankelijke labels, ontbrekende credentials of model-/parserfouten. Bekijk de dekking voordat u op het resultaat vertrouwt.
Veilig starten
Gebruik een niet-productieomgeving en een dedicated testaccount. Haal een tester VM op en start met het standaard mechanical-beleid:
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 keert meteen terug. Bewaar de walk_id, poll daarna
get_app_walk(walk_id=...); roep stop_app_walk aan als de run eerder moet stoppen.
Verkenningsmodi
| Mode | Gedrag |
|---|---|
mechanical | Begrensde traversatie in DOM-volgorde; geen modelranking |
ai | Een model rangschikt kandidaat-acties en valt terug wanneer de aanroplimiet is bereikt |
hybrid | Modelranking voor de eerste geconfigureerde staten, daarna mechanical-traversatie |
cot | Taakgerichte zoekactie met een beslissingslimiet en optioneel outputschema |
AI- en hybrid-modi vallen terug op mechanical wanneer geen ondersteunde modelbackend beschikbaar is. Taakgerichte modus faalt in plaats daarvan. Door het model gerangschikte acties blijven onderworpen aan hetzelfde origin- en destructive-action-beleid.
Veiligheidscontroles
- Destructieve acties worden standaard overgeslagen.
destructive_allowed=truestaat alleen de bewaakte klasse toe; labels met hoge inzet blijven geblokkeerd tenzij ze expliciet op een allowlist staan.- Taakgerichte modus accepteert nooit
destructive_allowed=true. - Formulierinvulling vermijdt gevoelige velden en blokkeert transactionele submits.
- Navigatie is beperkt tot de origin; taakmodus kan een expliciete begrensde origin-allowlist toevoegen.
- Authenticatieconfiguratie bevat geheime variabelenamen, geen letterlijke credentials. De scenario runner haalt waarden op uit de keystore van de eigenaar.
Een allowlist is een autorisatiebeslissing van de operator. Gebruik smalle letterlijke labels, controleer de doelomgeving en geef de voorkeur aan testdata die weggegooid kan worden.
Het resultaat lezen
Een voltooide walk rapporteert wat daadwerkelijk is waargenomen:
- bezochte UI-staten en overgangen;
- screenshots en vingerafdrukken van interactieve elementen;
- console- en relevante netwerkfouten;
- bevindingen met severity, category, evidence en een deduplicatiesleutel; en
- de geconfigureerde limieten voor state, depth, action, time, model en safety.
completed betekent dat de frontier is uitgeput of een geconfigureerde limiet is bereikt
zonder interne fout. Het betekent niet dat de applicatie is geslaagd. Bekijk blocker- en
major-bevindingen, overgeslagen acties, authenticatiestatus en dekkings totalen.
Geauthenticeerde walks
Geef de voorkeur aan een versleuteld browserprofiel wanneer dat beschikbaar is. De legacy flow met gebruikersnaam/wachtwoord accepteert alleen keystore-variabelenamen. Als aanmelden mislukt of de verwachte content na login ontbreekt, registreert de run een authenticatiefout; interpreteer een walk van de loginpagina niet als dekking van het product.
Ontdekking omzetten in regressietests
Na het beoordelen van een bevinding slaat u een deterministisch app scenario op voor de betrokken flow. Een gemijnd scenario kan weinig vertrouwen hebben tenzij het verificatiecheckpoint is geslaagd; controleer de stappen voordat u het als release gate gebruikt.