Monkey压力测试
一.为什么要开展压力测试
a.提高产品的稳定性;b.提高产品的留存率
二.什么时候开展压力测试
a.首轮功能测试通过后;b.下班后的夜间进行
三.7个基础知识(理论部分)
3.1 手动测试场景与自动测试场景
3.2 Monkey测试工具介绍
Monkey是发送伪随机用户事件的工具;Monkey在手机系统里;Monkey需要借助ADB使用;
3.3 MonkeyScript测试命令集合介绍
3.4 异常测试结果分析
四.6个实践小案例
4.1 一次Android App的压测实践
需要准备的环境:1.Android SDK环境;2.python环境
压测过程:Step1. Step2.
Step3.
Step4.
Step5.
Step6.
4.2 Monkey高级参数——throttle实践
4.3 Monkey高级参数——seed实践
每一个seed值对应一个操作序列,seed值相同,操作序列就相同,最终的结果也是相同的,设定seed值可以用来复现bug
4.4 Monkey高级参数——触摸事件实践
加 -v 可以看到每次事件的详情
4.5 Monkey高级参数——其他事件实践
4.6 crash异常测试结果析取
4.7 anr异常测试结果析取
4.9 MonkeyScript常用命令介绍
其中,<scriptfile>是脚本文件;
一般只需要关注标红的3个参数就可以了;x,y坐标点可以通过uiautomatorviewer获取
4.10 MonkeyScript实践
实现上述流程的MonkeyScript脚本如下:
前4行的数据原文照抄就可以了,由于目前相关的资料很少,具体的含义不必深究。
这两条命令完成“点击”的操作;
如图,坐标(100,100)通过uiautomatorviewer获取;
4.11 MonkeyScript实践问题解决
遇到的问题:脚本执行后,调用的不是被测试app
问题出在第一行LaunchActivity这一行语句上,这一行语句没有生效!
具体原因是,测试app的工程文件内缺少一个属性值!如果缺少这一个属性值的话,app是不允许被外部调用的,也就是说通过命令行的方式是无法调用app的!
所以,在执行monkeyscript脚本时,要确认的几个点:
A.被测app是被允许外部调用的!
B.
通过adb logcat获得的activity名需要和package名合在一起作为第二个参数!
C.因为执行monkeyscript脚本没有调试功能,出现问题需要自己查找,所以在写monkeyscript脚本时一定要更加注意,特别是标点符号(一定是英文下的半角符号)!
4.12 MonkeyRunner常用API介绍
monkeyscript最大的弊端是在跑自动化脚本的时候不能截屏,而MonkeyRunner能做到这一点
MonkeyRunner的脚本用Python实现,如下图:
执行.py文件的方式如下图:用 monkeyRunner .py 文件的形式
4.13 MonkeyRunner实践
目标:实现在搜索框中输入查询词,并截图
MonkeyRunner的实现脚本如下图:
4.12 MonkeyRunner补充说明
MonkeyRunner只能实现功能性的自动化过程,如果想让MonkeyRunner执行多次的话,可以通过python脚本来实现,用python来实现多线程
循环操作来执行脚本,可以帮助我们完成重复的操作过程
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示