本来是做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. 全排列(传统&&黑科技)

    近期几次考试的一些题目暴力分都有用到全排列. 全排列是个好东西啊... 回想一下,我们最开始学到全排列是什么时候呢? 大概是学搜索的时候罢... 一.传统搜索算法 想复习可以戳 https://www ...

  2. Go 连接PostgreSQL数据库

    先在PostgreSQL数据库中建一个表,可以使用PostgreSQL官方的pgAdmin来完成: CREATE TABLE userinfo ( uid serial NOT NULL, usern ...

  3. logstash | logstash && logstash-input-jdbc 安装

    Windows系统:          1.安装Logstash  1.1 进入官网下载zip包                  [1]  https://artifacts.elastic.co/ ...

  4. [Usaco2017 Feb]Why Did the Cow Cross the Road II (Platinum)

    Description Farmer John is continuing to ponder the issue of cows crossing the road through his farm ...

  5. 区间DP UVA 10453 Make Palindrome

    题目传送门 /* 题意:问最少插入多少个字符使得字符串变成回文串 区间DP:dp[i][j]表示[l, r]的字符串要成为回文需要插入几个字符串,那么dp[l][r] = dp[l+1][r-1]; ...

  6. Toasts官方教程

    Toasts IN THIS DOCUMENT The Basics Positioning your Toast Creating a Custom Toast View 在其它线程中启动Toast ...

  7. php安装ionCube

  8. 一个DBA萌新的烦恼

    莫名其妙也好机缘巧合也罢,现在我成为了一名MySQL DBA. 为什么: 1.为什么leader让我转到DBA? 首先,我本身学习运维管理的时候就接触过数据库(mysql,redis),算是自身的优势 ...

  9. HTML5的音频播放和视频播放

    1.音频播放 audio(音频) html5提供了播放音频文件的标准   <audio src="anli.mp3" controls="controls" ...

  10. 【Python】第一个爬虫

    import urllib.request import re class DownPic: def __init__(self,url,re_str): self.url = url self.re ...