アサーションの種類
プロビジョニングされたテスト VM 内で実行されるアサーションの正規リファレンス。
特に明記されていない限り、ターゲットは primary です。それぞれの主張には人間も必要です
読み取り可能なdescription。
安定したゲスト アサーション
| タイプ | 必須 params | オプションの動作 |
|---|---|---|
user_exists | username | id を実行します |
user_password | username | ロックされていないパスワード ハッシュが存在することを確認します。対話型ログインは試行されません。 |
user_in_group | username、group | sudo/admin をチェックするときに、Vyatta の管理上の同等の機能を受け入れます。 |
file_exists | path | ファイルまたはディレクトリを受け入れます |
file_contains | path、pattern、または content | grep を使用します。値は grep パターンであり、リテラルのみの比較ではありません。 |
file_permissions | path、mode | stat によって報告された 8 進数モードを比較します。 |
service_running | service | systemd のアクティブ状態をチェックします。小さなクロスディストリビューションエイリアスセットを知っています |
service_enabled | service | systemd の有効化をチェックする |
package_installed | package | ゲストのサポートされているパッケージ マネージャー データベースを確認します。 |
port_listening | port | protocol は tcp または udp の場合があります。デフォルトは TCP |
command_succeeds | command | 終了コードはゼロでなければなりません。 timeout_seconds/timeout は 1 ~ 1,800 秒に固定されています。 |
command_output | command と expected_pattern、pattern、expected、またはアサーション レベルの expected の正規表現。 stdout を Python 正規表現セマンティクスと照合します。 | |
network_reachable | host | count のデフォルトは 3 です。 ICMP ping を使用します。 |
http_responds | url | status のデフォルトは 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_opens | application (正規);ハンドラーは起動固有のオプションも受け入れます。アプリケーションを起動し、ウィンドウを探します。 | |
gui_window_visible | window-title またはハンドラーによって使用される一致するパラメーター | 既存のウィンドウを探します |
gui_execute_command | command | デスクトップコマンドを実行します。スクリーンショットをキャプチャできます |
gui_application_process | process_name | プロセスをヘッドレス フォールバックとして探します。 |
gui_screenshot_matches | reference_id;オプションの threshold、トリミング/マスク領域 | 現在のスクリーンショットを保存された参照と比較します。 |
gui_wallpaper_matches | wallpaper_path;オプションのしきい値と領域 | 設定された壁紙のパスと視覚的な結果を確認します。 |
desktop_wallpaper_matches | wallpaper_path | より厳密なデスクトップの壁紙の出所/構成/視覚的チェックを実行します。 |
gui_click_element | x、y | 座標ベースのポインタ入力を送信します |
gui_form_fill | fields | 座標で記述されたフォーム入力を埋める |
gui_text_visible | text、contains、または ocr_contains | 画面または選択した領域で OCR を使用します。 |
Executor は、一部の OCR および壁紙の互換性エイリアスも受け入れます。 タイプ。新しいレシピでは上記の正規名を優先してください。座標テストは、 解像度に依存します。可能な場合は OCR または結果チェックを使用します。
ベンチマーク チェックは別の形式です
cis_benchmark はレシピの歴史的なアサーション語彙に表示されますが、
通常のアサーション ディスパッチャーには cis_benchmark ハンドラーがありません。 CISと
他のベンチマーク チェックは、audit_script のベンチマーク レコードとして提供されます。
そしてベンチマークランナーを通じて実行します。を使用します。
CIS ベンチマーク ワークフロー、カスタム アサーションではありません
type: "cis_benchmark"。
結果の解釈
- 必要なデータが欠落していると
errorが生成されるか、プランナーがアサーションを削除する可能性があります 実行前に警告が表示されます。 - 使用できない
on_vmターゲットはskippedを生成します。 - 一致しない結果は
failedを生成します。 passedだけがその主張の肯定的な証拠です。
作成ガイダンスについては、カスタム アサーション を参照してください。