1# WuKong部件 2## 工具介绍 3 4OpenHarmony稳定性测试自动化工具,通过模拟无序的用户行为,对OpenHarmony系统及应用进行稳定性压力测试。 5 6## 支持功能 7 8> 当前版本支持如下功能,扩展能力后续规划持续改进 9 10- 支持RK3568、Hi3516 11- 支持Shell启动 12- 支持整机应用拉起 13- 支持设置随机种子,按固定随机序列拉起 14- 支持设置应用拉起间隔,默认1000ms 15- 支持设置应用拉起次数,默认次数10次 16- 支持查询应用拉起bundle名、ability名 17- 支持注入随机事件 18 - Touch事件注入 19 - Motion事件注入 20- 支持wukong运行日志打印 21- 支持屏蔽unvisible应用启动 22- 支持单应用测试 23- 支持休眠唤醒专项测试 24 25--- 26 27## 使用方式 28 29```bash 30> hdc_std shell 31# wukong exec -s 10 -i 1000 -a 0.28 -t 0.72 -c 100 32``` 33 34```bash 35> hdc_std shell wukong exec -s 10 -i 1000 -a 0.28 -t 0.72 -c 100 36``` 37 38wukong exec 为主命令,-s 参数设置随机种子,10为种子值;-i 参数设置应用拉起间隔,1500单位ms,-c 参数设置执行次数 39 40--- 41 42## 命令说明 43 44| 命令 | 功能 | 45| :------------- | :--------------------------------------------- | 46| wukong version | 查询WuKong版本号 | 47| wukong help | 查询WuKong帮助信息 | 48| wukong appinfo | 查询支持拉起应用entryName和对应的mainAbility名 | 49| wukong exec | 执行WuKong测试命令,和选项配合使用 | 50 51--- 52 53## 选项说明 54 55| 短选项 | 长选项 | 功能 | 备注 | 56| :----- | --------------- | :--------------------------- | :------- | 57| -v | --version | 查询WuKong版本号 | | 58| -k | --spec_insomnia | 设置休眠唤醒专项测试 | | 59| -h | --help | 查询WuKong帮助信息 | | 60| -u | --touch_pos | 设置单次touch事件 | | 61| -s | --seed | 设置随机种子 | 随机值 | 62| -i | --interval | 设置执行间隔 | 单位ms | 63| -c | --count | 设置执行次数 | 单位次数 | 64| -b | --bundle | 设置单应用测试 | 被测应用 | 65| -a | --appswitch | 设置所有应用随机拉起测试比例 | 百分比 | 66| -t | --touch | 设置屏幕随机touch测试比例 | 百分比 | 67| -x | --xSrc | 设置滑动起点 x 坐标 | 像素 | 68| -y | --ySrc | 设置滑动起点 y 坐标 | 像素 | 69| -m | --xDst | 设置滑动终点 m 坐标 | 像素 | 70| -n | --yDst | 设置滑动终点 n 坐标 | 像素 | 71 72 73> 备注:配置相同随机种子,会生成相同随机事件序列 74 75--- 76 77## 推送wukong至设备 78 79> 稳定性测试自动化工具wukong 3.1Release版本暂时不随版本编译,使用时需自行编译后推送至被测OpenHarmony设备。后续随版本编译后,直接使用版本即可。 80 81 82### 下载代码 83 84在工程test目录下执行如下命令下载wukong仓代码。 85 86```shell 87git clone https://gitee.com/openharmony/wukong.git -b OpenHarmony-3.1-Release 88``` 89### 编译修改 90 91修改build仓中subsystem_config.json文件,增加如下字段。 92 93```shell 94"wukong": { 95 "path": "test/wukong", 96 "name": "wukong" 97 }, 98``` 99修改productdefine_common仓中rk3568.json文件,增加如下字段。 100```shell 101"wukong:wukong":{}, 102``` 103 104 105### 构建方式 106 107```shell 108./build.sh --product-name rk3568 --build-target wukong 109``` 110 111### 推送方式 112 113```shell 114hdc_std shell mount -o rw,remount / 115hdc_std file send wukong / 116hdc_std shell chmod a+x /wukong 117hdc_std shell mv /wukong /bin/ 118``` 119 120### Reference 121 122[monkey](https://github.com/aosp-mirror/platform_development/tree/master/cmds/monkey)