• Android App 压力测试方法(Monkey)


    转载:https://www.cnblogs.com/ailiailan/p/6543166.html

    Android App 压力测试方法(Monkey)

     

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

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

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

     MonkeyRunner的实现脚本如下图:

     

    4.12 MonkeyRunner补充说明

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

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

    以上简单介绍了用Monkey做Android App的压力测试,希望对初学者有所帮助。

  • 相关阅读:
    Linux系统根目录各文件夹的含义
    openstack与VMware workStation的区别
    VMWare的网络
    VMware Workstation 的安装和使用
    Jmeter简介
    加快建设创新型国家
    c语言指针详解
    [翻译]NUnit--前言(一)
    [翻译]NUnit--Getting Started(二)
    [测试]单元测试框架NUnit
  • 原文地址:https://www.cnblogs.com/yuany66/p/11458697.html
Copyright © 2020-2023  润新知