功能介绍
wukong是系统自带的一种命令行工具,支持Ability的随机事件注入、控件注入、异常捕获、报告生成和对Ability数据遍历截图等特性。通过模拟用户行为,对系统或应用进行稳定性压力测试。
wukong分为随机测试和专项测试。随机测试是指随机测试界面内容,支持的能力包括:shell启动、拉起整机应用、多种注入方式、设置随机种子、打印运行日志和生成报告。专项测试主要提供对指定应用控件进行测试,支持的能力包括:shell启动、顺序遍历及截图、测试休眠睡醒、录制回放、打印运行日志和生成报告。
实现原理
wukong部件架构图以及部件内子模块职责如下所述。
- 命令行解析:支持命令行获取参数并解析命令行参数。
- 运行环境管理:根据命令行初始化wukong整体运行环境。
- 系统接口管理:检查并获取指定的mgr,注册controller和dfx的faultlog的回调函数。
- 随机事件生成:通过random函数生成指定种子数的随机序列,生成事件。
- 事件注入:根据支持的事件类型向系统注入事件,依赖窗口、多模、安全等子系统。
- 异常捕获处理/报告生成:通过DFX子系统获取运行中的异常信息并记录log,生成报告。
约束与限制
1.wukong测试工具在API 9版本开始预置使用。
2.在低于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/
3.PC被检测设备连接后,才可执行命令行,支持单个和多个设备。
随机测试
1.打开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
命令中各参数含义:
专项测试
1.打开shell界面。
检测单个设备时,使用"hdc shell"命令打开;检测多个设备时,使用"hdc -t sn shell"命令打开,其中sn是设备的编号,可以通过"hdc list targets"获取。
2.执行专项顺序遍历测试命令:
# wukong special -C [bundlename] -p
命令中各参数含义:
查看测试结果
测试结果输出路径
执行完测试指令后,会自动生成测试结果,测试结果输出根路径如下:
- 2022/9/22之前的IDE版本,结果存放路径为:/data/local/wukong/report/xxxxxxxx_xxxxxx/
- 2022/9/22之后的IDE版本,结果存放路径为:/data/local/tmp/wukong/report/xxxxxxxx_xxxxxx/
测试报告文件目录
执行日志
wukong支持通过日志的方式查看操作历程。
reports/xxxxxxxx_xxxxxx/wukong.log
如果大家还没有掌握鸿蒙,现在想要在最短的时间里吃透它,我这边特意整理了《鸿蒙语法ArkTS、TypeScript、ArkUI、教学视频》以及《鸿蒙生态应用开发白皮书V2.0PDF》《鸿蒙开发学习手册》(共计890页)鸿蒙开发资料等…希望对大家有所帮助:https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3
鸿蒙语法ArkTS、TypeScript、ArkUI等…视频教程:https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3
OpenHarmony APP开发教程步骤:https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3
鸿蒙生态应用开发白皮书V2.0PDF:https://docs.qq.com/doc/DZVVkRGRUd3pHSnFG
南北双向高工技能基础:https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3
应用开发中高级就业技术:https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3
全网首发-工业级 南向设备开发就业技术:https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3
《鸿蒙开发学习手册》:
如何快速入门:https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3
1.基本概念
2.构建第一个ArkTS应用
3.……
开发基础知识:https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3
1.应用基础知识
2.配置文件
3.应用数据管理
4.应用安全管理
5.应用隐私保护
6.三方应用调用管控机制
7.资源分类与访问
8.学习ArkTS语言
9.……
基于ArkTS 开发:https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3
1.Ability开发
2.UI开发
3.公共事件与通知
4.窗口管理
5.媒体
6.安全
7.网络与链接
8.电话服务
9.数据管理
10.后台任务(Background Task)管理
11.设备管理
12.设备使用信息统计
13.DFX
14.国际化开发
15.折叠屏系列
16.……