1. 写出表单契约
列出会操作的字段、有效和无效示例、提交动作,以及什么最终状态算成功。有用的契约会说明提交后出现什么,而不只是按钮变成了禁用。
使用合成值和隔离环境。如果表单需要真实账户、个人标识符或生产记录,就不再是无害冒烟检查,需要不同的审批边界。
- 每个字段都有无害测试值。
- 至少定义一个无效案例。
- 写明可见的成功和失败状态。
- 明确环境和回滚路径。
2. 选择最小浏览器角色
短小交互运行可以优先选择 agent-browser。browser-use 在页面和最终状态清楚时具有可移植性。运行要成为回归检查时,playwright-workflows 或 webapp-testing 更适合作为证据层,因为步骤和断言可以重复。
不要让浏览器 Skill 推断授权。导航成功不等于可以发送消息、创建记录或暴露凭据。
3. 验证最终状态
检查字段值、行内错误、焦点位置、禁用或启用状态、确认提示和创建的测试记录。只有在能帮助审查者验证结论时才保存截图或浏览器日志,不要收集超出检查所需的数据。
从干净浏览器状态重复一次。如果结果变化,记录缓存、登录状态、时序或不稳定选择器等依赖,不要用绿色结果掩盖。
- 提交时预期字段值仍然存在。
- 无效输入因预期原因被拒绝。
- 确认提示或记录已验证,而不是推断。
- 第二次干净运行结果一致,或已解释差异。
4. 在副作用前停止
当表单发送真实消息、发布公开内容、修改账户、扣款、删除记录或上传个人数据时,测试就会产生后果。把这些转换视为硬停止,并在最终一步让负责人接管。
因此文章的承诺应保持克制:它证明一个获批环境中的一个表单契约,不代表整个应用、所有浏览器或底层业务流程已经安全。