笔记之monkey自定义脚本
- 自定义脚本的稳定性测试
常规MOnkey测试执行的是随机的事件流,但如果只是想让Monkey测试某个特定场景者时候就需要用到自定义脚本,Monkey支持执行用户自定义脚本的测试,用户之需要按照Monkey脚本的规范编写好脚本,存放到手机上,启动Monkey通过-f 参数调用脚本即可。
2. 测试案例
启动考研帮app3.1.0,然后跳过升级提示和引导页面,进入到登陆界面冰输入用户和密码,进行登陆
3. 需求分析
① 从角度来思考步骤该怎样进行?
② 要操作的元素该如何定位?
③ 怎样操作步骤转化为处死脚本?
4. 获取元素坐标点位置
Monkey脚本只能通过坐标的方式来定位点击和移动事件的屏幕位置,这里就需要提前获取坐标信息。获取坐标信息的方法很多,最简单的方法就是打开手机中开发人员选项,打开“显示指针位置”。随后,在屏幕上的每次操作,在导航上都会显示坐标信息。
5. Monkey脚本API简介
(1)、LaunchActivity(pkg_name,cl_name):启动应用的Activity。参数:包名和启动的Activity。
(2)、Tap(x,y,tapDuation):模拟一次手指单击事件。参数:x,y为控件坐标,tapDuration为点击的持续时间,次参数可省略。
(3)、UserWait(sleepTime):休眠时间
(4)、DispatchPress(keyName):按键。参数:keycode。
(5)、RotateScreen(rotationDegree,persist):旋转屏幕。参数:rotationDegree为旋转角度,eg:1代表90°;persist表示旋转之后是否固定,0表示旋转之后恢复,非0表示固定不变。
(6)、DispatchString(input):输入字符串
(7)、DispatchFlip(true/flase):打开或者关闭软键盘
(8)、PressAndHold(x,y,pressDuration):模拟长按事件
(9)、Drag(xStart,yStart,xEnd,yEnd,stepCount):用于模拟一个拖拽操作
(10)、PinchZoom(x1Start,y1Start,x1End,y1End,x2Start,y2Start,x2End,y2End,stepCount):模拟缩放手势
(11)、LongPress():长按2秒
(12)、DeviceWakeUp():唤醒屏幕
(13)、PowerLog(power_log_type,test_case_status):模拟带你吃电量信息。
(14)、WriteLog():将电池信息写入sd卡。
(15)、RunCmd(cmd):运行shell命令。
(16)、DispatchPointer(downtime,eventTime,action,x,yxpressure,size,metastate,xPrecision,yPrecision,device,edgeFlags): 向指定位置,发送单个手势。
(17)、DispatchPointer(downtime,eventTime,action,x,yxpressure,size,metastate,xPrecision,yPrecision,device,edgeFilags): 发送按键消息。
(18)、LaunchInstrumentation(test_name,runner_name): 运行一个instrumentation测试用例。
(19)、DispatchTrackball: 模拟发送轨迹球事件。
(20)、ProfileWait: 等待5秒。
(21)、StartCaptureFramerate(): 获取帧率。
6. Monkey脚本格式
Monkey脚本主要包含两部分,一部分是头文件信息,一部分是具体的monkey命令。
type = raw events
count = 1
speed = 1.0
//下面是monkey命令
start data >>
具体的monkey脚本内容
7. 编写脚本
kyb.txt
#头部文件信息
type = raw events
count = 1
speed = 1.0
#启动测试
start data >>
LaunchActivity(com.tal.kaoyan,com.tal.kaoyan.ui.activity.SplashActivity)
UserWait(2000)
Tap(624,900,1000)#点击取消升级
UserWait(2000)
Tap(806,64,1000)#点击跳过
UserWait(2000)
Tap(217,378,1000)#点击用户名输入框
DispatchString(zxw1234)
UserWait(2000)
Tap(197,461,1000)#点击密码输入框
DispatchString(zxw123456)
UserWait(2000)
Tap(343,637,1000)#点击登录按钮
8. 执行脚本
脚本编写完成后,传到手机设备上,然后执行。
adb push C:\User\Shuqing\Desktop\kyb1.txt /sdcard
adb shell monkey -f /sdcard/kyb1.txt -v 1
执行结果。。
笔记之monkey自定义脚本的更多相关文章
- Appium - monkey自定义脚本实践(四)
monkey自定义脚本实践 一.获取元素坐标点位置 二.Monkey脚本API简介 常规Monkey测试执行的是随机的事件流,但如果只是想让Monkey测试某个特定场景这时候就需要用到自定义脚本了,M ...
- monkey自定义脚本
自定义脚本稳定性测试 常规的monkey是执行随机的事件流,如果想让monkey测试某个特定的场景,这个时候需要自定义脚本. 用户需要先笔记好脚本再存放在手机上,通过启动monkey -f参数调用脚本 ...
- monkey自定义脚本实践
自定义脚本的稳定性测试 常规Monkey测试执行的是随机的事件流,但如果只是想让Monkey测试某个特定场景这时候就需要用到自定义脚本了,Monkey支持执行用户自定义脚本的测试,用户只需要按照Mon ...
- Appium自动化测试教程-自学网-monkey自定义脚本实践
自定义脚本的稳定性测试 常规Monkey测试执行的是随机的事件流,但如果只是想让Monkey测试某个特定场景这时候就需要用到自定义脚本了,Monkey支持执行用户自定义脚本的测试,用户只需要按照Mon ...
- Linux笔记 #10# 用于支持Web应用开发&部署&配置的一些自定义脚本
索引 一.本地开发与测试相关脚本 1.startup.sh 2.shutdown.sh 3.catalina-out.sh 4.localhost_access_log.sh 5.上传本地文件到服务器 ...
- Linux学习笔记之Centos7 自定义systemctl服务脚本
0x00 概述 之前工作环境一直使用Centos6版本,脚本一直在使用/etc/init.d/xxx:系统升级到Cento7后,虽然之前的启动脚本也可以使用,但一直没有使用systemctl 的自定义 ...
- Cacti自定义脚本,监测Docker信息(Script/Command方式)
一 环境背景 监控主机A:192.168.24.231:被监控主机B:192.168.24.233 A/B主机,通过公私钥建立ssh连接 [操作B主机时不需要输入密码,详见笔记:http://app. ...
- ArcMap自定义脚本工具制作
原文 ArcMap自定义脚本工具制作 在制图的前期,一般需要做一些数据的整理,如图层合并.裁剪等工作.虽然在ArcMap中也有提供对应的工具,但使用起来需要点技巧.如批量裁剪,虽然可以实现,但出来的结 ...
- zabbix 获取不到自定义脚本的值解决
agent端: zabbix 自定义脚本 [root@localhost script]# cat check_ping.sh #!/bin/bash result=$(/usr/local/nagi ...
随机推荐
- java利用反射交换两个对象中的字段相同的字段值
有时候我们的两个对象字段都是一样的,只有极少的区别,想要把一个对象字段的值,赋值给另外一个对象值 然后传给另外一个方法使用,但是这个字段太多,一个一个的复制太过繁琐. 这时候利用反射解决这个问题. c ...
- C语言排序算法学习笔记——选择类排序
选择排序:每一趟(例如第i趟)在后面n-i+1(i=1,2,3,……,n-1)个待排序元素中选取关键字最小的元素,作为有序子序列的第i个元素,直到n-1趟做完,待排序元素只剩下1个,就不用再选了. 简 ...
- js obj对象转formdata格式代码
import isArray from "lodash/isArray" export function objToFormData(config) { //对象转formdata ...
- vs关于“当前不会命中断点 还没有为该文档加载任何符号”的解决方法
首先调式的时候确定在debug模式下, 解决方法:工具-选项-调试 -(启用“仅我的代码”)勾去掉.
- 秘制牛肉Alpha阶段项目展示
秘制牛肉Alpha阶段项目展示 1.团队成员和个人博客 · 左顺:"我是左顺,秘制牛肉队开发人员". · 王尖兵:"C,java,html5都会一点的菜鸡,没做过团队项目 ...
- win 10 在vs2017下对mpi的安装以及认识
这里我先对MPI进行一下简单的介绍,MPI的全称是Message Passing Interface,即消息传递接口. 它并不是一门语言,而是一个库,我们可以用Fortran.C.C++结合MPI提供 ...
- IntelliJ IDEA 关闭多余项目
在开发中 一个项目中可能会有多个子项目,切换起来比较麻烦,需要将用不到的项目关掉 1.就是关闭一个Project中多个module的一个 2.右击要关闭项目,选中弹出窗口中的 Load/Unload ...
- Timer与TimerTask
Timer和TimerTask Timer是一种定时器工具,用来在一个后台线程计划执行指定任务.它可以计划执行一个任务一次或反复多次.TimerTask一个抽象类,它的子类代表一个可以被Timer计划 ...
- Jprofiler监控远程jvm
2.Windows打开安装好的jprofiler 1 3.配置步骤: vi catalina.sh 添加复制的配置保存退出后重新停启Tomcatsh shutdown.sh #停ps -ef|grep ...
- Java面试题 BAT 大公司面试题整理总结!
本文只列出了问题,答案还是需要需要自己的总结,很多时候自己总结出来的语言在面试时比硬背的效果好很多. 这些题目是网友去百度.小米.乐视.美团.58.猎豹.360.新浪.搜狐等一线互联网公司面试被问到的 ...