一.为何要开展压力测试html
a.提升产品的稳定性;b.提升产品的留存率python
二.何时开展压力测试多线程
a.首轮功能测试经过后;b.下班后的夜间进行app
三.7个基础知识(理论部分)工具
3.1 手动测试场景与自动测试场景post
3.2 Monkey测试工具介绍测试
Monkey是发送伪随机用户事件的工具;Monkey在手机系统里;Monkey须要借助ADB使用;ui
3.3 MonkeyScript测试命令集合介绍url
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来实现多线程、
循环操做等来执行脚本,能够帮助咱们完成重复的操做过程!
以上简单介绍了用Monkey作Android App的压力测试,但愿对初学者有所帮助。