Patvirtinimų tipai
Kanonicinė nuoroda patvirtinimams, vykdomiems paruoštoje testinėje VM.
Jei nenurodyta kitaip, tikslas yra primary. Kiekvienam patvirtinimui taip pat reikia žmogui skaitomo lauko description.
Stabilūs svečio patvirtinimai
| Tipas | Privalomi params | Pasirenkamas elgesys |
|---|---|---|
user_exists | username | Vykdo id |
user_password | username | Tikrina, ar yra atrakintos slaptažodžio maišos; nebandys interaktyvaus prisijungimo |
user_in_group | username, group | Tikrinant sudo/admin priima Vyatta administracinius atitikmenis |
file_exists | path | Priima failą ar katalogą |
file_contains | path, pattern arba content | Naudoja grep; reikšmė yra grep šablonas, ne grynai literalus palyginimas |
file_permissions | path, mode | Lygina stat praneštą aštuntainį režimą |
service_running | service | Tikrina systemd active state; žino nedidelį alias rinkinį skirtingoms distribucijoms |
service_enabled | service | Tikrina systemd enablement |
package_installed | package | Tikrina svečio palaikomą paketų tvarkyklės duomenų bazę |
port_listening | port | protocol gali būti tcp arba udp; numatyta TCP |
command_succeeds | command | Išeities kodas turi būti nulis; timeout_seconds/timeout ribojamas iki 1–1 800 sekundžių |
command_output | command ir regex lauke expected_pattern, pattern, expected arba patvirtinimo lygio expected | Derina stdout pagal Python regular-expression semantiką |
network_reachable | host | count numatyta 3; naudoja ICMP ping |
http_responds | url | status numatyta 200 |
Pavyzdys:
{
"type": "command_output",
"description": "Application reports the expected release",
"params": {
"command": "/opt/acme/bin/acme --version",
"expected_pattern": "^acme 2\\.4\\.[0-9]+$"
}
}Komanda ir užfiksuota išvestis gali tapti testo įrodymu. Nededk slaptų duomenų.
GUI patvirtinimai
GUI tikrinimai priklauso nuo veikiančios ekrano sesijos ir runnerio ekrano kopijų ar įvesties pagalbininkų. Jie jautresni aplinkai nei svečio komandų tikrinimai.
| Tipas | Pagrindiniai parametrai | Ką tikrina |
|---|---|---|
gui_application_opens | application (kanoninis); handler taip pat priima paleidimui specifinius variantus | Paleidžia programą ir ieško lango |
gui_window_visible | lango pavadinimo ar atitikimo parametrai, kuriuos naudoja handler | Ieško esamo lango |
gui_execute_command | command | Vykdo darbalaukio komandą; gali padaryti ekrano kopiją |
gui_application_process | process_name | Ieško proceso kaip headless atsarginio varianto |
gui_screenshot_matches | reference_id; pasirenkamas threshold, crop/mask regionai | Lygina dabartinę ekrano kopiją su išsaugota reference |
gui_wallpaper_matches | wallpaper_path; pasirenkami slenkstiai ir regionai | Tikrina sukonfigūruotą darbalaukio fono kelią ir vizualinį rezultatą |
desktop_wallpaper_matches | wallpaper_path | Vykdo griežtesnį desktop wallpaper provenance/configuration/visual tikrinimą |
gui_click_element | x, y | Siunčia koordinatėmis pagrįstą rodyklės įvestį |
gui_form_fill | fields | Užpildo koordinatėmis aprašytus formos laukus |
gui_text_visible | text, contains arba ocr_contains | Naudoja OCR ekrane ar pasirinktame regione |
Vykdytojas taip pat priima suderinamumo alias kai kuriems OCR ir wallpaper tipams. Naujuose recipes naudok kanoninius pavadinimus aukščiau. Koordinačių testai priklauso nuo raiškos; kur įmanoma, naudok OCR arba rezultato tikrinimus.
Benchmark tikrinimai yra atskiras formatas
cis_benchmark yra recepto istoriniame patvirtinimų žodyne, tačiau
įprastas assertion dispatcher neturi cis_benchmark handler. CIS ir
kiti benchmark tikrinimai pateikiami kaip benchmark įrašai su audit_script
ir vykdomi per benchmark runner. Naudok
CIS benchmark darbo eigą, o ne custom assertion su
type: "cis_benchmark".
Rezultato interpretacija
- Trūkstant privalomų duomenų gaunama
error, arba planner gali pašalinti patvirtinimą su įspėjimu prieš vykdymą. - Nepasiekiamas
on_vmtikslas duodaskipped. - Nesutampantis rezultatas duoda
failed. - Tik
passedyra teigiamas įrodymas tam patvirtinimui.
Žr. Custom assertions autorinio rengimo gairėms.