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. php://input、$_POST与$GLOBALS['HTTP_RAW_POST_DATA']三者的区别

    $_POST 只有Coentent-Type的值为application/x-www.form-urlencoded和multipart/form-data两种类型时,$_POST才能获取到数据. $ ...

  2. mysql数据库表的查询操作-总结

    转自:https://www.cnblogs.com/whgk/p/6149009.html 序言 1.MySQL表操作(创建表,查询表结构,更改表字段等), 2.MySQL的数据类型(CHAR.VA ...

  3. (1)R介绍

    1. R初窥 从CRAN(The Comprehensive R Archive Network)cran.r-project.org—mirrors.html中选择一个镜像,然后下载合适的安装包(R ...

  4. gcc报错 can not be used when making a shared object; recompile with -fPIC

    使用google protobuf时,出现错误 /usr/bin/ld: /usr/local/lib/libprotobuf.a(message_lite.o): relocation R_X86_ ...

  5. postman设置环境变量,字段值经过json转换后数值字节长度超过上限的问题

    在使用Tests进行环境变量的设置时,遇到这么一种情况,在返回的responseBody中的userId字段,字段返回的是数值类型,再经过json转换之后,发现保存的值跟接口返回的值不一致:如下图: ...

  6. java基础知识 构造方法

    在java里面,构造方法也就是构造函数 构造函数=构造方法;构造方法是一种特殊的方法,具有以下特点.(1)构造方法的方法名必须与类名相同.(2)构造方法没有返回类型,也不能定义为void,在方法名前面 ...

  7. xshell过期了怎么办,是学生就用学生版吧

    访问这里:https://www.netsarang.com/download/software.html 点击Free for Home & School 下载家庭版和学生版 来到这个页面了 ...

  8. Educational Codeforces Round 59 Solution

    A. Digits Sequence Dividing 签. #include <bits/stdc++.h> using namespace std; #define N 1010 ch ...

  9. Python os.system()调用.sh脚本

    参考: python调用shell脚本的两种方法| Jeff的妙想奇境 已解决--求教python如何调用.sh文件- 查看主题• Ubuntu中文论坛 CODE #!/usr/bin/env pyt ...

  10. 【转载】linux fork死循环炸弹及其预防

    转自linux fork死循环炸弹及其预防 在Linux系统下执行这段代码 :(){ :|:& }:: 就会引起死机,一旦执行起来后,唯一的方法就是重启系统.实际上这段代码是一段无限递归代码, ...