Targets

测试 Web 应用

了解如何配置 Munk AI 来测试你的 Web 应用程序,包括本地开发服务器和线上网站。

Munk AI 开箱即支持使用 Chromium 浏览器(无头或有头模式)测试 Web 应用程序。你可以用它来测试线上网站,或者本地的开发服务器(如 Next.js, Nuxt 或 Vite)。

前置准备

在运行任何 Web 测试之前,你需要确保底层浏览器二进制文件已经安装。Munk AI 底层使用 Playwright 进行 Web 自动化操作。

在你的开发环境中运行一次以下命令即可:

python -m playwright install chromium

运行 Web 测试

在测试 Web 应用时,你必须将 platform 指定为 web,并提供一个起始 URL。

使用命令行参数 (适合快速测试)

如果你直接使用 munk run case,可以通过 --platform--base-url 参数来指定目标:

munk run case \
  --app-id web-demo \
  --plan-id my-first-plan \
  --case-id docs-navigation \
  --platform web \
  --base-url http://localhost:3000 \
  --headed \
  --config ./munk.yaml

提示: 加上 --headed 会打开一个可见的浏览器窗口。在本地调试时强烈建议开启,这样你可以清楚地看到 AI 正在做什么。

使用 JSON 请求文件 (推荐)

对于可复现的 CI 工作流(如 verify changerun plan),我们强烈建议在 JSON 请求文件的 app_target 字段中定义你的目标配置:

{
  "app_target": {
    "app_id": "my-web-app",
    "platform": "web",
    "web": {
      "base_url": "http://127.0.0.1:3000/"
    },
    "launch_context": {
      "browser": "chromium",
      "headless": "false"
    }
  },
  "provided_cases": [
    {
      "case_id": "login-flow",
      "intent": "验证用户能否正常登录",
      "expected": ["成功进入并展示 Dashboard 页面"],
      "runner_goal": "点击登录按钮,输入测试账号密码并提交。"
    }
  ]
}

然后执行:

munk verify change --request-file ./verify-request.json --config ./munk.yaml

当前能力支持范围

Web 运行时 (Runtime) 正在积极开发中。目前它已经支持:

  • 页面导航: 打开 URL 以及处理页面重定向。
  • 视觉与 DOM 解析: 视觉分析页面并构建出供 AI 理解的语义 UI 树。
  • 基础交互: 点击、输入文本、滚动页面以及触发键盘快捷键。
  • 断言验证: 验证文本是否存在、元素是否可见以及页面跳转是否符合预期。

注意: 诸如多标签页管理、深层 iframe 穿透或拦截网络请求等复杂的浏览器专属功能,目前暂不在当前 MVP 阶段的支持范围内。