Skip to Content
Reference斷言類型

斷言類型

在配置的測試虛擬機器內執行的斷言的規範參考。 除非另有说明,目标是 primary。每個斷言還需要人類 可读description

穩定的訪客斷言

类型必需 params可选行为
user_existsusername運行 id
user_passwordusername驗證是否存在未鎖定的密碼雜湊值;它不會嘗試互動式登入
user_in_groupusernamegroup檢查 sudo/admin 時接受 Vyatta 管理等值
file_existspath接受文件或目錄
file_containspathpatterncontent使用grep;該值是一個 grep 模式,而非純文字比較
file_permissionspathmode比較 stat 報告的八進位模式
service_runningservice檢查 systemd 活動狀態;知道一個小的跨發行版別名集
service_enabledservice檢查 systemd 啟用
package_installedpackage檢查來賓支援的套件管理器資料庫
port_listeningportprotocol 可以是 tcpudp;預設為 TCP
command_succeedscommand退出代碼必須為零; timeout_seconds/timeout 被限制在 1–1,800 秒
command_outputcommand 加上 expected_patternpatternexpected 或斷言層級 expected 中的正規表示式將 stdout 與 Python 正規表示式語意相符
network_reachablehostcount 預設為 3;使用 ICMP ping
http_respondsurlstatus 預設為 200

範例:

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

命令和捕獲的輸出可以成為測試證據。不要嵌入秘密。

GUI 斷言

GUI 檢查取決於工作顯示會話和跑步者的螢幕截圖或 輸入助手。它們比來賓命令檢查對環境更加敏感。

主要參數它檢查什麼
gui_application_opensapplication(規範);處理程序也接受特定於啟動的選項啟動應用程式並尋找視窗
gui_window_visiblewindow-title 或處理程序使用的匹配參數
gui_execute_commandcommand執行桌面指令;可以截圖
gui_application_processprocess_name尋找無頭後備流程
gui_screenshot_matchesreference_id;可選 threshold,裁剪/遮罩區域將當前螢幕截圖與儲存的參考進行比較
gui_wallpaper_matcheswallpaper_path;可選閾值和區域檢查配置的壁紙路徑和視覺結果
desktop_wallpaper_matcheswallpaper_path運行更嚴格的桌面壁紙出處/配置/視覺檢查
gui_click_elementxy發送基於座標的指標輸入
gui_form_fillfields填充座標描述的表單輸入
gui_text_visibletextcontainsocr_contains在螢幕或選定區域上使用 OCR

執行器也接受某些 OCR 和壁紙的兼容性別名 類型。在新食譜中更喜歡上面的規範名稱。座標測試是 解析度敏感;盡可能使用 OCR 或結果檢查。

基準檢查是一種單獨的格式

cis_benchmark 出現在配方的歷史斷言詞彙中,但是 普通的斷言調度程序沒有 cis_benchmark 處理程序。獨聯體和 其他基準檢查則是作為帶有 audit_script 的基準記錄提供 並透過基準運行程式執行。使用 CIS 基準工作流程,不是自訂斷言 type: "cis_benchmark"

結果解釋

  • 缺少所需的資料會產生 error,或者規劃器可能會刪除斷言 執行前有警告。
  • 不可用的 on_vm 目標會產生 skipped
  • 不匹配的结果产生 failed
  • 只有 passed 是該斷言的肯定證據。

請參閱自訂斷言 以取得創作指南。