工具介绍
该工具通过Android的NetworkStatsManager统计指定应用与整机在测试会话中的网络用量,并使用悬浮窗完成开始/结束控制。测试结束后,应用会生成包含开始时间、结束时间、应用信息、所选指标和值的本地报告,适合在真机功能验证、回归检查和异常流量复现中使用。当前实现重点是手工测量与本地回看,而不是自动化平台式管理。
核心能力
同一次测试中可计算目标应用流量,也可计算整机总上行、下行、Wi-Fi与移动网络流量。
测试开始后应用退到后台,用户可通过浮窗完成开始/结束操作,并查看实时网速文本。
每次测试都会生成本地报告并写入SQLite,报告列表默认保留最近20条记录供设备内查看。
适用测试场景
- 在真机上验证某个已安装应用在一次操作流程中的总流量、上行、下行、Wi-Fi与移动网络消耗。
- 对比被测应用流量与整机流量,判断测试过程中的网络消耗是否主要来自目标应用。
- 在功能测试或回归测试中记录单次操作的平均流量速率与总消耗,辅助发现异常放量。
- 保存最近测试报告,便于在设备上回看不同时间段的手工流量测试结果。
环境与依赖
- 运行平台
- Android原生应用,通过应用界面和悬浮窗操作。
- 系统范围
- 工程minSdkVersion为21,但流量统计逻辑依赖NetworkStatsManager,实际需Android 6.0(API 23)及以上。
- 接入方式
- 在应用内选择待测App、勾选指标,再通过悬浮窗开始和结束测试。
- 工具包
- nettest_v1.1.0.apk
权限与依赖
- 依赖Usage Access权限读取应用网络使用数据。
- 依赖悬浮窗权限显示测试控制浮窗。
- 代码会请求忽略电池优化,以降低后台测试被系统中断的概率。
- 移动网络统计依赖TelephonyManager.getSubscriberId()和READ_PHONE_STATE。
- 数据来源基于Android NetworkStatsManager,实时网速显示基于TrafficStats。
支持范围与说明
明确支持
- 代码明确实现了已安装应用选择、测试指标勾选、悬浮窗开始/结束控制、报告详情与报告列表。
- 代码明确统计了应用级与整机级的总流量、上行、下行、Wi-Fi、移动网络和平均流量。
- 报告明确写入本地SQLite数据库test.db的report表,并在列表中读取最近20条记录。
- 权限页明确检查Usage Access、悬浮窗权限和忽略电池优化状态。
合理推断
- 该项目主要适用于真机手工测试流程,而不是无人值守自动化执行,因为启动、选项与结束动作均依赖界面交互和悬浮窗操作。
- 移动网络统计在部分新系统上可能不稳定或为0,因为代码对TelephonyManager.getSubscriberId()获取失败时会返回null。
- 最大值和最小值指标当前并未实际实现统计逻辑,相关能力不能视为可用功能。
- 围绕单次会话设计:选择App,开始测试,结束测试,结果关联起止时间与应用包名。
- 同时覆盖应用级与整机级统计,便于区分目标应用流量与设备整体流量。
- 结果以本地SQLite报告保存,并在应用内提供最近20条报告浏览能力。
- 实现范围聚焦于Android手工流量测试,不包含云端同步、自动化编排或通用数据导出能力。
下载与使用说明
- 版本
- v1.1.0
- 工具包
- APK
- 大小
- 6.5 MB
- 更新时间
- 2026-05-22
- 下载
- 登录后下载
工具以本地运行和真实 QA 工作流为前提设计,适合安卓 App 专项测试,不依赖外部测试平台。