51Testing软件测试论坛

标题: App压力测试——(实践) [打印本页]

作者: 测试积点老人    时间: 2019-1-14 15:15
标题: App压力测试——(实践)
一,环境准备

1.安装Android SDK
2.安装python (这个我就不再赘述了,相信大家都会)
3.下载Android模拟器

打开AVD manager.exe文件,开启的你模拟器。


二,一个App的压测实践
Step1:在手机“开发者选项”上,将USB调试选中。

Step2:确认手机和电脑已经成功连接。
  1. adb devices
复制代码

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

[attach]120974[/attach]

Step3:安装测试App
  1. adb install package.apk
复制代码


Step4:发送压力指令
  1. adb shell monkey 1000
复制代码
即:monkey帮助我们完成1000个指令,那这1000个指令到底是什么,我们不得而知,反正是随机的1000个指令,包括音量大小、截屏、滑屏、up、down操作……


注意:我这里连接了两个模拟器 ,那到底我在操作哪个模拟器呢?这里我们需要用命令 -s+设备名 来区分,如果你只连接了一个设备,就直接用
  1. adb shell monkey 1000
复制代码
[attach]120975[/attach]

  1. //activityResuming <app package>
复制代码

在一个App从前台调入后台,再从后台恢复到前台的过程,就会出现这一行信息。
  1. 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标签日志进行输出。


[attach]120976[/attach]


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

  1. cmp=com.android.email/.activity.setup.AccountSetupBasics
复制代码


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

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


[attach]120977[/attach]


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


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

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


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









欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2