Skip to content

YAML 用例

完全用 YAML 定义测试用例 — 无需编写 Python 代码。AI 智能体将像执行 Python BaseCase 一样执行每个步骤。

基本结构

yaml
# case.yaml
name: 搜索测试
headless: false
max_steps: 20
url: https://www.baidu.com
steps:
  - name: 搜索
    action: 搜索 "Playwright 自动化"

  - name: 验证
    verify: 搜索结果已展示

  - name: 截图
    screenshot: search_result

case.yaml(或 case.yml)放入目录中,然后通过 CLI 运行。

运行 YAML 用例

bash
# 通过 CLI
skiritai run examples/beginner/baidu_search/03_yaml

# 通过 Python
from skiritai import run_yaml_case
from pathlib import Path
import asyncio

report = asyncio.run(run_yaml_case(Path("examples/beginner/baidu_search/03_yaml")))

步骤类型

步骤键说明必需参数
action自然语言操作 → AI 执行操作描述字符串
verify自然语言断言 → AI 验证(失败不阻断)断言字符串
screenshot按名称截图截图名称
analyze预分析页面 DOM(上下文注入后续 action)(忽略)
page_info获取页面标题、URL、文本摘要(忽略)

步骤级选项

每个步骤可指定 on_failure 策略:

yaml
steps:
  - action: 点击"高级设置"链接
    on_failure: skip    # 即使失败也继续执行

  - action: 提交表单
    on_failure: abort   # 失败时停止执行(默认)
策略行为
abort(默认)失败时停止整个用例
skip记录警告并继续下一步

顶层字段

字段必需默认值说明
name目录名用例显示名称
steps步骤定义列表
headless环境变量或 false无头模式运行浏览器
max_steps20每个 action 的最大工具调用步数
url运行步骤前先导航到此 URL

列出 YAML 用例

bash
skiritai list examples/

YAML 用例会与 Python 用例一起自动发现。每个包含 case.yamlcase.yml 文件的目录都会被列为用例。

基于 MIT 许可证发布。