zoukankan      html  css  js  c++  java
  • monkey基本使用

    一、介绍

    1、功能:采用伪随机测试的方式,来完成app的稳定性

    2、执行原理:通过monkey的shell脚步去执行安卓系统中自带的monkey。jar工具

    3、通常用于盲测,压力测试和冒烟测试

    (1)盲测:忽略功能和业务逻辑进行随意的测试

    (2)压力测试:通过长时间的高频操作,测试app在测试机上运行的性能(仅仅靠这个还不够)

    (3)冒烟测试:在进行功能测试之前,通过monkey测试app的基本可用性

    4、局限性:无法遵循功能逻辑进行自动化测试

    二、adb介绍和环境搭建

    1、安装adb,用pc在手机上调用monkey的shell脚步,去执行monkey.jar

    2、adb是C/S架构的命令行工具

    3、环境搭建

    adb版本查看:adb version

    三、monkey命令介绍:

    1、命令执行方式:adb shell monkey

    2、常用属性:

    (1)-p 选择包名(--pkg-whitelist-file白名单)

    (2)-v指定日志级别,一般用-v -v -v指定3级的详细日志

    (3)-s随机事件的种子数,种子数相同则生成相同的随机操作序列

    (4)--throttle 操作的延时

    (5)count 执行次数(该参数必须带上)

    3、获取app包名的命令:adb shell pm list package -3(-3代表第三方应用)

    4、指定某app进行测试:

    (1)该app包名为:com.timeweekly.timefinance

    (2)输入命令:adb shell monkey -p com.timeweekly.timefinance -v -v -v --throttle 300 500>E:MonkeyLog imeweekly.txt

    四、日志分析

    1、正常结束后,日志结尾一般能看到//Monkey finished;但是系统崩溃后,不一定能看到

    2、app无响应时日志文档结尾出现:Monkey aborted due to error

    3、一般在日志中查询关键字:exception、crash和error

    (1)exception:定位错误提示信息,给开发看,让开发改bug

    (2)crash:崩溃问题

    (3)anr:应用程序位响应

    4、当出错后,有可能是机型的兼容性问题,也有可能是app的问题

    5、出错类型举例:比如多次点击某个按钮,出现空指针错误

    五、高级参数的应用

    1、--ignore[事件类型] 若某些事件导致monkey脚步终止,可以该参数忽略问题后继续执行

    命令:adb shell monkey -p com.timeweekly.timefinance --throttle 200 --ignore-crashes --ignore-timeouts -v -v -v 10000 >E:MonkeyLog20190401.txt

    2、--pct[操作类型][该操作所占的百分比]指定某类操作的百分比,让monkey只做或不做某一类操作。

    --pct -touch 100 仅做触摸操作

    3、用monkey的种子编号(seed)去复现操作(-s seed序列),记得要关闭app后再执行该命令

  • 相关阅读:
    一条语句简单解决“每个Y的最新X”的SQL经典问题
    SqlServer数据库字典--表.视图.函数.存储过程.触发器.主键.外键.约束.规则.sql
    SqlServer数据库字典--索引.sql
    SqlServer2005或2008数据库字典--表结构.sql
    SqlServer2000数据库字典--表结构.sql
    sqlserver附加 mdf、ldf的方法(手记)
    收缩数据库 DBCC SHRINKFILE
    日志、字段备注查询、自增ID联系设置、常用存储过程
    常用sql 全记录(添加中)
    python类的继承和多态,获取对象信息
  • 原文地址:https://www.cnblogs.com/huilianglog/p/13718291.html
Copyright © 2011-2022 走看看