Skip to Content
ReferenceTipuri de aserțiuni

Tipuri de aserțiuni

Referință canonică pentru aserțiunile executate într-un VM de test provisionat. Dacă nu se precizează altfel, ținta este primary. Fiecare aserțiune necesită și un câmp description lizibil.

Aserțiuni stabile pe oaspete

Tipparams obligatoriiComportament opțional
user_existsusernameRulează id
user_passwordusernameVerifică că există un hash de parolă deblocat; nu încearcă autentificare interactivă
user_in_groupusername, groupAcceptă echivalente administrative Vyatta la verificarea sudo/admin
file_existspathAcceptă fișier sau director
file_containspath, pattern sau contentFolosește grep; valoarea este un model grep, nu o comparație doar literală
file_permissionspath, modeCompară modul octal raportat de stat
service_runningserviceVerifică starea active systemd; cunoaște un set mic de aliasuri între distribuții
service_enabledserviceVerifică activarea în systemd
package_installedpackageVerifică baza de date a managerului de pachete suportată de oaspete
port_listeningportprotocol poate fi tcp sau udp; implicit este TCP
command_succeedscommandCodul de ieșire trebuie să fie zero; timeout_seconds/timeout este limitat la 1–1.800 secunde
command_outputcommand plus regex în expected_pattern, pattern, expected sau expected la nivel de aserțiunePotrivește stdout cu semantica expresiilor regulate Python
network_reachablehostcount implicit 3; folosește ping ICMP
http_respondsurlstatus implicit 200

Exemplu:

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

Comanda și ieșirea capturată pot deveni dovezi de test. Nu înglobați secrete.

Aserțiuni GUI

Verificările GUI depind de o sesiune de afișare funcțională și de helperii runnerului pentru capturi de ecran sau intrare. Sunt mai sensibile la mediu decât verificările de comenzi pe oaspete.

TipParametri principaliCe verifică
gui_application_opensapplication (canonic); handlerul acceptă și opțiuni specifice lansăriiPornește aplicația și caută o fereastră
gui_window_visibleparametri de titlu de fereastră sau potrivire folosiți de handlerCaută o fereastră existentă
gui_execute_commandcommandExecută o comandă pe desktop; poate captura o captură de ecran
gui_application_processprocess_nameCaută procesul ca variantă headless de rezervă
gui_screenshot_matchesreference_id; opțional threshold, regiuni crop/maskCompară captura curentă cu referința stocată
gui_wallpaper_matcheswallpaper_path; praguri și regiuni opționaleVerifică calea de fundal configurată și rezultatul vizual
desktop_wallpaper_matcheswallpaper_pathRulează verificarea mai strictă a provenienței, configurației și aspectului fundalului desktop
gui_click_elementx, yTrimite intrare de pointer pe bază de coordonate
gui_form_fillfieldsCompletează câmpuri de formular descrise prin coordonate
gui_text_visibletext, contains sau ocr_containsFolosește OCR pe ecran sau pe o regiune selectată

Executorul acceptă și aliasuri de compatibilitate pentru unele tipuri OCR și fundal. În rețete noi, preferați numele canonice de mai sus. Testele pe coordonate depind de rezoluție; unde se poate, folosiți OCR sau verificări de rezultat.

Verificările de benchmark sunt un format separat

cis_benchmark apare în vocabularul istoric de aserțiuni al rețetei, dar dispecerul obișnuit de aserțiuni nu are handler cis_benchmark. CIS și alte verificări de benchmark sunt furnizate ca înregistrări benchmark cu audit_script și rulează prin benchmark runner. Folosiți fluxul de lucru CIS benchmark, nu o aserțiune personalizată cu type: "cis_benchmark".

Interpretarea rezultatului

  • Datele obligatorii lipsă dau error, sau planificatorul poate elimina aserțiunea cu avertisment înainte de execuție.
  • Ținta on_vm indisponibilă dă skipped.
  • Rezultatul nepotrivit dă failed.
  • Doar passed este dovadă afirmativă pentru acea aserțiune.

Consultați Custom assertions pentru îndrumări la scriere.