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 是该断言的肯定证据。

请参阅自定义断言 以获取创作指南。