Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Android Test Console · 安卓测试台

插上手机,开一个网页,测任意已装 App。
全场景点遍按钮、Monkey 砸崩溃、交叉一起跑。崩溃 / ANR 当场落盘,网页里就能预览。

Windows macOS Python License

插上手机,网页里开测


为什么用这个,而不是自己敲 adb

你以前要做的 现在
记一堆 monkey 参数,跑完才翻 logcat 网页点开始,崩溃 / ANR 当场保存,点标题就能预览
测着测着跳到桌面、点到别的 App 只困在你选的那一个包,出去立刻拉回
想挂一夜、挂三天,还得自己写循环 时长支持 分钟 / 小时 / 天 / 不限
Windows 一套脚本、Mac 又一套 run.bat / run.sh,浏览器打开即用

手机用 scrcpy 投屏看着点,更直观。


三种模式,各吃一类问题

全场景、Monkey、交叉三种模式

1. 自定义全场景 —— 把操作链走完

在目标 App 里按界面往下挖:

  • 点击、长按、输入
  • 列表上下滑,横向页左右滑
  • 看图 / 播放页再走一遍画面滑动和双击
  • 点进新页就把那一页的链做完,再回到上一页
  • 删除、分享、打开方式、根界面「返回」默认跳过,避免误伤和回桌面

适合:验收关键路径有没有漏。

2. Monkey —— 乱点,专门砸崩

系统 Monkey,只认你选的包。点击、滑动、返回、Home、切应用都在,出包立刻拉回。
适合:挂几天压崩溃 / ANR。

3. 交叉 —— 先点遍,再砸一截

每扫完一屏,打一段 Monkey,再把新界面交回遍历。
适合:覆盖 + 稳定性一起要。


崩溃和 ANR,网页里就能看

崩溃与 ANR 日志预览

一出现问题,马上写入:

reports/<包名>/<本次运行>/events/
  crash_时分秒_指纹/crash_log.txt
  anr_时分秒_指纹/anr_log.txt
  logcat.txt · traces · dropbox · 截图

总账在 reports/<包名>/bugs.md。网页右侧点标题展开堆栈,文件可直接打开。


三分钟跑起来

准备: Python 3.10+、ADB platform-tools 在 PATH、手机打开 USB 调试。

Windows

run.bat

macOS / Linux

chmod +x run.sh
./run.sh

浏览器打开 http://127.0.0.1:8765

  1. 插上已授权的手机,点刷新
  2. 输入包名(会记住,下次有提示)或从列表选
  3. 选模式和时长(20 分钟 / 1 天 / 不限都行)
  4. 开始测试,看着日志;停下来点停止

测试期间屏幕会保持常亮,并藏掉系统栏,降低误点 Home。测完恢复原设置。


它会守住你的 App

  • 后台盯着当前包名,到桌面或其他应用 立刻拉回,不经过桌面乱点
  • 包名输入有历史,常用包一键再测
  • 不删文件、不移动文件;清单里的文件操作只做新建 / 收藏 / 重命名
  • 可先跑 YAML 清单(仓库里带了媒体中心样例 e2e/apps/com.mediacenter.app.yaml)
flowchart LR
  A[选包名] --> B{模式}
  B -->|全场景| C[操作链:点 / 长按 / 滑 / 输入]
  B -->|Monkey| D[随机事件 + 出包拉回]
  B -->|交叉| E[一屏遍历 + 一段 Monkey]
  C --> F[崩溃 / ANR 落盘]
  D --> F
  E --> F
  F --> G[网页预览 + reports/]
Loading

目录

AndroidTestConsole/
  run.bat / run.sh          一键启动
  e2e/server.py             本地网页服务
  e2e/crawler.py            全场景操作链
  e2e/monkey.py             Monkey(含拉回)
  e2e/logcat.py             崩溃 / ANR 解析
  e2e/apps/*.yaml           可选清单
  reports/<包名>/           报告与日志(不入库)

常见问题

没有设备? adb devices 要能看到 device,不是 unauthorized。

还是跳到桌面? 手势导航仍可能被点到。守护会拉回;全场景不会在首页按系统返回。

ANR 没有 traces? 部分手机不开放 /data/anr。anr_log.txt 和 logcat 一定在。

改了 Python 代码没生效? 关掉 run.bat / run.sh 再开。网页刷新即可更新前端。


许可

MIT。欢迎提 Issue / PR。测你自己的 App,别拿去折腾别人的设备。

About

插上手机,开一个网页,测任意已装 App。全场景 / Monkey / 交叉,崩溃和 ANR 当场落盘,网页预览。

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages