Skip to content

回放运行 ​

脚本写好后一键回放:Playwright 确定性执行,回放零 LLM 成本(仅自愈定位消耗少量 token),适合作为日常回归。

真实回放全程:运行当前版本 → 运行进度 → 完成后在运行记录中查看逐步明细

运行入口 ​

  • 用例详情 →「运行当前版本」或脚本版本行的「运行」按钮(可先切无头模式开关、选择登录配置)。
  • 用例列表 → 行操作「运行」,直接跑默认脚本版本。
  • 运行过程中可停止;用例可批量设置默认脚本版本(用例列表「版本」列下拉),回归时直接跑默认版本。

运行过程 ​

点击运行后,用例详情页出现「运行进度」卡片(附「停止运行」按钮),实时输出每步执行日志:

运行明细

运行明细:逐步状态(通过/失败)、自愈标记、耗时、Token 消耗与运行日志

运行完成后,切到「运行记录」Tab(或从全局「运行记录」菜单点「查看明细」),即可查看该次运行的完整明细:

  • 逐步结果表:每步的动作、状态(通过/失败)、自愈标记、耗时、Token 消耗、信息。
  • 运行日志:浏览器窗口尺寸、登录配置状态、每步 goto / fill / press / assert → PASSED/FAILED。
  • 失败诊断:失败步骤自动保存页面截图,并采集浏览器 console 与 network 记录。
  • 右上「导出」:结果导出 JSON / Excel(测试报告)。

断言类型 ​

类别断言说明
UI 断言元素可见等待唯一目标出现(自动等待,最多 10s)
元素隐藏隐藏或不存在;多匹配报错,不算隐藏成功
文本包含范围内可见文本包含期望子串
文本完全相等规范化空白后与期望全文相等
字段值相等表单字段值精确相等(允许空字符串)
已选中 / 未选中控件选中状态
已启用 / 已禁用控件启用状态
匹配元素数量匹配节点数量,含隐藏节点,支持 0(适合集合 / 不存在断言)
URL 包含 / 完全相等当前 URL 包含期望子串 / 与期望完全相等
接口断言状态码匹配 URL 关键词的最近响应的状态码
响应体响应体包含期望子串
JSON 字段按 JSON 路径(如 data.items.0.id)取字段值比较
WebSocket 断言发送消息客户端发出的 WS 消息匹配
接收消息服务端推送的 WS 消息匹配

UI 断言与 AI 生成共用同一套语义,在超时预算内自动重试;可指定父作用域缩小范围(父范围必须唯一存在,避免作用域丢失造成错误通过)。

接口/WS 断言的定位方式

locator.value 填 URL 关键词子串(如 /api/login),引擎命中运行期间最近一次匹配的响应/消息帧。

唯一测试数据 ​

步骤中的 {{var}} 占位符支持系统变量(随机手机号/邮箱/身份证等)与项目环境变量注入唯一测试数据,避免「手机号已注册」类的脏数据问题。变量清单与规则见测试数据与登录态。

失败自愈 ​

  • 普通动作(不含 upload、scroll)选择器失效(前端改版导致定位不到)时,回放自动转入 AI 自愈:结合步骤的自然语言指令(instruction)重新定位元素并继续执行。
  • 自愈结果可一键采纳回写原脚本,下次回放直接生效。
  • 断言步骤不自愈:断言失败可能是产品缺陷,自动换目标会把真实缺陷变成通过,因此断言失败原样保留,供你判断。

复盘与导出 ​

  • 全部历史运行在「运行记录」菜单汇总(见运行记录),点「查看明细」回到用例详情的运行记录 Tab。
  • 结果可导出 JSON / Excel(测试报告)。

上传、滚动与作用域回放 ​

  • upload 按项目文件 ID 读取并校验原文件,再设置文件 input 或通过上传按钮选择文件。删除文件标签不影响已有脚本回放;v2 包导入时自动重映射 ID。选择文件后仍需断言业务结果。
  • scroll 按保存参数滚动页面/容器或将已挂载目标滚入视口;到达当前末端不代表无限列表已加载完毕。
  • locator.scope 先限定父容器再查找目标,父范围应唯一;UI 断言会检查父范围唯一存在。可在步骤表编辑、拾取或删除范围。
  • upload、scroll、assert 不走通用 AI 自愈;失败后查看证据,修正文件、定位器或参数再运行。

TestDog 测试用例管理工具