全部文章
发布与验证

让 AI 写 Playwright 测试:保存失败后草稿还在吗

用一次可控的失败检查错误反馈和重试。

资料核验2026.11.12 · Playwright Test · 浏览器端到端测试

一张表单正常保存没问题,断网或服务出错时却可能把用户刚写的文字清空。等待真实服务偶尔失败很费时间。Playwright 可以拦截匹配的请求并返回指定响应,把这个边界变成可重复的场景。

给 AI 的上下文与边界

让编码助手根据真实保存接口的路径和请求方法编写浏览器用例。给它后端错误响应的字段名,要求第一次只替换保存的 POST,第二次成功,列表加载请求继续使用测试服务。

流程示意:首次保存返回 503;草稿仍可编辑;重试返回成功

把失败条件收紧到写入请求

在点击之前注册路由,只替换保存接口的 POST 响应,给它一个符合应用错误格式的 503。检查错误反馈是否可见、文本框是否仍保留草稿。然后让第二次提交返回成功,验证用户可以直接重试。

查询数据的接口尽量走真实测试服务。只替换这一个错误边界,日后更容易知道这个测试覆盖了什么。

再留一条走真实后端的保存测试,用来抓客户端和接口契约不一致的问题。

可以直接照着做的演练

在测试表单填入「周五前交稿」,点击保存。失败断言应检查这句话仍在输入框里,而不是只看失败横幅。第二次请求核对提交体确实含这句话。可以在路由回调按调用次数返回不同状态,测试结束时核对只发出了两次保存请求。

检查生成结果

  • 失败时检查错误提示可见和文本原样保留。
  • 重试后检查成功提示及请求带回原草稿。
  • 用例中至少观察一次真实的提交动作,避免只是断言预置文案。

复查时追问一层

如果断言很快就通过,临时破坏「失败后保留文本」的实现,确认用例会变红。模拟错误负责验证前端状态,真实端到端用例负责确认接口契约,两个测试的任务边界应当写在用例名里。

给测试起名「保存失败保留草稿并允许重试」。如果首次保存按钮在等待时变成不可用,测试应等错误反馈出现再点击,避免把等待状态测成永久禁用。路由只拦保存入口,之后仍留一条真实服务的端到端用例核对协议。

资料来源