Skip to Content
ReferenceVrste asercija

Vrste asercija

Kanonski pregled asercija izvršenih unutar pripremljenog testnog VM-a. Ako nije drugačije navedeno, cilj je primary. Svaka asercija također zahtijeva čitljivo polje description.

Stabilne asercije na gostu

TipObavezni paramsNeobavezno ponašanje
user_existsusernamePokreće id
user_passwordusernameProvjerava postoji li otključani hash lozinke; ne pokušava interaktivnu prijavu
user_in_groupusername, groupPri provjeri sudo/admin prihvaća administrativne ekvivalente Vyatta
file_existspathPrihvaća datoteku ili direktorij
file_containspath, pattern ili contentKoristi grep; vrijednost je grep uzorak, ne usporedba samo doslovnog teksta
file_permissionspath, modeUspoređuje oktalni način koji prijavi stat
service_runningserviceProvjerava aktivno stanje systemd; poznaje mali skup aliasa među distribucijama
service_enabledserviceProvjerava omogućenje u systemd
package_installedpackageProvjerava podržanu bazu upravitelja paketa gosta
port_listeningportprotocol može biti tcp ili udp; zadano je TCP
command_succeedscommandIzlazni kod mora biti nula; timeout_seconds/timeout ograničen je na 1–1.800 sekundi
command_outputcommand plus regex u expected_pattern, pattern, expected ili expected na razini asercijeUspoređuje stdout sa semantikom regularnih izraza Pythona
network_reachablehostcount zadano 3; koristi ICMP ping
http_respondsurlstatus zadano 200

Primjer:

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

Naredba i uhvaćeni izlaz mogu postati testni dokaz. Ne ugrađujte tajne.

GUI asercije

GUI provjere ovise o radnoj sesiji zaslona i pomoćnicima runnera za snimke zaslona ili unos. Osjetljivije su na okoliš nego provjere naredbi na gostu.

TipGlavni parametriŠto provjerava
gui_application_opensapplication (kanonski); handler prihvaća i opcije specifične za pokretanjePokreće aplikaciju i traži prozor
gui_window_visibleparametri naslova prozora ili podudaranja koje koristi handlerTraži postojeći prozor
gui_execute_commandcommandIzvršava naredbu na radnoj površini; može snimiti zaslon
gui_application_processprocess_nameTraži proces kao rezervnu headless varijantu
gui_screenshot_matchesreference_id; neobavezno threshold, regije crop/maskUspoređuje trenutačni snimak sa spremljenom referencom
gui_wallpaper_matcheswallpaper_path; neobavezni pragovi i regijeProvjerava konfiguriranu putanju pozadine i vizualni rezultat
desktop_wallpaper_matcheswallpaper_pathPokreće strožu provjeru porijekla, konfiguracije i izgleda pozadine radne površine
gui_click_elementx, yŠalje unos pokazivača prema koordinatama
gui_form_fillfieldsIspunjava unose obrasca opisane koordinatama
gui_text_visibletext, contains ili ocr_containsKoristi OCR na zaslonu ili odabranoj regiji

Izvršitelj također prihvaća aliasa kompatibilnosti za neke vrste OCR-a i pozadina. U novim receptima preferirajte kanonska imena gore. Testovi po koordinatama ovise o razlučivosti; gdje je moguće, koristite OCR ili provjere ishoda.

Provjere benchmarka su zaseban format

cis_benchmark pojavljuje se u povijesnom rječniku asercija recepta, ali obični dispečer asercija nema handler cis_benchmark. CIS i druge provjere benchmarka dolaze kao zapisi benchmarka s audit_script i izvršava ih benchmark runner. Koristite CIS benchmark tijek rada, a ne prilagođenu aserciju s type: "cis_benchmark".

Tumačenje rezultata

  • Nedostajući obavezni podaci daju error, ili planer može aserciju prije izvršenja s upozorenjem izostaviti.
  • Nedostupan cilj on_vm daje skipped.
  • Nepodudaranje daje failed.
  • Samo passed je potvrđujući dokaz za tu aserciju.

Pogledajte Custom assertions za smjernice pri pisanju.