Android app压测实践(moneky测试)

一个简单的压测步骤

  1. 在手机开发者选项中,将USB调试选上
  2. 确认手机和电脑已经连接成功,adb devices
  3. 安装测试app adb install package.apk
  4. 发送压力指令 adb shell monkey -p 包名 1000(指令的次数)
    • 获取包名 adb logcat | grep START
    • 启动测试app 在命令行界面查看包名

添加参数

  • throttle 事件之间延长时间。
    adb shell monkey -p 包名 --throttle 1000 延长1秒
  • seed 设置seed值记录本次执行的事件步骤,以供下次需要重复执行时可以重复操作
    adb shell monkey -p 包名 -s 100 设置sedd值为100
  • pct-touch 设定点击事件百分比
    adb shell monkey --pct-touch 100 设置点击事件100%
  • motion 设置滑动事件的百分比
  • --pct-trackball 设置轨迹球事件百分比
  • --pct-nav 设置基本导航事件百分比, 输入设备的 上下左右
  • --pct-majornav 设置主要导航事件百分比,兼容中间键,返回键,菜单键
  • --pct-syskeys 设置系统导航事件百分比, HOME、BACK、拨号及音量键
  • --pct-appswitch 设置启动Activity的事件百分比
  • -- pct-anyevent 设置不常用事件百分比
  • --ignore-crashes 设置忽略崩溃和异常
  • --ignore-timeouts 设置忽略ANR 超时事件
实例
adb shell monkey -p 包名  -v -v -v --pct-touch 40 --pct-motion 20  --pct-trackball 10 --pct-nav 10 --pct-majornav 10  --pct-syskeys 5 --pct-anyevent 5  --ignore-timeouts --ignore-security-exceptions --throttle 2000 1200000000 >F:\monkey.txt(log的路径)

查看ANR异常信息

当我们在手工测试app的时候出现的ANR情况可以通过以下步骤找到ANR异常的信息

  1. adb shell 进入手机
  2. cd /data/anr/ 进入手机目录
  3. ls
  4. 会有个traces.txt文件 查看文件 more traces.txt
  5. 找到跟我们测试包名相关的信息就可以找到异常的信息了。

Monkey Script

monkey只能实现随机操作的事件;Monkey Script 可以实现重复操作的事件

  • 执行命令
    adb shell monkey -f 执行的次数
  • Monkey Script脚本的命令
    1. DispatchTrackball命令: 轨迹球事件
      DispatchTrackball(int action, float x, float y)
      action 0代表按下,1代表弹起, x和y代表坐标点
    2. DispatchPointer命令:点击事件
      DispatchPointer(int action, float x, float y)
      action 0代表按下,1代表弹起, x和y代表坐标点
    3. DispatchString命令:输入字符串事件
      DispatchString(String text)
    4. LaunchActivity命令:启动应用
      LaunchActivity(pachage, Activity)
      pachage包名,Activity启动的页面名称
    5. UserWait命令:等待事件
      UserWait(1000)
    6. DispatchPress命令:按下的键盘值
      DispatchPress(int keycode)
      DispatchPress(66) # 66代表回车键

Monkey Script模拟搜索脚本实践

  1. 在电脑上创建脚本文件
    vim monkey-jb.script
    Android app压测实践(moneky测试)_第1张图片
    Monkey Script脚本
  2. 把电脑上的脚本push到手机上
    进入脚本目录adb push monkey-jb.script /data/local/tmp 把电脑上的脚本push到手机的tmp目录下
  3. 进入手机的tmp目录
    adb shell
    cd /data/local/tmp/
  4. 执行命令
    monkey -f monkey-jb.script 2 # 执行两次
    或者
    adb shell monkey -f /data/local/tmp/monkey-jb.script 2

注意这里有个坑:执行命令的时候需要在安卓AndroidManifest.xml文件下的
加上android:exported="true"> 作用是允许app被外部命令调起
< /activity >
还要注意的一点使用LaunchActivity(pachage, Activity)命令启动app时,后面的Activity名称需要和前面的包名连起来才能启动app。 格式:包名.Activity名称
否则无法启动测试的app

你可能感兴趣的:(Android app压测实践(moneky测试))