wukong稳定性工具使用指导
功能介绍
wukong是系统自带的一种命令行工具,支持Ability的随机事件注入、控件注入、异常捕获、报告生成和对Ability数据遍历截图等特性。通过模拟用户行为,对系统或应用进行稳定性压力测试。
wukong分为随机测试和专项测试。随机测试是指随机测试界面内容,支持的能力包括:shell启动、拉起整机应用、多种注入方式、设置随机种子、打印运行日志和生成报告。专项测试主要提供对指定应用控件进行测试,支持的能力包括:shell启动、顺序遍历及截图、测试休眠睡醒、录制回放、打印运行日志和生成报告。
实现原理
wukong部件架构图以及部件内子模块职责如下所述。
- 命令行解析:支持命令行获取参数并解析命令行参数。
- 运行环境管理:根据命令行初始化wukong整体运行环境。
- 系统接口管理:检查并获取指定的mgr,注册controller和dfx的faultlog的回调函数。
- 随机事件生成:通过random函数生成指定种子数的随机序列,生成事件。
- 事件注入:根据支持的事件类型向系统注入事件,依赖窗口、多模、安全等子系统。
- 异常捕获处理/报告生成:通过DFX子系统获取运行中的异常信息并记录log,生成报告。
约束与限制
-
wukong测试工具在API 9版本开始预置使用。
-
在低于API 9版本,不能随版本编译,使用时需自行编译后推送至被检测设备,具体步骤如下。
// 构建 ./build.sh --product-name rk3568 --build-target wukong // 推送 hdc shell mount -o rw,remount / hdc file send wukong / hdc shell chmod a+x /wukong hdc shell mv /wukong /bin/
-
PC被检测设备连接后,才可执行命令行,支持单个和多个设备。
随机测试
- 打开shell界面。
检测单个设备时,使用"hdc shell"命令打开;检测多个设备时,使用"hdc -t sn shell"命令打开,其中sn是设备的编号,可以通过"hdc list targets"获取。
2.执行随机测试命令,命令示例如下:
# wukong exec -s 10 -i 1000 -a 0.28 -t 0.72 -c 100
命令中各参数含义:
命令 | 参数值 | 说明 |
---|---|---|
wukong exec | - | 主命令。 |
-s | 10 | 参数设置随机种子,10为种子值。 |
-i | 1000 | 参数设置应用拉起间隔为1000ms。 |
-a | 0.28 | 参数设置应用随机拉起测试比例28%。 |
-t | 0.72 | 参数设置屏幕随机touch测试比例为72%。 |
-c | 100 | 参数设置执行次数为100次。 |
专项测试
- 打开shell界面。
检测单个设备时,使用"hdc shell"命令打开;检测多个设备时,使用"hdc -t sn shell"命令打开,其中sn是设备的编号,可以通过"hdc list targets"获取。 - 执行专项顺序遍历测试命令:
# wukong special -C [bundlename] -p
命令中各参数含义:
命令 | 参数值 | 说明 |
---|---|---|
wukong special | - | 主命令。 |
-C [bundlename] | [bundlename] | 控件顺序遍历测试参数设置,bundlename为测试应用名称。 |
-p | p | 表示截图。 |
查看测试结果
测试结果输出路径
执行完测试指令后,会自动生成测试结果,测试结果输出根路径如下:
- 2022/9/22之前的IDE版本,结果存放路径为:/data/local/wukong/report/xxxxxxxx_xxxxxx/
- 2022/9/22之后的IDE版本,结果存放路径为:/data/local/tmp/wukong/report/xxxxxxxx_xxxxxx/
测试报告文件目录
类型 | 描述 |
---|---|
exception/ | 存放本次测试产生的异常文件。 |
screenshot/ | 存放专项测试顺序遍历的截图。 |
wukong_report.csv | 测试报告统计汇总。 |
执行日志
wukong支持通过日志的方式查看操作历程。
reports/xxxxxxxx_xxxxxx/wukong.log