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. SpringBoot开启缓存注解

    https://blog.csdn.net/sanjay_f/article/details/47372967 https://www.cnblogs.com/lic309/p/4072848.htm ...

  2. mydumper/myloader使用详解

      mydumper安装:http://www.cnblogs.com/lizhi221/p/7010174.html mydumper原理:http://www.cnblogs.com/lizhi2 ...

  3. mysql_escape_string — 转义一个字符串用于 mysql_query

    string mysql_escape_string ( string $unescaped_string ) 本函数将 unescaped_string 转义,使之可以安全用于 mysql_quer ...

  4. 【android】移植IOS视图响应陀螺仪交互行为

    IOS有个很有趣味的特性:背景图片可以响应陀螺仪方向的变化,去改变X.Y轴上的值,从而让整个界面看着充满着灵性.具体步骤是:解锁苹果产品,在IOS7以上,摆动手势,观察桌面背景图片的变化. 刚好,我们 ...

  5. Win10取消开机密码方法

    1.开始菜单输入命令“netplwiz” 2.进入到用户账户页面,选择所需账户,把“要使用本计算机,用户必须输入用户名和密码”单选框取消勾选,点击应用 3.输入密码进行 这个时候会提示输入两次该账户的 ...

  6. python使用zipfile解压中文乱码问题

    在zipfile.ZipFile中获得的filename有中日文则很大可能是乱码,这是因为 在zip标准中,对文件名的 encoding 用的不是 unicode,而可能是各种软件根据系统的默认字符集 ...

  7. STM32F105 USB管脚Vbus的处理

    源:STM32F105 USB管脚Vbus的处理 对于STM32F105/107来说,为了监测USB的连接问题,程序默认是通过Vbus管脚进行检查的.但是Vbus管脚和UART1的TXD复用,导致我们 ...

  8. Vue学习笔记之Vue学习前的准备工作

    0x00 起步 1.扎实的HTML/CSS/Javascript基本功,这是前置条件. 2.不要用任何的构建项目工具,只用最简单的<script>,把教程里的例子模仿一遍,理解用法.不推荐 ...

  9. 20145201李子璇 《网络对抗》 Web基础

    1.实验后回答问题 (1)什么是表单 它在网页中主要负责数据采集功能,通过用户提交的一些数据来建立网站管理者与浏览者之间的桥梁. 两个组成部分:①HTML源代码用于描述表单(比如域,标签和浏览者在页面 ...

  10. Java静态内存与动态内存分配的解析

    1. 静态内存 静态内存是指在程序开始运行时由编译器分配的内存,它的分配是在程序开始编译时完成的,不占用CPU资源. 程序中的各种变量,在编译时系统已经为其分配了所需的内存空间,当该变量在作用域内使用 ...