产品与设计
在 Cursor 内置浏览器中系统测试应用所有表单的校验…
当你需要逐个验证应用中的登录、注册、设置、搜索、联系、结账、弹窗等表单在空提交、无效数据和有效数据下的行为时使用。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
在 Cursor 内置浏览器中系统测试应特定
解决思路
- 使用 browser_snapshot 获取应用的可访问性树。
- 在可访问性树中查找 form 元素,或由 input、select、textarea 元素组成的分组。
- 导航应用的主要页面以发现所有表单。
- 重点检查以下位置:登录/注册页面、设置/个人资料页面、搜索栏、联系/反馈表单、结账流程、带输入项的模态框。
- 对每个表单执行三组测试:第 1 轮空提交、第 2 轮无效数据、第 3 轮有效数据。
- 第 1 轮空提交:将所有字段留空后提交表单。
- 第 1 轮:验证必填字段是否出现校验错误。
- 第 1 轮:检查是否没有发生服务器错误,应该由客户端校验拦截。
- 第 2 轮无效数据:Email 字段输入 notanemail。
- 第 2 轮:Password 字段输入 a,长度太短。
- 第 2 轮:Number 字段输入 abc。
- 第 2 轮:Phone 字段输入 12345。
- 第 2 轮:URL 字段输入 not-a-url。
- 第 2 轮:检查是否出现合适的错误消息。
- 第 3 轮有效数据:使用 browser_fill 或 browser_fill_form 为每个字段填入真实感的测试数据。
- 第 3 轮:提交表单。
- 第 3 轮:验证成功状态,例如重定向、toast 提示、确认消息。
- 第 3 轮:检查 browser_console_messages 是否有错误。
- 第 3 轮:检查 browser_network_requests 是否有失败的 API 调用。
- 检查边界情况:双击提交——快速点击提交两次,应被阻止。
- 检查边界情况:长输入——粘贴非常长的字符串(1000+ 字符),应被截断或拒绝。
- 检查边界情况:特殊字符——输入 <script>alert('xss')</script>,应被转义。
- 检查边界情况:Tab 顺序——使用 browser_press 按 Tab,验证焦点在字段间按逻辑移动。
- 按示例结构输出报告:顶层 Form Test Results:,每个表单包含路径,并逐项列出空提交、无效数据、有效提交、XSS 检查等的通过/失败及说明;例如 Login form (/login) 空提交: 通过 — 显示「需要邮箱」「需要密码」;Settings form (/settings) 空提交: 失败 — 未校验就提交,返回 500。
- 修复发现的所有失败。
适用边界 · 注意事项
- 没有 Cursor 内置浏览器或无法调用 browser_* 工具时不要使用。
- 不要在生产环境或不希望产生真实副作用的表单上提交测试数据,例如真实下单、发送消息、修改真实账号。
- 不适用于非 Web 应用或无法通过可访问性树定位 form/input/select/textarea 的界面。