关于 form-testing
一项使用 Cursor 内置浏览器系统测试应用表单的技能,指导测试人员发现表单、检查校验与边界情况,并汇报结果。
主要功能
- 01通过无障碍快照发现表单
- 02测试空值、无效值和有效提交
- 03检查重复提交与长输入
- 04验证特殊字符处理和 Tab 顺序
- 05汇报结果并排查失败项
适用场景
- 01审查登录和设置表单的校验
- 02使用代表性数据检查结账表单
- 03发现表单提交时的浏览器或 API 错误
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ spencerpauly/ awesome-cursor-skills --skill form-testing安装后在 Claude Code 中输入/form-testing确认已加载。
详细介绍
表单测试
使用 Cursor 内置浏览器,系统地测试应用中的每个表单。
工作流
1. 查找所有表单
使用 browser_snapshot 获取无障碍树。查找 form 元素,或由 input、select、textarea 元素组成的分组。
浏览应用的主要页面,找出所有表单:
- 登录/注册页面
- 设置/个人资料页面
- 搜索栏
- 联系/反馈表单
- 结账流程
- 带输入框的模态框
2. 测试每个表单
对每个表单进行三轮测试:
第 1 轮:提交空表单
- 所有字段留空并提交表单
- 验证必填字段是否显示验证错误
- 检查是否未发生服务端错误(验证应在客户端进行)
第 2 轮:无效数据
- 电子邮件字段:输入
notanemail - 密码字段:输入
a(过短) - 数字字段:输入
abc - 电话字段:输入
12345 - URL 字段:输入
not-a-url - 检查是否显示相应的错误消息
第 3 轮:有效数据
- 使用
browser_fill或browser_fill_form为每个字段填写真实的测试数据 - 提交表单
- 验证成功状态(重定向、提示消息、确认消息)
- 检查
browser_console_messages中是否有错误 - 检查
browser_network_requests中是否有失败的 API 调用
3. 检查边缘情况
- 重复提交:快速点击提交两次——应阻止重复提交
- 长输入:粘贴很长的字符串(1000 个字符以上)——应截断或拒绝
- 特殊字符:输入
<script>alert('xss')</script>——应进行转义 - Tab 键顺序:使用
browser_press按 Tab,验证焦点是否按逻辑顺序在字段间移动
4. 报告
Form Test Results:
Login form (/login):
Empty submit: PASS — shows "Email required", "Password required"
Invalid email: PASS — shows "Invalid email"
Valid submit: PASS — redirects to /dashboard
XSS check: PASS — input escaped
Settings form (/settings):
Empty submit: FAIL — submits without validation, returns 500
Valid submit: PASS — shows "Settings saved" toast
修复发现的所有问题。
评论
支持 Markdown