mcpField
F
form-testing

form-testing

github.com/spencerpauly测试与质量868455 次安装13 周前更新
代码仓库

关于 form-testing

一项使用 Cursor 内置浏览器系统测试应用表单的技能,指导测试人员发现表单、检查校验与边界情况,并汇报结果。

主要功能

  1. 01通过无障碍快照发现表单
  2. 02测试空值、无效值和有效提交
  3. 03检查重复提交与长输入
  4. 04验证特殊字符处理和 Tab 顺序
  5. 05汇报结果并排查失败项

适用场景

  1. 01审查登录和设置表单的校验
  2. 02使用代表性数据检查结账表单
  3. 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