鸿蒙Harmony测试-wukong稳定性工具(类似Android的Monkey测试)

一、功能介绍

        wukong是系统自带的一种命令行工具,支持Ability的随机事件注入、控件注入、异常捕获、报告生成和对Ability数据遍历截图等特性。通过模拟用户行为,对系统或应用进行稳定性压力测试。wukong分为随机测试、专项测试和专注测试。

        随机测试是指随机测试界面内容,支持的能力包括:shell启动、拉起整机应用、多种注入方式、设置随机种子、打印运行日志和生成报告。

        专项测试主要提供对指定应用控件进行测试,支持的能力包括:shell启动、顺序遍历及截图、测试休眠睡醒、录制回放、打印运行日志和生成报告。

        专注测试主要提供对指定控件的注入测试,支持的能力包括:shell启动、拉起整机应用、多种注入方式、设置随机种子、设置专注控件类型、设置注入控件次数、打印运行日志和生成报告。

二、功能特性及命令说明 

前提约束: 

        鸿蒙终端设备需已连接到PC端,支持单个和多个设备。

          所有命令行执行前需要先进入shell模式

2.1 命令说明

命令

说明

version

获取wukong版本信息。

help

获取wukong帮助信息。

appinfo

查询支持拉起应用bundleName和对应的mainAbility名。

special

wukong专项测试。

exec

wukong随机测试。

focus

wukong专注测试。

2.2 进入shell模式     

 若为单设备,则直接输入如下命令进入shell模式

   若为多设备,则需先获取sn号,先输入hdc list targets获取sn号,然后进入shell模式

2.3 获取应用的bundle name和ability name

2.4 查看帮助命令

三、随机测试

3.1 命令参数

命令

功能

必选

说明

-c,--count

设置执行次数,与测试总时间-T冲突。二者取其一。

单位次数,默认10次。

-i,--interval

设置执行间隔。

单位ms,默认1500ms。

-s,--seed

设置随机种子。

配置相同随机种子,会生成相同随机事件序列。

-b,--bundle[bundlename,……,bundlename]

设置本次测试的允许应用名单,与-p冲突。

默认测试当前设备所有应用(应用名称用英文逗号隔开)。

-p,--prohibit[bundlename,……,bundlename]

设置本次测试的禁止应用名单,与-b冲突。

默认不禁止任何应用(应用名称用英文逗号隔开)。

-d,--page[page,……,page]

设置本次测试的禁止页面名单。

系统默认禁止pages/system页面(页面名称用逗号隔开)。

-a,--appswitch

设置应用随机拉起测试比例。

默认10%。

-t,--touch

设置屏幕随机触摸测试比例。

默认10%。

-S,--swap

设置屏幕随机移动测试比例。

默认3%。

-m,--mouse

设置屏幕随机鼠标测试比例。

默认1%。

-k,--keyboard

设置屏幕随机键盘操作测试比例。

默认2%。

-H,--hardkey

设置随机物理按键测试比例。

默认2%。

-r,--rotate

设置随机屏幕旋转测试比例。

默认2%。

-C, --component

设置随机控件测试比例。

默认70%。

-I, --screenshot

控件测试截图。

-

-T,--time

设置测试总时间,与设置执行次数-c冲突。二者取其一。

单位分钟,默认10分钟。

-e, --allow ability

设置允许测试的ability。

-

-E, --block ability

设置禁止测试的ability。

-

-Y, --blockCompId

设置不进行注入的CompId。

-

-y, --blockCompType

设置不进行注入的CompType。

-

-B, --checkBWScreen

设置启用黑白屏检测。

-

-U, -uri

设置应用拉起页面uri。

-

-x, -uriType

设置应用拉起页面uriType。

-

3.2 示例

3.2.1 指定应用测试

命令:wukong exec -b bundlename

3.2.2 设置允许测试和禁止测试的ability

命令:wukong exec -b bundlename -e bundlename.allowability -E bundlename.blockability

    注:若配置-e、-E则须配置-b来指定应用

四、专项测试

4.1 命令参数说明

命令

功能

必选

说明

-k, --spec_insomnia

休眠唤醒专项测试。

-

-c, --count

设置执行次数。

单位次数,默认10次。

-i, --interval

设置执行间隔。

单位ms,默认1500ms。

-S, --swap

滑动测试。

-

-s, --start[x,y]

设置滑动测试起点坐标。

坐标均为正值。

-e, --end[x,y]

设置滑动测试终点坐标。

坐标均为正值。

-b, --bilateral

设置往返滑动。

默认不往返滑动。

-t, --touch[x,y]

点击测试。

-

-T, --time

设置测试总时间。

单位分钟,默认10分钟。

-C, --component

控件顺序遍历测试。

需要设置测试应用名称。

-r, --record

录制。

需要指定录制文件。

-R, --replay

回放。

需要指定回放文件。

-p, --screenshot

控件测试截图。

-

4.2  示例

4.2.1 休眠唤醒专项测试

命令:wukong special -k -i 5000

4.2.2 指定应用的控件顺序遍历测试

命令:wukong special -C [bundlename] -p

五、专注测试

5.1 命令参数说明

命令

功能

必选

说明

-n,--numberfocus

设置每个控件注入的次数。

单位次数。

-f, --focustypes

设置需要专注的控件类型。

以英文逗号隔开。

-c,--count

设置执行次数,与设置执行时间-T冲突。二者取其一。

单位次数,默认10次。

-i,--interval

设置执行间隔。

单位ms,默认1500ms。

-s,--seed

设置随机种子。

配置相同随机种子,会生成相同随机事件序列。

-b,--bundle[bundlename,……,bundlename]

设置本次测试的允许应用名单,与-p冲突。

默认测试当前设备所有应用(应用名称用英文逗号隔开)。

-p,--prohibit[bundlename,……,bundlename]

设置本次测试的禁止应用名单,与-b冲突。

默认不禁止任何应用(应用名称用英文逗号隔开)。

-d,--page[page,……,page]

设置本次测试的禁止页面名单。

系统默认禁止pages/system页面(页面名称用逗号隔开)。

-a,--appswitch

设置应用随机拉起测试比例。

默认10%。

-t,--touch

设置屏幕随机触摸测试比例。

默认10%。

-S,--swap

设置屏幕随机移动测试比例。

默认3%。

-m,--mouse

设置屏幕随机鼠标测试比例。

默认1%。

-k,--keyboard

设置屏幕随机键盘操作测试比例。

默认2%。

-H,--hardkey

设置随机物理按键测试比例。

默认2%。

-r,--rotate

设置随机屏幕旋转测试比例。

默认2%。

-C, --component

设置随机控件测试比例。

默认70%。

-I, --screenshot

控件测试截图。

-

-T,--time

设置测试总时间,与设置执行次数-c冲突。二者取其一。

单位分钟,默认10分钟。

-e, --allow ability

设置允许测试的ability。

-

-E, --block ability

设置禁止测试的ability。

-

-Y, --blockCompId

设置不进行注入的CompId。

-

-y, --blockCompType

设置不进行注入的CompType。

-

-B, --checkBWScreen

设置启用黑白屏检测。

-

5.2 示例

5.2.1 随机拉起应用

命令:wukong focus -a 1 -T 2 -I

开始执行:

2分钟后,执行结束:

命令中各参数含义:

命令

参数值

说明

wukong focus

-

主命令。

-a

1

参数设置应用随机拉起测试比例100%。

-T

2

设置测试总时间,2分钟。与设置执行次数-c冲突。二者取其一。

-I

-

控件测试截图。

5.2.2  屏幕随机触摸测试

命令:wukong focus -s 10 -i 1500 -a 0.25 -t 0.75 -c 100

命令中各参数含义:

命令

参数值

说明

wukong focus

-

主命令。

-s

10

参数设置随机种子,10为种子值。

-i

1500

参数设置应用拉起间隔为1500ms。

-a

0.25

参数设置应用随机拉起测试比例25%。

-t

0.75

参数设置屏幕随机touch测试比例为75%。

-c

100

参数设置执行次数为100次。

5.2.2  

六、查看测试结果

   6.1 测试结果输出路径

   执行完测试指令后,会自动生成测试结果(文件夹格式:年月日_时分秒)

   测试结果输出根路径如下:

    /data/local/tmp/wukong/report/xxxxxxxx_xxxxxx/

6.2 测试报告文件目录

我们进入任意一个文件夹,查看其目录内容

类型

描述

exception/

存放本次测试产生的异常文件。

wukong_report.csv

测试报告统计汇总。

wukong.log

测试操作历程。

6.3 查看操作日志

wukong支持通过hdc命令将日志获取到本地,查看操作历程

我们可以用hdc file recv获取wukong日志到本地:

然后再使用Notepad++查看就非常方便了:

注:经多次验证在wukong 3.2.0.0版本上某些命令参数不对或者报错,比如wukong exec --help,正常情况下这个是帮助命令,但是我在Mate60上(API版本5.0.5)执行却不是帮助命令,如下图。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

寻觅神话06

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值