App压力测试——(实践)

来源:互联网 发布:公司淘宝培训协议书 编辑:程序博客网 时间:2024/05/16 19:47

一,环境准备

1.安装Android SDK

可参考我前面的博客Android SDK环境的安装准备

2.安装python (这个我就不再赘述了,相信大家都会)

3.下载Android模拟器

打开AVD manager.exe文件,开启的你模拟器。
(具体可参考http://blog.csdn.net/mtbaby/article/details/78624670)

二,一个App的压测实践

Step1:在手机“开发者选项”上,将USB调试选中。

Step2:确认手机和电脑已经成功连接。

adb devices

在windows环境中,打开cmd命令框,打开手机模拟器,输入命令adb devices(我这里连接了两个模拟器,所以有两条记录)

这里写图片描述

Step3:安装测试App

adb install package.apk

Step4:发送压力指令

adb shell monkey 1000

即:monkey帮助我们完成1000个指令,那这1000个指令到底是什么,我们不得而知,反正是随机的1000个指令,包括音量大小、截屏、滑屏、up、down操作……

注意:我这里连接了两个模拟器 ,那到底我在操作哪个模拟器呢?这里我们需要用命令 -s+设备名 来区分,如果你只连接了一个设备,就直接用

adb shell monkey 1000

这里写图片描述

1 . //activityResuming <app package>

在一个App从前台调入后台,再从后台恢复到前台的过程,就会出现这一行信息。

2 . Events injected:1000

我们完成1000个事件,这里显示1000,说明没有报错。

如果我们想要对某一个特定的app进行压力测试的话怎么办呢?
那就要指定这个App包名,那如何获取App包名呢?

Step5:获取App包名

命令:

Windows:adb logcat|findstr START
Linux:adb logcat|grep START

说明:

logcat是指:输出手机上所有的App执行过程中的log信息。
grep START是指:对日志信息中包含有START标签日志进行输出。

这里写图片描述

OK,那在以上图片中,我们找到START这个标签,START后面的就是我们需要的信息,比如:

cmp=com.android.email/.activity.setup.AccountSetupBasics

说明:斜线(/)前面的com.android.email就是App包名,斜线(/)后
.activity.setup.AccountSetupBasics就是Activity名

那比如我们要获取计算器的包名,这时候我们点击模拟器上的计算器,就会打印出一行log,如图:

这里写图片描述

我们获取到计算器的包名是com.android.calculator2,接下来我们对计算器这个App进行压测。

Step6:对计算器App进行压力测试(执行1000个事件)

命令adb shell monkey -p com.android.calculator2 1000

大家试一下,看看效果,是不是没有再调起其他应用。

原创粉丝点击