一次把"能用"打磨成"好用"的 20+ 项改进
今天对测试平台做了一轮集中升级,覆盖接口断言、监控运维、AI 生成、站内消息、Web/App 录制体验等。下面是本次改动清单。
一、接口测试:断言更强大、更统一
- JSON 路径断言会"取值比较"了:支持 $.data.id=123 这种写法,先按路径提取值再比较;只填路径则判断是否存在。
- 新增「全 JSON 对比」:把整个响应 JSON 和期望 JSON 递归对比,还支持忽略指定路径(如 .data.token、.timestamp),不一致时直接告诉你差异在哪。
- 断言逻辑统一:手动接口测试、场景执行、报告展示用同一套求值逻辑,行为一致。

接口断言:JSON 路径取值比较 + 全 JSON 对比(可忽略路径)
二、系统监控与运维
- 登录监控:登录日志(成功/失败、IP、UA、时间)、在线用户与会话、强制下线、异常告警(暴力破解、异地登录),并支持 IP 归属地。
- 服务器状态:CPU/内存/磁盘/运行时长/进程、数据库/Redis/Channels 连接状态、执行节点探活与延迟。
- 操作日志管理:记录谁在什么时候打开了哪个菜单、执行了哪些动作、发了哪些请求;支持筛选、分页、导出 CSV 与自动清理。
- 性能优化:ASGI 下把外部调用与日志写库移到后台线程,避免阻塞请求线程。

登录监控:登录日志 / 在线用户 / 异常告警 / IP 归属地

服务器状态:本机资源 / 服务状态 / 执行节点探活

日志管理:菜单访问 / 执行动作 / 请求审计,支持筛选与导出
三、AI 生成:更稳、更贴心
- 支持自定义接口地址:OPENAI_BASE_URL 可指向 DeepSeek / 智谱 / 硅基流动 等兼容接口。
- 容错更强:不规范字段自动归一化;markdown 围栏、前后缀文本、尾随逗号、被截断的 JSON 都能尽力解析。
- 脚本生成更可靠:脚本改为"直接返回源码",避免长代码被 JSON 截断。
- 排障更容易:新增 LLM 请求/响应日志,任务详情页「查看日志」面板可直接看应用日志。
- 中文友好:生成的测试用例用中文,脚本注释用中文(代码与标识符保持英文)。
四、站内消息与公告
- 用户之间可发私信,管理员可发公告;顶栏铃铛 + 未读红点,通过 WebSocket 实时推送。
- 支持图片、表情、附件;提示统一为顶部 Toast,更清爽。

站内消息:私信 / 公告 / 未读红点,支持图片表情附件
五、Web / App 录制体验大升级
- 画面交互录制:直接在浏览器/设备截图上点击、按住拖动(滑动)、输入,即可录制成动作。
- 浏览器控制按钮:录制栏新增 返回 / 前进 / 刷新 / 切换标签,无头或远程浏览器也能驱动页面。
- 放大窗口:可移动、可缩放、等比缩放(适应 / - / +),放大后坐标换算依旧准确。
- 动作类型可选:录制栏「动作」下拉(自动 / 点击 / 输入);双击已录制项还能修改动作类型。
- Selenium 支持真实鼠标拖动:进度条、滑块、滚动条拖动都可用。
- 按元素类型判断:只有真正的输入类控件才记「输入」,其余记「点击」。
- 细节修复:刷新截图三种模式都生效;App 新增「唤醒屏幕」与黑屏提示;兼容 saucedemo 等页面导航导致的识别失败(自动重试)。

Web 录制:画面点击/拖动/输入 + 返回/前进/刷新/切换标签 + 放大

App 录制:设备截图放大 + 待输入文本 + 唤醒屏幕
六、界面与体验细节
- 登录页与多个页面适配移动端。
- 上传按钮美化(新建生成的需求文件、头像上传)。
- 日志字体颜色优化,深色底上更清晰;修复下拉框三角箭头压住文字的问题。

登录页移动端适配
七、部署与运维脚本
- run.sh 支持后台运行(nohup),并提供 stop / restart / status。
- 新增 cleanup_browsers 命令,一键清理残留的自动化浏览器进程。
- CentOS 7 提示:Playwright 需要 glibc≥2.27,无法运行时会明确提示改用 Selenium 或派发到执行节点。
小结
本次改动已全部提交到 Gitee。核心思路是两点:更可靠(边界情况下不再轻易失败,失败也给出可操作提示)、更好用(监控、消息、录制画面交互、移动端适配)。
后续会继续围绕录制稳定性、执行节点体验、报告可读性打磨。有问题欢迎留言反馈。公众号 测试技术驿站