本来是做Web后端的,来公司实习变成微信小程序前端了,到这周变成Android APP测试人员了,也是微醺啊。

  由于对手工测试终究是有些抵触,所有昨天小试了一下不用写代码的自动化压力测试,在此记下我的心得。

  一、Monkey与Android SDK之间的关系

  每个Android手机里都有Monkey工具,Monkey测试是随机模拟手指的一系列操作,此工具不可视化,需Android SDK中的adb来调用它。

  二、环境配置

  开始测试之前需要搭配的环境:Java的JDK、Android SDK、一台Android手机。由于本身就是做Web的,而且也学习过Android,所以这些软件电脑里就有现成的。如何配置JDK和SDK环境变量我就不多说了,网上一搜太多了。

  三、正式测试

  1. 测试时需以管理员身份运行cmd(命令提示符)。

  2. 手机以小米8SE为例,需进入开发者模式,开启开发者选项,连接方式为传输文件,打开USB调试,打开USB安装(ps: 允许通过USB安装应用)、USB调试(安全设置)(ps: 允许通过修改权限或模拟点击)。

  2. adb start-server 此命令是开启adb服务;adb kill-server 此命令是关闭adb服务。

  3. adb install xxx.apk

   安装apk到手机上,xxx.apk电脑上安装包的路径(如:F:\Monkey\xxx.apk);也可以用手机直接安装apk。

  4. adb shell monkey -p com.android.xxx 1000(-p com.andoir.xxx是指定APP的包名,不加会对手机进行全局操作;1000为进行随机操作的次数)

   但是这样测试会触发到音量键和状态栏,所以要根据需求要做一些改良。

  5. adb shell settings put global policy_control immersive.full=* (此命令为全屏状态,可以隐藏状态栏,不过也会对其它应用造成影响)

   adb shell settings put global policy_control null(使用此命令恢复状态栏)

   (参考资料:http://www.cnblogs.com/ssyimeng/p/9777654.html)

  6. 加上 --pct-syskeys 0 可屏蔽掉音量键,如:adb shell monkey -p com.android.xxx --pct-syskeys 0 1000

   (参考资料:http://www.cnblogs.com/ssyimeng/p/9777654.html)

  7. 当然日志肯定是不能少的,在末尾加上 >d:\xxx.txt,如:adb shell monkey -p com.android.xxx --pct-syskeys 0 1000 > F:\Monkey\log.txt

  至此,最终的测试命令就出来了。

  四、报错分析

  在测试的时候若遇到错误,黑窗口会显示,如下图:

  

  这时,我们就需要用到这里的seed,来重复报错的操作,来查看错误是如何触发的。

  

  命令为:adb shell monkey -p com.android.xxx -s 1539935198710 100

  五、总结

  以上,是我个人对Monkey测试的一些心得,我也仅仅是一知半解,Monkey测试的其它命令可输入:adb shell monkey -help 来查看。

Android自动化测试之Monkey的更多相关文章

  1. Android自动化测试之Monkey 转自:LupuX

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u011436666/article/details/53998332 在之前的文章Android自动 ...

  2. Android自动化测试之Monkey Test 安装(二)

    因为Monkey Test是在eclipse上执行的,所以玩monkey test的时候要先配置安卓开发环境 一.Android开发环境搭建指南 1.安装JDK JDK下载链接:http://www. ...

  3. Android自动化测试之Monkey Test(一)

    Monkey是什么 Monkey是可以运行在模拟器里或实际设备中的程序.它向系统发送伪随机的用户事件流(如按键输入.触摸屏输入.手势输入等),实现对正在开发的应用程序进行压力测试.   Monkey简 ...

  4. Android自动化测试之Monkey工具

    前言:Android自动化测试工具.方法和框架,包括android测试框架.CTS.Monkey.Monkeyrunner.benchmark.test tool等. 一. 什么是MonkeyMonk ...

  5. Android自动化测试之Monkeyrunner学习笔记(一)

    Android自动化测试之Monkeyrunner学习笔记(一) 因项目需要,开始研究Android自动化测试方法,对其中的一些工具.方法和框架做了一些简单的整理,其中包括Monkey.Monkeyr ...

  6. [转] Android自动化测试之使用java调用monkeyrunner(五)

    Android自动化测试之使用java调用monkeyrunner 众所周知,一般情况下我们使用android中的monkeyrunner进行自动化测试时,使用的是python语言来写测试脚本.不过, ...

  7. Android自动化测试之环境搭建

    Android自动化测试之环境搭建 一.Android-sdk介绍 SDK(Software development kit)软件开发工具包.被软件开发工程师用于为特定的软件包.软件框架.硬件平台. ...

  8. Android自动化测试之MonkeyRunner录制和回放脚本

    Android自动化测试之MonkeyRunner录制和回放脚本(十一) 分类: 自动化测试 Android自动化 2013-02-22 10:57 7346人阅读 评论(2) 收藏 举报 andro ...

  9. 2、Android自动测试之Monkey工具

    Android自动测试之Monkey工具 APP测试工作中经常会听到领导说,APP压力测试做了吗?刚入行时,不知道什么是 APP压力测试,找了半天没找到自己想要的.过了几年,回头想这个问题,发现牵扯了 ...

随机推荐

  1. CGAN 论文笔记

    <Conditional Generative Adversarial Nets>: 发表于2014 computer Science.作者提出了最简单的条件控制GAN模型,在D和G两个模 ...

  2. codeforces round#432 div2

    C:这道题没做出来...写了个类似极角排序的东西被卡掉了...事实上暴力就行了,因为如果在二维平面内那么最多只能有4个点,因为每个象限只能有一个点,然后这里拓展一下就是最多只能有2*k个点,k是维数, ...

  3. 摘抄 - JavaScript JSON的总结

    JSON 是用于存储和传输数据的格式,通常用于服务端向网页传递数据 什么是 JSON? JSON英文全称 JavaScript Object Notation(JavaScript 对象表示法),是一 ...

  4. Winpcap笔记4之不用回调函数捕获数据包

    函数1: pcap_next_ex(pcap_t*                       p, struct pcap_pkthdr**   pkt_header, const u_char*  ...

  5. SSM-避坑记(一)

    在运行测试类的时候的报错,内容如下 报错: class path resource [spring/spring-search.xml] cannot be opened because it doe ...

  6. 二分+树状数组/线段树(区间更新) HDOJ 4339 Query

    题目传送门 题意:给两串字符串,操作1:替换其中一个字符串的某个位置的字符 操作2:查询从p开始相等的最长连续长度 分析:树状数组可以维护一个区间内公共长度(连续)的情况,查询时用二分查找最远的端点即 ...

  7. C#扩展方法学习

    扩展方法的本质是什么,详细见此文 C#扩展方法,爱你在心口难开 重点如下:扩展方法使您能够向现有类型“添加”方法,而无需创建新的派生类型.重新编译或以其他方式修改原始类型.扩展方法是一种特殊的静态方法 ...

  8. 求指教--hadoop2.4.1集群搭建及管理遇到的问题

    集群规划: 主机名 IP 安装的软件 运行的进程 hadooop 192.168.1.69 jdk.hadoop NameNode.DFSZKFailoverController(zkfc) hado ...

  9. [转]F# Samples 101 - Visual Studio 2010

    http://code.msdn.microsoft.com/F-Samples-101-0576cb9f/sourcecode?fileId=18956&pathId=1045958806 ...

  10. iOS---数据离线缓存

    离线缓存 为了用户的体验,不需要每次打开App都加载新数据,或者重新请求数据,因此需要把每次浏览的数据保存起来,当下次打开软件时,首先从沙盒中加载数据:或者当软件未联网时,也只能从沙盒中加载旧数据. ...