Monkey进行稳定性测试你还不会吗?速度来get技术
在移动端自动化测试领域,有这样的一只”Monkey”,它一旦被执行,就会让被测的移动端应用程序像猴子一样随意乱跳,测试人员通常利用这只“Monkey”来对应用程序进行压力测试,从而评估和检查被测程序的稳定性。
Monkey命令的启动脚本是安卓系统的System路径下bin目录中,用户主要是通过adb相关的命令启动Monkey来进行操作。
Monkey命令在执行时,会结合搭配的参数,生成不同的伪随机事件流,而且也会在移动设备上执行对应的测试事件操作。
Monkey在进行稳定性测试过程中,如果被测程序崩溃或出现异常、发生了ANR,也就是程序未响应,Monkey会把相关的信息记录对应的日志,并判断测试过程是继续运行还是停止运行。按照参数中指定的级别反馈,在Monkey操作中还可以看到执行过程中产生的报告和生成的事件信息。
Monkey对手机App进行稳定性测试时,会通过11大事件来模拟用户的常规操作,但是这些事件在执行过程中都会充满随机性,主要有手势事件、触摸事件、屏幕旋转事件、键盘事件、二指缩放事件、系统按键事件、轨迹事件、基本导航事件、主要导航事件、启动Activity事件、其他类型方面的事件。
(图片来源于网络,如有侵权,请联系删之)
手势事件比较常见,模拟用户在手机屏幕的某一处的按下、抬起、任意移动等操作,Monkey命令可结合--pct-motion参数来配置该事件百分比。
触摸事件,有点类似于在手机上进行点击的操作,模拟用户在屏幕的某一处按下并抬起的操作,Monkey命令可结合--pct-touch参数来配置其事件百分比。
屏幕旋转事件也比较常见,就是用来模拟用户手机的横屏和竖屏切换,它算是一个隐藏事件,因为在官方文档中并没有太多的说明。Monkey命令可结合--pct-rotation参数来配置其事件百分比。
键盘事件主要集中在使用键盘产生的相关操作,比如点击输入框、键盘弹起与收回等。Monkey命令可结合--pct-flip参数来配置其事件百分比。二指缩放事件就是用户在手机屏幕上进行放大缩小手势操作。Monkey命令可结合--pct-pinchzoom参数来配置其事件百分比。
系统按键事件,主要是指点击系统自带的使用按键,比如点击返回键、音量调节键等。Monkey命令可结合--pct-syskeys参数来配置其事件百分比。轨迹事件,现在看来几乎是没有的,这个事件就是模拟轨迹球的操作,像那种一系列的曲线滑动操作,Monkey命令可结合--pct-trackball参数来配置其事件百分比。
基本导航事件,一般用的比较少,模拟输入设备的上、下、左、右按键的操作,现在手机上几乎没这些操作了。Monkey命令可结合--pct-nav参数来配置其事件百分比。
主要导航事件通常会产生UI界面中的动作,比如回退按键、菜单按键等。Monkey命令可结合--pct-majornav参数来配置其事件百分比。
启动Activity事件,可能不太好理解,简单来说,相当于是在手机上启动一个App的活动页面,Monkey命令可结合--pct-appswitch参数来配置其事件百分比。
最后就是其他类型事件,就是除前面说的那些外,如按键、其他不常用的设备上的按钮等。Monkey命令可结合--pct-anyevent参数来配置其事件百分比,但是该事件现在很少使用。
如果有小伙伴们不清楚Monkey的相关操作,可以及时关注公众号,也可以给小编留言,满满的技术干货可以提供大家学习和了解哦!
- END -
绵薄之力
最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助……
相关文章
- 【华为云技术分享】人脸识别算法的训练之路(上)
- 【华为云技术分享】【测试微课堂】 有的放矢制定测试计划
- 【华为云技术分享】【测试微课堂】测试金字塔和持续自动化测试
- 【华为云技术分享】浅谈服务化和微服务化(上)
- 【华为云技术分享】关于Linux下Nginx的安装及配置
- 【技术贴】Maven打包文件增加时间后缀
- java 11 移除的一些其他内容,更简化的编译运行程序,Unicode 10,移除了不太使用的JavaEE模块和CORBA技术,废除Nashorn javascript引擎,不建议使用Pack200 相关api
- 自动化测试技术的演进
- EasyNVR无插件流媒体服务器前端技术防止重复提交的方法
- 大数据技术面临的三个重要技术问题
- 19、照相机技术
- 云效无线测试平台新品发布 用技术驱动企业提效
- QoS队列调度技术详解
- DL之DNN优化技术:自定义MultiLayerNet【5*100+ReLU】对MNIST数据集训练进而比较三种权重初始值(Xavier参数初始化、He参数初始化)性能差异
- 【华为云技术分享】测试微课堂 | 有的放矢制定测试计划
- 【Python算法】实验4-减治技术
- 目前最新微服务架构技术栈选型
- 软件测试技术之解析图灵测试离我们还有多远
- 软件测试技术之性能测试进阶—并发测试的方法
- 软件测试技术之解析图灵测试离我们还有多远
- 测试技术之自动化测试的12个认识误区
- 技术分享 | 黑盒测试方法论-判定表
- 阿里P8大佬的自动化测试学习路线!2021最新技术~
- 一文读懂Flex Ethernet(FlexE)技术
- [SSD核心技术:FTL 12] 固态硬盘CopyBack技术详解
- 状态机设计技术
- 软件测试技术-测试平台配置(下)