Skip to Content
ReferenceVrste trditev

Vrste trditev

Kanoničen pregled trditev, izvedenih znotraj pripravljenega testnega VM-ja. Če ni navedeno drugače, je cilj primary. Vsaka trditev poleg tega zahteva berljivo polje description.

Stabilne trditve na gostu

TipZahtevani paramsNeobnašno vedenje
user_existsusernameZažene id
user_passwordusernamePreveri, da obstaja odklenjen hash gesla; ne poskuša interaktivne prijave
user_in_groupusername, groupPri preverjanju sudo/admin sprejme administrativne ekvivalente Vyatta
file_existspathSprejme datoteko ali mapo
file_containspath, pattern ali contentUporabi grep; vrednost je vzorec za grep, ne zgolj dobesedna primerjava
file_permissionspath, modePrimerja oktalni način, ki ga poroča stat
service_runningservicePreveri aktivno stanje systemd; pozna majhen nabor vzdevkov med distribucijami
service_enabledservicePreveri omogočitev v systemd
package_installedpackagePreveri podprto bazo upravitelja paketov gosta
port_listeningportprotocol je lahko tcp ali udp; privzeto je TCP
command_succeedscommandIzhodna koda mora biti nič; timeout_seconds/timeout je omejen na 1–1.800 sekund
command_outputcommand plus regex v expected_pattern, pattern, expected ali expected na ravni trditveUjema stdout s semantiko regularnih izrazov Pythona
network_reachablehostcount privzeto 3; uporabi ICMP ping
http_respondsurlstatus privzeto 200

Primer:

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

Ukaz in zajeti izhod lahko postaneta testni dokaz. Ne vgrajujte skrivnosti.

Trditve GUI

Preverjanja GUI so odvisna od delujoče seje zaslona in pomočnikov runnerja za posnetke ali vnos. Občutljivejša so na okolje kot preverjanja ukazov na gostu.

TipGlavni parametriKaj preverja
gui_application_opensapplication (kanonično); handler sprejme tudi možnosti, specifične za zagonZažene aplikacijo in poišče okno
gui_window_visibleparametri naslova okna ali ujemanja, ki jih uporablja handlerPoišče obstoječe okno
gui_execute_commandcommandIzvede ukaz na namizju; lahko zajame posnetek zaslona
gui_application_processprocess_namePoišče proces kot rezervno headless možnost
gui_screenshot_matchesreference_id; neobvezno threshold, območja crop/maskPrimerja trenutni posnetek s shranjeno referenco
gui_wallpaper_matcheswallpaper_path; neobvezni pragovi in območjaPreveri konfigurirano pot ozadja in vizualni rezultat
desktop_wallpaper_matcheswallpaper_pathZažene strožje preverjanje izvora, konfiguracije in videza ozadja namizja
gui_click_elementx, yPošlje vnos kazalca na podlagi koordinat
gui_form_fillfieldsIzpolni vnose obrazca, opisane s koordinatami
gui_text_visibletext, contains ali ocr_containsUporabi OCR na zaslonu ali izbranem območju

Izvajalec sprejme tudi združljivostne vzdevke za nekatere vrste OCR in ozadij. V novih receptih raje uporabite kanonična imena zgoraj. Testi po koordinatah so občutljivi na ločljivost; kjer je mogoče, uporabite OCR ali preverjanje izida.

Preverjanja benchmarkov so ločen format

cis_benchmark se pojavi v zgodovinskem besedišču trditev recepta, vendar običajni razdeljevalnik trditev nima handlerja cis_benchmark. CIS in druga preverjanja benchmarkov se dobavijo kot zapisi benchmarkov z audit_script in jih izvede benchmark runner. Uporabite delovni tok CIS benchmark, ne lastne trditve z type: "cis_benchmark".

Razlaga rezultata

  • Manjkajoči obvezni podatki dajo error, ali pa lahko načrtovalnik trditev pred izvedbo z opozorilom izpusti.
  • Nedosegljiv cilj on_vm da skipped.
  • Neujemanje da failed.
  • Samo passed je potrdilen dokaz za to trditev.

Glejte Custom assertions za navodila pri pisanju.