什么是Monkey测试?

Monkey测试:

  是Andriod是自动化测试的一种手段,Monkey测试本身非常简单,就是模拟用户的按键输入,触摸屏输入,手势输入等,看设备多久时间会出现异常(比如调节音量,亮度调节,横竖屏切换,截图,播放音乐)

为什么要做Monkey测试? 模拟用户,稳定性

  模拟人的操作

  模拟人长时间的测试

  模拟人不同场景操作

怎么去做Monkey测试?

准备工作:

1)电脑端:androidsdk/JDK配置环境变量

2)手机端:手机选择

3)建议真机测试,学习可以试用模拟器(夜神,逍遥,天天,雷电),工作不要用个人手机和模拟机

monkey测试不需要root,也不建议刷机

测试机:获取root权限  获取底层数据

4)配置:

版本号,连续点击5-7次,开发者模式开启

USB调试:开发者选项------>打开USB调试

连接手机:USB/Wifi同一局域网

cmd命令:输入adb devivces

devices:表示正常

offline:拔插USB即可  模拟器---模拟器升级到最新版本

no devices:驱动

unauthorized:未授权

可能遇到的问题?端口占用 ,检查端口占用的命令:netstat-ano|findstr “5037”

360、手机助手可能会占用5037的端口,卸载掉

 

Monkey测试:简单命令

参数:

1.count 事件数,必填

2.--ignore-crashes:崩溃,闪退

--ignore-timeouts:超时,无响应

如果使用这个参数,发生奔崩溃或者无响应的时候,会结束应用进程,重新打开继续执行,直到事件次数结束

不使用该参数,发生上述问题,monkey测试赛停止在问题界面--缺乏稳定性测试的意义

adb shell monkey:得到所有monkey的参数

--ignore-security-exceptions :安全认证

忽略测试过程中发生的安全方面的认证等的问题,一旦发生该类的问题后,结束app的进程,或者继续操作,知道设置的次数完成,一般情况都要用上

 

怎么固定到具体的app?

-p包名,指定到具体的某一个app

adb shell pm list package -3  获取用户安装的第三方app的包名

adb shell pm list package -s  获取系统的app包名

 

确认包名:adb shell dumpsys activity| find “mFocusedActivity”

显示当前正在使用的app

 

-s SEED 定义明确的seed

N个seed

每一个seed可能会发N个bug

bug总量会特别多--不利于测试,稳定性验证

======>要定义唯一seed值,monkey测试赛从头到尾都用这个seed值

 

[-v [-v] ... ]:日志的详细程度  共3个

v越多,日志越详细

 

常用命令:

-p  指定包名    com.hpbr.bosszhipin

adb shell monkey -p  com.hpbr.bosszhipin   200---->  boss直聘App,执行200次的事件操作

 

-v 输出日志的级别:-v -v -v 根据项目的质量要求,一般-v -v。华为常用-v -v -v,日志最详细

adb shell monkey -p  com.hpbr.bosszhipin  -v  200 

 

adb shell monkey -p  com.hpbr.bosszhipin  -v --ignore-crashes  --ignore-timeouts  --ignore-security-exceptions 200 

 

-s seed 数字型的数值

adb shell monkey -p  com.hpbr.bosszhipin  -v  -s  3468  200 

√ 开发复现或者验证bug能够以相同的序列进行操作:

事先设定,需要项目开始执行monkey测试时候到monkey测试结束的时候是一致的】

 

monkey finished 表示monkey完成并没有发生问题,其他任何状态都是bug

 

遇到的问题?

1.monky测试的时候自动退出app账号了怎么办?

可以通过其它脚本或者命令来检测是否退出,如果退出就进行登录

或者更换seed值,也能达到要求

 

2.monkey测试可以针对固定步骤或者功能或者模块进行压力测试?

不可以,可以采用自动化的方式实现

 

3.monkey测试的事件次数或者时间多少?

次数:35-36万次  8-10小时  ,下班执行,早上来看执行结果

 

 

 

工作中Monkey的使用

日志的分析

bug的定位

bug编写规范

anr日志提取

adb logcat的使用

后续补上。。

 

上一篇:set.seed的作用


下一篇:Python生成8位随机字符串的方法分析