SuperAPI AI 工具集

form-testing

测试与质量

查看项目

更新于 10-16 15:07

技能介绍

Form Testing 是一个围绕表单测试的技能,目标是用 Cursor 内置的浏览器,系统性地测试应用中的每一个表单,覆盖有效数据与无效数据两种输入,从而验证表单的校验规则、错误状态和成功提交流程。

用途 该技能面向需要对 Web 应用表单做端到端验证的场景。它不只提交表单,还关注校验是否在客户端正确触发、错误提示是否合理、成功后的状态变化是否符合预期,以及是否存在控制台错误或失败的 API 调用。

工作流程

  1. 发现所有表单 首先使用 browser_snapshot 获取页面的无障碍树,从中查找 form 元素,或成组的 input、select、textarea 元素。随后浏览应用的主要页面来发现全部表单,资料中列出的范围包括:登录/注册页面、设置/个人资料页面、搜索栏、联系/反馈表单、结账流程,以及包含输入项的弹窗。

  2. 逐个测试表单 对每个表单执行三轮测试: Pass 1 空提交:在所有字段为空的情况下提交表单,验证必填字段是否出现校验错误,并确认不会产生服务端错误(应属于客户端校验)。 Pass 2 无效数据:邮箱字段输入 notanemail;密码字段输入 a(过短);数字字段输入 abc;电话字段输入 12345;URL 字段输入 not-a-url。检查是否出现相应的错误提示。 Pass 3 有效数据:使用 browser_fill 或 browser_fill_form 为每个字段填入贴近真实的测试数据,提交表单,验证成功状态(如重定向、提示条、确认消息),并用 browser_console_messages 检查控制台错误,用 browser_network_requests 检查是否有失败的 API 调用。

  3. 检查边界情况 资料列出了以下边界测试:重复提交——快速连续点击提交两次,应被阻止;超长输入——粘贴 1000+ 字符的长字符串,应被截断或拒绝;特殊字符——输入 <script>alert('xss')</script>,应被转义;Tab 顺序——使用 browser_press 按 Tab 键,验证焦点是否按逻辑在字段间移动。

  4. 输出报告 以 PASS/FAIL 形式汇总每个表单的测试结果。资料给出的示例格式如下: 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

报告完成后,修复发现的失败项。

适用场景 适合在开发或验收阶段对登录、注册、设置、搜索、反馈、结账等包含表单的页面进行回归式与探索式测试,帮助发现校验缺失、错误提示不当、提交后状态异常、XSS 未转义、重复提交未拦截等问题。

限制与暂未提供的信息 该技能的运行依赖 Cursor 内置浏览器。除资料中描述的流程、测试数据类型、边界用例和报告格式外,其安装方式、配置参数、支持的平台范围、是否可自定义测试数据以及与其他工具集成的方式,暂未提供。