☰
TestSprite Plan文件入门教程:用自然语言描述测试步骤,告别浏览器自动化代码
2026/9/27 0:59:38 网站建设 项目流程

TestSprite Plan文件入门教程:用自然语言描述测试步骤,告别浏览器自动化代码

【免费下载链接】testsprite-cliOfficial TestSprite CLI — AI-powered automated testing from your terminal项目地址: https://gitcode.com/gh_mirrors/te/testsprite-cli

TestSprite CLI 是一款 AI 驱动的自动化测试命令行工具:它的Plan 文件让你用自然语言描述测试步骤,就能创建可执行的浏览器自动化测试,无需手写选择器和自动化代码。本文带你从零上手:3 步创建你的第一个自然语言测试,掌握离线校验、批量创建与 AI 自动生成方案。✅

什么是 TestSprite Plan 文件?

传统 UI 自动化要写大量代码:找选择器、点按钮、断言文本……而 TestSprite 的 Plan 文件只记录用户意图:

  • 一个 Plan 文件 =一个前端测试(单个 JSON 对象,不支持顶层数组)
  • 核心是planSteps数组,每一步只有两种类型:
    • action:一个动作(如"提交空密码的登录表单")
    • assertion:一条断言(如"验证页面提示密码必填")
  • 每一步用一句话描述意图,而不是 CSS 选择器。执行时,TestSprite 的 AI 代理会读取这些步骤、实际驱动浏览器操作,并自动生成底层测试代码 🚀

一个合法 Plan 文件的字段速查

最小可用示例(模板会自动附带$schema字段,供编辑器做实时校验):

{ "projectId": "prj_abc123", "type": "frontend", "name": "Login rejects an empty password", "planSteps": [ { "type": "action", "description": "Navigate to /login and submit the form with an empty password" }, { "type": "assertion", "description": "Verify an inline error says the password is required" } ] }
字段必填说明
projectId✅项目 ID,通过testsprite project list获取
type✅固定为"frontend"(后端测试请走代码文件路线)
name✅写成"主语 + 动词 + 结果"的可断言行为描述
description❌对name的一句话补充
priority❌p0必过 /p1关键路径 /p2边界 /p3外观
planSteps✅1–200 步,每步一个动词

💡 完整字段契约以机器可读的 schemas/plan.schema.json 为准,字段说明详见 DOCUMENTATION.md 的 "Plan file format" 章节。整份文件不得超过256 KB。

3 步上手:用自然语言创建第一个测试

第 1 步:生成模板(纯本地,无需登录、无需网络)

testsprite test scaffold > first-test.plan.json

第 2 步:编辑文件,把name和planSteps换成你要测的场景。

第 3 步:先离线校验,再正式创建

# 离线校验:不联网、不扣额度 testsprite test create --plan-from first-test.plan.json --dry-run # 校验通过后:创建 + 立即执行 + 等待结果 testsprite test create --plan-from first-test.plan.json --run --wait

注意:--plan-from模式下,测试定义完全在文件里,同时传的--project、--name等参数会被忽略(CLI 会给出提醒)。

零成本试错:--dry-run 离线校验

--plan-from … --dry-run执行的是与真实创建完全相同的本地校验:不发起网络请求、不需要凭据、不消耗任何额度。你可以反复修改 Plan 文件直到校验通过,再去真正创建测试——这对脚本和 AI 代理尤其友好 🔄。

一次创建多个测试:批量方案

写多个 Plan 文件时,不必逐个提交:

# 每行一个 plan 对象的 JSONL 文件(≤ 50 条 / 5 MB) testsprite test create-batch --plans plans.jsonl # 或一个目录,内含多个 *.json Plan 文件 testsprite test create-batch --plan-from-dir ./plans

配套可用test lint对整个批次跑同一套校验器,一次性收集所有问题。

不想手写?让 AI 自动生成测试方案

如果不想逐条手写,可以反过来"让 AI 写 Plan":

# 为项目生成测试方案提案(可先 --dry-run 看效果) testsprite test plan generate --project proj_xxxxxxxx # 审阅提案列表后,接受全部或只接受部分 testsprite test plan accept --project proj_xxxxxxxx --only prop_2 prop_5

generate产出的是待审阅的提案(带稳定 ID),accept才真正变成测试用例;--only可只挑选你想要的提案。相关数据结构定义在 src/lib/plans.types.ts。

新手常见坑与解决方案

  • {{USER}}占位符不会被替换:CLI 不做变量替换,浏览器代理会把花括号原样输入。正确做法是把登录凭据存在项目上:testsprite project update <project-id> --username <user> --password <pw>。
  • type写成backend会被拒绝:Plan 文件只支持前端测试;后端测试请用test create --type backend --code-file <path>,CLI 会在报错里直接给出这条指引。
  • 顶层写成数组:一个文件只放一个测试对象,批量请用create-batch。
  • name写成名词短语:请写成"主语 + 动词 + 结果"的行为描述,例如"登录表单拒绝空密码",而不是"登录测试"。
  • 编辑体验:保留模板里的$schema字段,VS Code 等编辑器即可在输入时对 plan.schema.json 做实时校验和补全。

参考文件

  • Plan 文件校验器:src/lib/plan-schema.spec.ts
  • Plan 模板与--plan-from命令实现:src/commands/test.ts
  • test plan generate/accept端到端示例:test/e2e/plan-dry-run.e2e.test.ts
  • 命令全量参考:DOCUMENTATION.md

掌握 Plan 文件后,你就可以像写需求文档一样写测试了——描述意图,交给 TestSprite 执行 🎉

【免费下载链接】testsprite-cliOfficial TestSprite CLI — AI-powered automated testing from your terminal项目地址: https://gitcode.com/gh_mirrors/te/testsprite-cli

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询