zoukankan      html  css  js  c++  java
  • monkey性能稳定性测试使用教程

    步骤:下载SDK -> 解压进入SDK Manager下载系统 -> 配置环境变量 -> 创建虚拟设备或连接真机 -> 进入命令模式按场景输入测试命令

    环境搭建

    1安装JDK(https://jingyan.baidu.com/article/363872ecd62f5f6e4ba16fcb.html)

    2下载Android sdk(http://tools.android-studio.org/index.php/sdk/),什么是Android sdk(https://baike.baidu.com/item/Android%20SDK/4378187?fr=aladdin)

    exe格式和zip格式都可以

     

    安装installer_r24.4.1-windows.exe文件,里面有两个应用程序: “SDK Manager.exe”(负责下载或更新SDK包) 和 “AVD Manager.exe”(负责创建管理虚拟机)。

    4、我们先运行“SDK Manager.exe”进行SDK下载,我选择为7.0版,点击install packages开始安装(此处下载是为搭建虚拟机和环境变量做准备)

    3个工具包和默认的也必须选择下载。

     

    下载说明:

     安装:

     

    进入漫长等待

     

    5、设置环境变量 
    第一种方法: 
    1) 新建一个ANDROID_HOME的环境变量加入sdkzip解压路径)安装路径

     

    2) 在path加入

    %ANDROID_HOME% ools;%ANDROID_HOME%platform-tools;

    或者

    第二种方法: 
    直接在解压的SDK文件,找到“platform-tools”“tools”并把这两个路径复制粘贴到Path环境变量里

    注意:前面如果没有执行在SDK Manager.exe中下载系统这一步,你的SDK解压包中可能没有platform-toolstools文件

     

     

    6、测试环境是否成功,运行DOS输入:

     

    adb

     

    结果示意图:

    或者输入adb shell 进入shell

    C:Users> adb shell

    generic_x86_64:/ $

    出现以上结果就证明安装OK

    未成功?

    尝试一下上面的第二种环境变量(虽然两种效果一样,但我的电脑就出现了这种莫名其妙的事情,尝试第二种就可以了)

     

    使用方法

    创建虚拟设备:

    此小章内容介绍的是虚拟设备的创建方法 
    电脑配置低创建完成有可能会有些卡顿 
    1、打开AVD Manager.exe

    2、创建

    注意CPU中的选项:

    版本不同界面也可能是这样

    3、运行虚设备 
    选择运行

    点击后:

    执行结果:

    如出现报错:emulator: ERROR: x86 emulation currently requires hardware acceleration

    解决办法下载haxm(http://www.pc6.com/softview/SoftView_436175.html)并安装  打开SDK Manager.exe在最下面Extras中找到选择安装(此方法某些版本系统提示不兼容)

     

    详细参考链接(https://blog.csdn.net/fantasywm/article/details/45054261)

     

    一直黑屏? 
    创建时应该是哪个配置选错了,或者仔细看一下前面的教程是不是少下什么包了

     

    执行压测

     

    我们可以使用虚拟设备或真机进行测试(命令一样):

     

    虚拟机: 按上面的小章节安装并运行 
    真机: usb连接手机,打开开发者模式 -> 开启USB调试(若提示是否允许调试,点是,不然不能某些操作)

     

    1、查看设备是否连接成功 
    进入DOSwindows+r)输入adb devices 
    虚拟设备开启后会显示如下结果:

     

    C:UsersAdmin>adb devices

     

    List of devices attached

     

    emulator-5554   device

     

     

    真机会出现如下类似结果机器型号不同显示结果可能不一致:

     

    C:UsersAdmin>adb devices

     

    List of devices attached

     

    GSLDU17A14004709        device

    2、安装apk程序(需要时)

    apk文件复制到android sdk对应platform-tools的目录下。

    adb install 文件名.apk #安装方法

    adb uninstall 包名 #卸载

    3、获取包名(测试时需要)

    方法一:

    adb shell pm list package -f  #显示所有apk包名包括系统

    执行结果:

    C:Users> adb shell pm list package -f

    package:/data/app/SmokeTestApp/SmokeTestApp.apk=com.android.smoketest

    package:/system/priv-app/CtsShimPrivPrebuilt/CtsShimPrivPrebuilt.apk=com.android.cts.priv.ctsshim

    package:/data/app/CubeLiveWallpapers/CubeLiveWallpapers.apk=com.example.android.livecubes

    package:/system/priv-app/TelephonyProvider/TelephonyProvider.apk=com.android.providers.telephony

    ........ #刚安装的虚拟设备都有好几十

    方法二:

    adb shell dumpsys window w | findstr / | findstr name= #会显示正打开的程序

    执行结果:

    C:UsersWeiBing>adb shell dumpsys window w | findstr / | findstr name=

          mSurface=Surface(name=com.android.email/com.android.email.activity.setup.AccountSetupFinal)  #如我们正在运行EmailAPP

    记住上面的包名:com.android.email

    更多获取包名的方法(http://www.51testing.com/html/93/136593-3714533.html)

     

    4、开始压测 
    方法:adb shell monkey -p your.package.name -v -v -v 100

     

    分析:

     

    参数-p用于约束限制,用此参数指定一个或多个包(Package,即App)。

     

    100是事件计数(即让Monkey程序模拟100次随机用户事件)

     

    -v -v -v 100 # 以深度为三级输出测试信息 一个两个-v也可以效果不同

    对上面第3步的Email APP执行测试

    adb shell monkey -p com.android.email --throttle 500 -v -v -v 100 > D:/monkey_log.txt  

    分析上面命令:

    adb shell : 是进入shell 也可和后面的语句分开写

    -p : 参数是指定一个包或多个,两个再-p package

    com.android.email  package name

    throttle 500  响应时间,500毫秒

    -v -v -v : 三级详细信息 也可一个两个-v详细程度不一样

    100  执行的操作量

    D:/monkey_log.txt :将结果日志存储到D盘下面取名为monkey_log.txt

    5、找到log查看结果:

    C:Users> adb shell monkey -p com.android.email --throttle 500 -v -v -v 100 > D:/monkey_log.txt

    :Monkey: seed=1520164404419 count=100

    :AllowPackage: com.android.email

    :IncludeCategory: android.intent.category.LAUNCHER

    :IncludeCategory: android.intent.category.MONKEY

    ....... # 此处省略一大堆

    Events injected: 100

    :Sending rotation degree=0, persist=false

    :Dropped: keys=0 pointers=0 trackballs=0 flips=0 rotations=0

    ## Network stats: elapsed time=4663ms (0ms mobile, 0ms wifi, 4663ms not connected)

    详细分析(http://www.360doc.com/content/14/0814/19/1438920_401863695.shtml)

    6、分析日志

    查找有无日志中的无响应问题和崩溃问题

    ## Network stats: elapsed time=5123ms (5123ms mobile, 0ms wifi, 0ms not connected)

    // Monkey finished #表明本次的Monkey没有异常,测试通过。

     

     

     

  • 相关阅读:
    如何让DataGridView根据数据“0”或“1”等值显示为“是”或“否”
    GridView控件RowDataBound事件中获取列字段的几种方法
    DataGridView 显示和隐藏DataGridViewButtonCell按钮的办法
    ASP.NET会话(Session)保存模式
    Update 两个表之间数据更新
    两表相连去除重复数据
    BS网站与Winform窗体的数据交互(WebService实现)
    winform 下实现消息传递机制
    SQL常用字符串函数
    HDU 威威猫系列故事——篮球梦
  • 原文地址:https://www.cnblogs.com/it-xian/p/11081523.html
Copyright © 2011-2022 走看看