Aserciju tipi
Kanoniska atsauce asercijām, kas tiek izpildītas sagatavotā testa VM.
Ja nav norādīts citādi, mērķis ir primary. Katrai asercijai ir vajadzīgs arī cilvēkam lasāms lauks description.
Stabilas viesa asercijas
| Tips | Obligātie params | Neobligāta uzvedība |
|---|---|---|
user_exists | username | Palaiž id |
user_password | username | Pārbauda, vai pastāv atbloķēts paroles hash; nemēģina interaktīvu pieteikšanos |
user_in_group | username, group | Pārbaudot sudo/admin, pieņem Vyatta administratīvos ekvivalentus |
file_exists | path | Pieņem failu vai direktoriju |
file_contains | path, pattern vai content | Izmanto grep; vērtība ir grep šablons, ne tikai burtiska salīdzināšana |
file_permissions | path, mode | Salīdzina stat ziņoto oktālo režīmu |
service_running | service | Pārbauda systemd active state; pazīst mazu alias kopu starp distribūcijām |
service_enabled | service | Pārbauda systemd enablement |
package_installed | package | Pārbauda viesa atbalstīto pakotņu pārvaldnieka datubāzi |
port_listening | port | protocol var būt tcp vai udp; noklusējums ir TCP |
command_succeeds | command | Izietes kodam jābūt null; timeout_seconds/timeout ierobežots līdz 1–1 800 sekundēm |
command_output | command un regex laukā expected_pattern, pattern, expected vai asercijas līmeņa expected | Saskaņo stdout ar Python regular-expression semantiku |
network_reachable | host | count noklusējums 3; izmanto ICMP ping |
http_responds | url | status noklusējums 200 |
Piemērs:
{
"type": "command_output",
"description": "Application reports the expected release",
"params": {
"command": "/opt/acme/bin/acme --version",
"expected_pattern": "^acme 2\\.4\\.[0-9]+$"
}
}Komanda un nofiksētā izvade var kļūt par testa pierādījumu. Neievieto noslēpumus.
GUI asercijas
GUI pārbaudes ir atkarīgas no darbojošās displeja sesijas un runner ekrānuzņēmumu vai ievades palīgiem. Tās ir jutīgākas pret vidi nekā viesa komandu pārbaudes.
| Tips | Galvenie parametri | Ko pārbauda |
|---|---|---|
gui_application_opens | application (kanoniskais); handler pieņem arī palaišanai specifiskas opcijas | Palaiž lietotni un meklē logu |
gui_window_visible | loga virsraksta vai saskaņošanas parametri, ko izmanto handler | Meklē esošu logu |
gui_execute_command | command | Izpilda darbvirsmas komandu; var uzņemt ekrānuzņēmumu |
gui_application_process | process_name | Meklē procesu kā headless rezerves variantu |
gui_screenshot_matches | reference_id; neobligāts threshold, crop/mask reģioni | Salīdzina pašreizējo ekrānuzņēmumu ar saglabāto reference |
gui_wallpaper_matches | wallpaper_path; neobligāti sliekšņi un reģioni | Pārbauda konfigurēto fona attēla ceļu un vizuālo rezultātu |
desktop_wallpaper_matches | wallpaper_path | Izpilda stingrāku desktop wallpaper provenance/configuration/visual pārbaudi |
gui_click_element | x, y | Sūta koordinātēm balstītu rādītāja ievadi |
gui_form_fill | fields | Aizpilda ar koordinātēm aprakstītus formas laukus |
gui_text_visible | text, contains vai ocr_contains | Izmanto OCR ekrānā vai izvēlētā reģionā |
Izpildītājs pieņem arī saderības alias dažiem OCR un wallpaper tipiem. Jaunos recipes dod priekšroku kanoniskajiem nosaukumiem augstāk. Koordinātu testi ir atkarīgi no izšķirtspējas; kur iespējams, izmanto OCR vai rezultāta pārbaudes.
Benchmark pārbaudes ir atsevišķs formāts
cis_benchmark ir recepta vēsturiskajā aserciju vārdnīcā, taču
parastajam assertion dispatcher nav cis_benchmark handler. CIS un
citas benchmark pārbaudes tiek piegādātas kā benchmark ieraksti ar audit_script
un tiek izpildītas caur benchmark runner. Izmanto
CIS benchmark darbplūsmu, nevis custom assertion ar
type: "cis_benchmark".
Rezultāta interpretācija
- Trūkstošie obligātie dati dod
error, vai planner var atmest aserciju ar brīdinājumu pirms izpildes. - Nepieejams
on_vmmērķis dodskipped. - Nesakrītošs rezultāts dod
failed. - Tikai
passedir apstiprinošs pierādījums šai asercijai.
Skatīt Custom assertions norādījumiem autorēšanā.