1、下载Android SDK

2、打开SDK Manager.exe自动下载

3、配置环境变量

将platform-tools的路径(如: C:\001myWorkspace\eclipse(MAVEN and SVN)\android-sdk-windows\platform-tools )添加到path中

4、下载配置java JDK

5、测试

cmd进入控制台,输入adb,查看adb命令是否可用

6、连接手机

1.在手机上设置【设置】--【系统设置】--【开发者选项】--开启【USB调试】模式

2.将手机通过数据线和电脑相连接,使用adb devices 来查看设备

7、查看monkey的帮助,使用adb shell monkey -help

我们知道monkey的基本 语法是:adb shell monkey 【option】COUNT

8、查找android软件的包名:

方法1 将软件包名查出存在指定的文件中(适合知道包名是什么):

adb shell pm list package -f > C:\001myWorkspace\list.txt

文件内容:

方法2:

1.手机上启动要测试的apk,或者对它操作(确保它是最后一个被启动、操作的应用)

2. cmd中命令:adb shell dumpsys activity > C:\001myWorkspace\list2.txt

3.在文档中查找“Main stack”下的第一个“TaskRecord”,查找“A xxxxxx U”,其中xxxxxx即为软件包名称

9、monkey使用实战

1.让monkey启动iflytek.testTech.propertytool软件包,模拟20次随机事件

  • 在cmd中:adb shell monkey -p iflytek.testTech.propertytool 20

注意:

  • 如果不指定软件包名,那么默认 随机启动手机所有的aapp包
  • 如果要启动多个软件包,如启动A和B包:adb shell monkey -p A -p B 20

2.当程序崩溃或者发生任何失控异常,monkey将停止运行,如果设置--ignore-crashes,则将继续发送事件,直到计数完成

  • cmd中:adb shell monkey -p iflytek.testTech.propertytool --ignore-crashes 100

3.类似的还有:--ignore-timeout     --ignore-security-exceptions

4.设置touch(触摸)事件40%,motion(动作)事件60%

  • cmd中:adb shell monkey -p iflytek.testTech.propertytool --pct-touch 40 --pct-motion 60  100

注意:各事件的百分比之和不能超过100%

5.设置monkey执行速度 --throttle MILLISEC
  • adb shell monkey -p iflytek.testTech.propertytool --throttle 3000 100
说明:这是在事件之间插入固定的延迟,如果不设置,则monkey会尽可能的产生并执行事件(--randomize-throttle 表示随机延时
 
6.设置1s延迟结果分析
  • adb shell monkey -p iflytek.testTech.propertytool -v -v -v --throttle 1000 100 > C:\001myWorkspace\log.txt 

好了,本次到此,如果觉得有帮助,需要更多测试相关技术,欢迎来交流,联系方式如下:

Monkey测试练习的更多相关文章

  1. 【初学python】使用python调用monkey测试

    目前公司主要开发安卓平台的APP,平时测试经常需要使用monkey测试,所以尝试了下用python调用monkey,代码如下: import os apk = {'j': 'com.***.test1 ...

  2. monkey之三:monkey测试测略(摘抄)

    一.分类 Monkey测试针对不同的对象,不同的目的,采用不同的测略方案. 测试类型分为: 应用程序的稳定性测试和压力测试 测试对象分为: 单个APK和多个APK集合 测试目的分为: 解决问题的测试( ...

  3. Android Monkey测试(转载)

    Monkey是一款通过命令行来对我们APP进行测试的工具,可以运行在模拟器里或真机上.它向系统发送伪随机的用户事件流,实现对正应用程序进行压力测试. 官方介绍 :https://developer.a ...

  4. 安卓手机APP压力monkey测试

    一.Monkey概述 Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中.它向系统发送伪随机的用户事件流(如按键输入.触摸屏输入.手势输入等),实现对正在开发的应用程序进行 ...

  5. Android应用程序Monkey测试

    Monkey是Android SDK中附带的一个测试工具:Monkey用于进行压力测试,软件开发人员结合monkey打印日志和系统日志,解决测试中出现的问题. Monkey测试的特点:所有事件都是随机 ...

  6. Monkey测试4——Monkey命令行可用的全部选项

    Monkey命令行可用的全部选项 常规 --help 列出简单的用法. -v 命令行的每一个-v将增加反馈信息的级别. Level 0(缺省值)除启动提示.测试完成和最终结果之外,提供较少信息. Le ...

  7. Monkey测试3——Monkey测试结果分析

    Monkey测试结果分析 一. 初步分析方法: Monkey测试出现错误后,一般的差错步骤为以下几步: 1. 找到是monkey里面的哪个地方出错 2. 查看Monkey里面出错前的一些事件动作,并手 ...

  8. Monkey测试2——Monkey测试策略

    Monkey的测试策略 一. 分类 Monkey测试针对不同的对象和不同的目的采用不同的测试方案,首先测试的对象.目的及类型如下: 测试的类型分为:应用程序的稳定性测试和压力测试 测试对象分为:单一a ...

  9. Monkey测试1——Monkey的使用

    Monkey工具使用 一. 什么是Monkey Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中.它向系统发送伪随机的用户事件流(如按键输入.触摸屏输入.手势输入等),实 ...

  10. monkey测试

    一.理解monkey测试 1.Monkey测试是Android自动化测试的一种手段.Monkey测试本身非常简单,就是模拟用户的按键输入,触摸屏输入,手势输入等,看设备多长时间会出异常. 2.当Mon ...

随机推荐

  1. 基于 Spark 的文本情感分析

    转载自:https://www.ibm.com/developerworks/cn/cognitive/library/cc-1606-spark-seniment-analysis/index.ht ...

  2. ubuntu16.04 安装指定版本Node,升级npm到指定版本

    一.安装配置Node 1.下载(64位系统) wget https://nodejs.org/download/release/v10.1.0/node-v10.1.0-linux-x64.tar.g ...

  3. WebKit.net最简单使用方法

    WebKit.net是对WebKit的.Net封装,使用它.net程序可以非常方便的集成和使用webkit作为加载网页的容器.这里介绍一下怎么用它来显示一个网页这样的一个最简单的功能. 第一步: 下载 ...

  4. 零碎收集cocos知识

    Configuration类 返回环境变量 local function menuCallback(tag, pSender) printInfo("selected item tag:%d ...

  5. YTD易出现断层问题,请注意!

    declare @table table( company_id int ,--公司编号 quarter_num ),--季度 disti ),--分销商 num int --数量 ) insert ...

  6. node核心:异步流程控制

    Node.js的异步是整个学习Node.js过程中重中之重. 1)异步流程控制学习重点 2)Api写法:Error-first Callback 和 EventEmitter 3)中流砥柱:Promi ...

  7. Python通用网络爬虫脚本

    from sys import argv from os import makedirs,unlink,sep,mkdir from os.path import dirname,exists,isd ...

  8. Python面试题目之深浅拷贝浅析

    # copy.copy 浅拷贝 只拷贝父对象,不会拷贝对象的内部的子对象. **只是简单的指针赋值 # copy.deepcopy 深拷贝 拷贝对象及其子对象 **指针赋值,且内容拷贝 用一个简单的例 ...

  9. poj1942 Paths on a Grid(无mod大组合数)

    poj1942 Paths on a Grid 题意:给定一个长m高n$(n,m \in unsigned 32-bit)$的矩形,问有几种走法.$n=m=0$时终止. 显然的$C(m+n,n)$ 但 ...

  10. MySQL "java.lang.IllegalArgumentException: HOUR_OF_DAY: 2 -> 3" 问题解析

    抛出异常截图: 异常原因 系统时区原因. 解决办法 在数据库连接串加上 &serverTimezone=Asia/Shanghai 即可~ conn_str="jdbc:mysql: ...