您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
   
 
     
   
 订阅
  捐助
Android App 压力测试方法(Monkey)
 
作者:袁莹
  2697  次浏览      17
2020-8-20
 
编辑推荐:
以上简单介绍了用Monkey做Android App的压力测试,希望对初学者有所帮助。
本文来自于博客园,由火龙果软件Alice编辑、推荐。

一.为什么要开展压力测试

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.12 MonkeyRunner实践

目标:实现在搜索框中输入查询词,并截图

MonkeyRunner的实现脚本如下图:

4.13 MonkeyRunner补充说明

MonkeyRunner只能实现功能性的自动化过程,如果想让MonkeyRunner执行多次的话,可以通过python脚本来实现,也就是说用python来实现多线程、

循环操作等来执行脚本,可以帮助我们完成重复的操作过程!

 

 
   
2697 次浏览       17
相关文章

深度解析:清理烂代码
如何编写出拥抱变化的代码
重构-使代码更简洁优美
团队项目开发"编码规范"系列文章
相关文档

重构-改善既有代码的设计
软件重构v2
代码整洁之道
高质量编程规范
相关课程

基于HTML5客户端、Web端的应用开发
HTML 5+CSS 开发
嵌入式C高质量编程
C++高级编程
最新课程计划
信息架构建模(基于UML+EA)3-21[北京]
软件架构设计师 3-21[北京]
图数据库与知识图谱 3-25[北京]
业务架构设计 4-11[北京]
SysML和EA系统设计与建模 4-22[北京]
DoDAF规范、模型与实例 5-23[北京]
 
最新文章
Flutter-你还在滥用StatefulWidget吗
移动APP安全测试要点
深入浅出 Kotlin 协程
iOS 组件化 —— 路由设计思路分析
移动端跨平台开发的深度解析
最新课程
Android高级移动应用程序开发
Android应用开发
Android系统开发
Android应用高级开发
移动互联网应用开发(iOS,Android,HTML5)
更多...   
成功案例
北京 iOS开发技术深入研究
某企业 Android高级移动应用程序开发
中体彩 Android产品级测试
移动通信 移动互联网应用开发原理
某电力行 android开发平台最佳
更多...