Skip to Content
ReferenceAssertion-Typen

Assertion-Typen

Kanonische Referenz für Assertions, die innerhalb einer provisionierten Test-VM ausgeführt werden. Sofern nicht anders angegeben, ist das Ziel primary. Jede Assertion braucht außerdem eine lesbare description.

Stabile Gast-Assertions

TypErforderliche paramsOptionales Verhalten
user_existsusernameFührt id aus
user_passwordusernamePrüft, dass ein entsperrter Passwort-Hash existiert; kein interaktiver Login
user_in_groupusername, groupAkzeptiert Vyatta-Admin-Äquivalente bei sudo/admin
file_existspathAkzeptiert Datei oder Verzeichnis
file_containspath, pattern oder contentNutzt grep; der Wert ist ein grep-Pattern, kein reiner Literalvergleich
file_permissionspath, modeVergleicht den von stat gemeldeten Oktal-Mode
service_runningservicePrüft systemd active state; kennt kleines Cross-Distro-Alias-Set
service_enabledservicePrüft systemd enablement
package_installedpackagePrüft die unterstützte Package-Manager-Datenbank des Gasts
port_listeningportprotocol kann tcp oder udp sein; Default ist TCP
command_succeedscommandExit-Code muss null sein; timeout_seconds/timeout ist auf 1–1.800 Sekunden begrenzt
command_outputcommand plus Regex in expected_pattern, pattern, expected oder assertion-level expectedMatcht stdout mit Python-Regular-Expression-Semantik
network_reachablehostcount default 3; nutzt ICMP ping
http_respondsurlstatus default 200

Beispiel:

{ "type": "command_output", "description": "Application reports the expected release", "params": { "command": "/opt/acme/bin/acme --version", "expected_pattern": "^acme 2\\.4\\.[0-9]+$" } }

Befehl und erfasste Ausgabe können Test-Evidenz werden. Keine Geheimnisse einbetten.

GUI-Assertions

GUI-Checks hängen von funktionierender Display-Session und Screenshot-/Input-Helfern des Runners ab. Sie sind umgebungssensitiver als Gast-Befehls-Checks.

TypHauptparameterWas geprüft wird
gui_application_opensapplication (kanonisch); Handler akzeptiert launch-spezifische OptionenStartet Anwendung und sucht Fenster
gui_window_visibleFenstertitel- oder Match-Parameter des HandlersSucht bestehendes Fenster
gui_execute_commandcommandFührt Desktop-Befehl aus; kann Screenshot erfassen
gui_application_processprocess_nameSucht Prozess als headless Fallback
gui_screenshot_matchesreference_id; optional threshold, Crop/Mask-RegionenVergleicht aktuellen Screenshot mit gespeicherter Referenz
gui_wallpaper_matcheswallpaper_path; optional Thresholds und RegionenPrüft konfigurierten Wallpaper-Pfad und visuelles Ergebnis
desktop_wallpaper_matcheswallpaper_pathStrengere Desktop-Wallpaper-Provenienz/Konfiguration/Visuell-Prüfung
gui_click_elementx, ySendet koordinatenbasierten Pointer-Input
gui_form_fillfieldsFüllt koordinatenbeschriebene Formular-Inputs
gui_text_visibletext, contains oder ocr_containsNutzt OCR auf Bildschirm oder ausgewählter Region

Der Executor akzeptiert Kompatibilitäts-Aliase für manche OCR- und Wallpaper-Typen. Bevorzugen Sie in neuen Rezepten die kanonischen Namen oben. Koordinaten-Tests sind auflösungssensitiv; nutzen Sie OCR oder Outcome-Checks wo möglich.

Benchmark-Checks sind ein separates Format

cis_benchmark erscheint im historischen Assertion-Vokabular des Rezepts, aber der gewöhnliche Assertion-Dispatcher hat keinen cis_benchmark-Handler. CIS und andere Benchmark-Checks kommen als Benchmark-Records mit audit_script und laufen über den Benchmark-Runner. Nutzen Sie den CIS-Benchmark-Workflow, nicht eine Custom Assertion mit type: "cis_benchmark".

Ergebnisinterpretation

  • Fehlende Pflichtdaten ergeben error, oder der Planner droppt die Assertion mit Warnung vor Ausführung.
  • Nicht verfügbares on_vm-Target ergibt skipped.
  • Nicht passendes Ergebnis ergibt failed.
  • Nur passed ist affirmativer Nachweis für diese Assertion.

Siehe Eigene Assertions für Authoring-Hinweise.