5分钟教你怎样实现monkey脚本的编写【详细篇,快速上手】
什么monkey脚本?
平时我们使用adb shell monkey命令去让猴子跑时,猴子是无意识、不带任何主观思想地去操作,但是monkey脚本弥补了这一缺陷,可以自定义去模拟用户行为。
将monkey命令写在一个脚本中,可以很好地组织命令,统一执行多条命令
一、搭建移动端环境
1、下载JDK、配置JDK环境变量
这里分享一个百度网盘下载jdk:
链接: https://pan.baidu.com/s/1lB3sAQ2qi2hn5FV-8KWkDA 提取码: xznu
下载好后点击进行安装。
右击此电脑---属性---高级系统配置----环境变量---系统变量
在系统变量
<1> 添加环境变量
名为: JAVA_HOME
值为: jdk在电脑上安装的绝对路径
<2> 在path中加入变量值:
%JAVA_HOME%\bin;
%JAVA_HOME%\jre\bin
<3> 验证jdk是否配置好
打开cmd,输入javac
出现有关JAVA信息表示配置成功
2、安装Android SDK 配置SDK环境变量
分享Android SDK百度网盘链接下载:
链接: https://pan.baidu.com/s/1a55OlUyx40Xfh3He3EWMcA 提取码: 5igd
解压后,开始配置Android SDK环境变量
右击此电脑---属性---高级系统配置----环境变量---系统变量
<1> 添加环境变量
名为: ANDROID_HOME
值为: Android SDK在电脑上安装的绝对路径
<2> 在path中加入变量值:
相对路径配置Android:
%ANDROID_HOME%\tools
%ANDROID_HOME%\platform-tools
%ANDROID_HOME%\build-tools\android-4.3
%ANDROID_HOME%\platforms\android-18
%ANDROID_HOME%\build-tools\android-4.3\aapt.exe
二、monkey脚本中常用的操作命令
1.LaunchActivity(pkg_name, cl_name): 启动应用,第一个参数是包名,第二个是启动的activity名
2.DispatchPointer(downtime,eventTime,action,x,y,xpressure,size,metastate,xPrecision,yPrecision,device,edgeFlags) :向指定位置发送单个手势,相当于我们把手指按在某个点上;这个方法参数有12个,但是我们主要关注owntime,eventTime,action,x,y这么几个参数,x,y表示按下的坐标,可以通过移动端定位工具UI Automator获取,这在你想测试点击某个具体view是很有用的。
当然你也可以通过
3.DispatchPress(keycode): 向系统发送一个固定的按键事件;例如home键,back键;参数是按键值 ,按键值可查看keycode
4.UserWait(1000):让脚本的执行暂停一段时间,做一个等待操作
5.RotateScreen(rotationDegree, persist): 翻转屏幕,第一个参数是旋转角度,第二个是旋转后是否停在当前位置
6.Tap(x, y) :单击事件,点击屏幕,参数是点击坐标
(坐标位置的查看方式:手机–设置–开发者选项–指针位置勾选开启)
7.Drag(xStart, yStart, xEnd, yEnd):在屏幕上滑动,坐标是从哪一点滑到哪一点
8.其他
LongPress(): 长按2s
ProfileWait(): 等待5s
PressAndHold(x, y, pressDuration) :模拟长按
PinchZoom(x1Start, y1Start, x1End, y1End, x2Start, y2Start, x2End, y2End, stepCount): 模拟缩放
DispatchString(input): 输入字符串
RunCmd(cmd) :执行shell命令,比如截图 screencap -p /data/local/tmp/tmp.png
DispatchFlip(true/false) :打开或者关闭软键盘
UserWait(sleepTime) :睡眠指定时间
DeviceWakeUp() :唤醒屏幕
三、monkey脚本编写–运行–日志分流
1.编写脚本
注意:
①脚本的后缀的.mks monkey script(后缀为.txt也是可以执行成功的)
②在编写下方图片中的start data中,start和data中间只允许用一个空格, 并在data后面与>>只允许有一个空格,并且>>这两个大于号中间不允许有空格(这已经是我踩过的坑了~~)
count指的是次数
speed 执行的速度
2.执行脚本
(1)使用adb push 将上面编写的.mks(也可以是.txt)脚本放在模拟器中
(2)使用命令adb shell monkey -f /sdcard/monkey.mks -v -v 1 (红色部分根据自己情况改路径)
3.实现log日志分流
这里在网上找了一道题,来实战一下
1>标准流输出的位置
2>异常信息输出的位置
这是分享一个我总结的monkey脚本教程,喜欢的小伙伴可以下载
链接:https://pan.baidu.com/s/1pDE25UuQSOc5mbxd_3Z4Aw
提取码:sl4z
如果有问题的小伙伴可以在评论区留言或者加群:762141168
小转转定知无不尽~~
- 怎样快速上手Android Studio,用它来编写APP
- 购买阿里云服务器数字证书后, 使用openssl命令,编写linux shell脚本,实现自己给 客户快速颁发证书
- 如何快速上手SQL映射文件的编写
- 快速入门shell脚本编写(三)
- 编写Powerdesigner脚本,快速生成数据库表
- [置顶] 编写shell脚本以及利用函数实现批量安装Linux服务配置
- 根据情况编写脚本来实现自己特定的一些目标
- [置顶] 编写shell脚本实现自动化搭建安装LNMP平台全过程配置详解
- 十分钟快速上手tmux,实现高效多屏工作
- 用python编写脚本实现备份文件
- 快速入门Shell编程(二)编写简单的Shell脚本
- Extjs4快速上手三——实现主界面
- Zen Coding 快速编写HTML/CSS代码的实现
- 怎样用EDIUS实现视频的快速剪裁
- monkey脚本编写
- jQuery快速上手:写jQuery与直接写JS的区别详细解析
- 怎样用JS 实现HTML的下拉菜单,以及下拉菜各参数的详细意义
- 使用python脚本语言实现快速打包
- 编写一个bat脚本实现从Oracle数据库定时导出指定数据表的指定字段为txt文本并上传到FTP服务器的指定目录
- 编写自己的Acunetix WVS漏洞扫描脚本详细教程