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. 使用JavaScript修改浏览器URL地址栏的实现代码

    现在的浏览器里,有一个十分有趣的功能,你可以在不刷新页面的情况下修改浏览器URL;在浏览过程中.你可以将浏览历史储存起来,当你在浏览器点击后退按钮的时候,你可以冲浏览历史上获得回退的信息,这听起来并不 ...

  2. python实现http接口自动化测试(完善版)

    今天给大家分享一个简单的Python脚本,使用python进行http接口的自动化测试,脚本很简单,逻辑是:读取excel写好的测试用例,然后根据excel中的用例内容进行调用,判断预期结果中的返回值 ...

  3. AVAudioFoundation(4):音视频录制

    本文转自:AVAudioFoundation(4):音视频录制 | www.samirchen.com 本文主要内容来自 AVFoundation Programming Guide. 采集设备的音视 ...

  4. LabView和DLL中的参数问题

    注意:在LabView中调用DLL函数时,一定要指定对应的参数类型,而不是选择“Adapt to Type”,否则会出错,不知道为什么书上是要选择“Adapt to Type”. 以下做个参考: 转自 ...

  5. 20155201 2016-2017-2 《Java程序设计》第一周学习总结

    20155201 2016-2017-2 <Java程序设计>第一周学习总结 教材学习内容总结 每一章的问题: 第一章 Java ME都有哪些成功的平台? 第二章 哪些情况可以使用impo ...

  6. Javaworkers团队第四周项目总结

    本周项目进展 本周是我们的项目开发的第四周,在之前的一周,我们小组在合作的情况下基本完成了项目代码的框架编写,我们组的项目课题,小游戏--贪吃蛇以及可以运行,可以进行简单的游戏,但是我们在思考之后发现 ...

  7. 线程访问ui,托管

    1.在类中声明 delegate void setDebugDelegate(string info);//线程访问textbox委托函数 private void setDebug(string i ...

  8. SQL 中 not in 查询不到数据问题

    在开发的过程中,遇到过not in 始终查询不到数据问题 select * from T_CustomerInfo where CustomerID not in (select CustomerID ...

  9. git status出现 fatal: Not a git repository (or any of the parent directories): .git

    fatal: Not a git repository (or any of the parent directories): .git 提示说没有.git这样一个目录,解决办法如下: git ini ...

  10. python 获取列表的键值对

    nums = [, , , , ] for num_index, num_val in enumerate(nums): print(num_index, num_val)