🛠 小工具

测试辅助工具集合,各模块独立使用
📥 导入日志 xlog 解密
从手机抓取 Matrx / MatrxO 的业务日志(加密的 .xlog),一次性解密并入库,供分析
📱
从设备抓取
需连接 Android 手机并打开 USB 调试。自动 adb pull 日志目录,解密后入库
📦
上传日志文件
zip / tar.gz / xlog / mmap3 / txt / log 都支持,同事发的、adb logcat 导出的、控制台复制的都能直接丢进来
🗂 已导入会话 0
📭
还没有导入任何日志
📱 ADB 快捷面板 —— 常用 adb 命令免敲命令行
调试、取证、造场景常用的 adb 操作封成按钮;结果直接在页面上显示,截屏和录屏自动留档到 store/tools/
  • 什么时候用:复现 bug 抓截图 / 录屏、清应用数据回到初始态、查当前 Activity 定位页面、抓 logcat 看报错
  • 前置条件:设备打开 USB 调试,已授权本机;服务器上 adb 在 PATH 里
  • 提示:录屏最长 3 分钟(Android 限制),停止后自动 pull 到本地
📱 ADB 快捷面板 设备操作
🔍 报告对比 —— 回归分析的主力工具
选两次跑批的报告,一键算出差异:哪些用例从 pass 变 fail、哪些是新增/消失的、哪些耗时暴涨。
  • 什么时候用:发版前和上一版本对比、同一天跑两次看稳定性、切了环境/配置后核对影响面
  • 怎么读结果🔴 新失败 最紧急先看;⏱ 耗时变化大 可能是接口/网络变慢的信号
  • 匹配规则:按 (script, name) 两个字段组合做 key,改了用例名字会被识别为"消失+新增"
🔍 报告对比 回归分析
🎯 元素查看器 lite —— 不开 Appium Inspector 也能取定位
通过 uiautomator dump 抓取设备当前页面的 UI 树,每个节点展示 id / text / bounds,并自动生成 4 种推荐定位器(id / xpath-text / accessibility-id / xpath-by-id)。
  • 什么时候用:写用例需要定位某个按钮/输入框;怀疑某个元素 id 变了
  • 前置条件:设备连接 + 解锁 + 处于目标页面;服务器有 adb
  • 操作:选设备 → 点"抓取" → 点左侧节点 → 右侧点任意定位器复制
🎯 元素查看器 (lite) Appium
抓取会调 uiautomator dump;设备需解锁
设备截图(点击节点自动高亮)
抓取后显示
UI 树
定位建议
点击左侧节点查看
🔗 cURL → 用例 —— 抓包即用例
Chrome DevTools → Network → 任一请求右键 "Copy as cURL",粘贴到下面一键解析,同时生成一条可直接放进用例库的 YAML 接口用例。
  • 什么时候用:联调接口时抓下真实请求快速转成回归用例;验证某个参数组合的返回
  • 支持解析-X -H -d --data-raw -u(Basic 鉴权)等常见 flag,单双引号都吃
  • 输出:请求三要素 + YAML 片段;复制 YAML 后去用例管理新建即可
🔗 cURL 转接口用例 接口
🎲 测试数据生成器 —— 注册/表单/压测一键造人
一次批量生成姓名/手机号/身份证/邮箱/银行卡/地址/UUID;字段都符合真实校验算法(身份证第 18 位校验位、银行卡 Luhn、手机号 11 位合法段)。
  • 什么时候用:注册流程批量造账号、表单填假数据不被前端拦、压测生成不同用户
  • 隐私:纯前端生成,不会发服务器;生成的身份证/银行卡号是"格式合法但实际未发行"的虚构数据
  • 操作:点任一单元格快速复制;"全部复制"按 TSV 格式(tab 分隔),可直接粘到 Excel/Google Sheet
🎲 测试数据生成器 假数据
点任一单元格快速复制
📦 APK 信息查看器 —— 装包前先核对
上传一个 apk,后端调 aapt dump badging 解析出包名、版本号、最低/目标 SDK、权限清单。
  • 什么时候用:装测试包前核对版本号、看新版本多申请了哪些权限、确认 package name 和用例里配置一致
  • 前置条件:服务器上装了 Android SDK 的 aaptaapt2(build-tools 里自带)
  • 限制:apk 不要超过 500MB;加密/加壳过的包部分字段可能解析不到
📦 APK 信息查看器 aapt
需要后端能调用 aapt(Android SDK build-tools)
📝 JSON / XML 格式化 + diff —— 接口联调看差异
把两段 JSON 或 XML 粘到左右两边,分别格式化 / 压缩,点"对比"后按行并排红绿高亮差异。
  • 什么时候用:对比两次接口返回、对比线上和测试环境响应、对比 config 文件改前改后
  • JSON 对比规则:会先按 key 排序再 diff,字段顺序不同但内容相同不会被误报
  • 纯前端:数据不上传服务器
📝 JSON / XML 格式化 + diff 纯前端
支持 JSON 和 XML;JSON 会按 key 排序后比较
🕒 时间戳转换 —— 看日志不再抓瞎
Unix 时间戳(秒/毫秒)和人类时间互转,同时给出 ISO / UTC / 本地时间三种写法。
  • 什么时候用:日志里看到 1729306800 这种数字想知道是啥时候;写用例时要传一个时间戳参数
  • 输入格式:纯数字自动识别秒(10 位)/毫秒(13 位);也可以直接输入 2026-04-19 10:00:00 这种人类时间
  • "现在" 每秒自动刷新,一键填到输入框
🕒 时间戳转换 秒 / 毫秒
一行一个,支持 10 位秒 / 13 位毫秒 / 人类时间字符串混合
🧪 正则 / XPath 调试 —— 定位/抽取不对就先来调一下
写用例时常遇到的两种场景:正则从日志/响应抽值、XPath 定位 UI 元素。两个都在这里试,立刻看匹配结果+高亮。
  • 正则模式:JavaScript 语法(和 Python 略有差异,如 (?P<name>)(?<name>));支持 flags;会列出最多 20 处匹配及 group
  • XPath 模式:把"待匹配文本"当成 XML/HTML 解析,用 //div[@class='x'] 这种表达式查,列出前 30 个节点
  • 什么时候用:用例 assert 文本里某段时写正则、写 YAML 用例的 xpath 定位器时先试
🧪 正则 / XPath 调试 纯前端
📷 二维码 —— 切环境 / 配 deeplink / 扫码登录测试必用
左边把文本/URL/参数编码成二维码(可下载 PNG);右边扔一张图上来解出内容。
  • 什么时候用:App 里扫码切测试环境(env 二维码)、deeplink 入参调试、登录态二维码传给同事
  • 纯前端:生成/解析都在浏览器里完成,文本不上传
  • 离线提示:用的 jsdelivr CDN 库;如果测试环境封外网需要把 qrcode.min.jsjsQR.js 下到本地 static 目录
📷 二维码 生成 / 解析 切环境 / 带参
生成
解析
📋 也可以直接 Ctrl+V / ⌘+V 粘贴截图到这里
选一张含二维码的图片,纯前端解码