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_5generate产出的是待审阅的提案(带稳定 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),仅供参考