Skip to Content
ReferenceTipi asserzione

Tipi asserzione

Riferimento canonico per asserzioni eseguite dentro una VM test provisionata. Salvo diversa indicazione, il target è primary. Ogni asserzione richiede anche una description leggibile.

Asserzioni guest stabili

Tipoparams richiestiComportamento opzionale
user_existsusernameEsegue id
user_passwordusernameVerifica che esista un hash password sbloccato; non tenta login interattivo
user_in_groupusername, groupAccetta equivalenti amministrativi Vyatta quando controlla sudo/admin
file_existspathAccetta file o directory
file_containspath, pattern o contentUsa grep; il valore è un pattern grep, non solo confronto letterale
file_permissionspath, modeConfronta mode ottale riportata da stat
service_runningserviceControlla stato active systemd; conosce un piccolo set alias cross-distro
service_enabledserviceControlla abilitazione systemd
package_installedpackageControlla database package manager supportato del guest
port_listeningportprotocol può essere tcp o udp; default TCP
command_succeedscommandExit code deve essere zero; timeout_seconds/timeout è limitato a 1–1.800 secondi
command_outputcommand più regex in expected_pattern, pattern, expected o expected a livello asserzioneAbbina stdout con semantica regex Python
network_reachablehostcount default 3; usa ping ICMP
http_respondsurlstatus default 200

Esempio:

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

Comando e output catturato possono diventare evidenza test. Non incorporare segreti.

Asserzioni GUI

Controlli GUI dipendono da sessione display funzionante e helper screenshot o input del runner. Sono più sensibili all’ambiente dei controlli comando guest.

TipoParametri principaliCosa controlla
gui_application_opensapplication (canonico); handler accetta anche opzioni launch-specificheAvvia applicazione e cerca finestra
gui_window_visibletitolo finestra o parametri matching usati dall’handlerCerca finestra esistente
gui_execute_commandcommandEsegue comando desktop; può catturare screenshot
gui_application_processprocess_nameCerca processo come fallback headless
gui_screenshot_matchesreference_id; opzionali threshold, regioni crop/maskConfronta screenshot corrente con riferimento memorizzato
gui_wallpaper_matcheswallpaper_path; soglie e regioni opzionaliControlla path wallpaper configurato e risultato visivo
desktop_wallpaper_matcheswallpaper_pathEsegue controllo provenienza/configurazione/visivo wallpaper desktop più stretto
gui_click_elementx, yInvia input puntatore basato su coordinate
gui_form_fillfieldsCompila input form descritti per coordinate
gui_text_visibletext, contains o ocr_containsUsa OCR su schermo o regione selezionata

L’executor accetta anche alias compatibilità per alcuni tipi OCR e wallpaper. Preferisci i nomi canonici sopra nelle nuove ricette. Test coordinate sono sensibili alla risoluzione; usa OCR o controlli esito dove possibile.

I controlli benchmark sono un formato separato

cis_benchmark compare nel vocabolario asserzione storico della ricetta, ma il dispatcher asserzione ordinario non ha handler cis_benchmark. Controlli CIS e altri benchmark sono forniti come record benchmark con audit_script ed eseguiti tramite runner benchmark. Usa il workflow benchmark CIS, non asserzione custom con type: "cis_benchmark".

Interpretazione risultato

  • Dati richiesti mancanti producono error, o il planner può scartare l’asserzione con warning prima dell’esecuzione.
  • Target on_vm non disponibile produce skipped.
  • Risultato non corrispondente produce failed.
  • Solo passed è evidenza affermativa per quella asserzione.

Vedi Asserzioni personalizzate per guida authoring.