Android测试之:MonkeyScript与MonkeyRunner常用API

2024-04-23 00:58

本文主要是介绍Android测试之:MonkeyScript与MonkeyRunner常用API,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

MonkeyScript:一组可以被Monkey识别并执行的命令集合。目的是根据我们的需求完成重复固定的测试操作。
MonkeyRunner:提供了一系统的API,通过这些API可以完成模拟事件及截图等操作。与Monkey的区别在于:通过API指定命令来控制设备,而Monkey是在adb shell中,生成伪随机事件,完成测试功能。

—常用MonkeyScript API——-

1,DispatchTrackball命令:用于向一个坐标点(即:x坐标,y坐标)发送跟踪球消息
DispatchTrackball(long downTime, long eventTime, int action, float x, float y, float pressure, float size, int metaState, float xPrecision, float yPrecision, int device, int edgeFlags)
参数介绍:
downTime //键最初被按下的时间

eventTime //事件发生的时间

action //ACTIVON事件类型比如ACTION_DOWN=0,ACTION_MOVE=1,ACTION_UP=2,ACTION_CANCEL=3

x //x坐标

y //y坐标

pressure //当前事件的压力,范围0-1

size //触摸的近似值,范围0-1

metaState //当前按下的meta键的标识

xPrecision //x坐标精确值

yPrecision //y坐标精确值

device //事件来源,范围0-x,0表示不来自物理设备

sedgeFlags // 通常写作0即可
2,DispatchPointer命令:用于向一个坐标点(即:x坐标,y坐标)发送手指点击事件消息
DispatchTrackball(long downTime, long eventTime, int action, float x, float y, float pressure, float size, int metaState, float xPrecision, float yPrecision, int device, int edgeFlags)
参数和上面方法一样。
3,DispatchKey 命令:发送键值
DispatchKey(long downTime, long eventTime, intaction, int code, int repeat, int metaState, int device, int scancode)
参数说明:
downTime,键最初被按下的时间

eventTime,事件发生的时间

action,action动作:ACTION_DOWN=0,ACTION_UP=1,ACTION_MULTIPLE=2

code,键值,参见附录A

repeat,重复次数

metaState,当前按下的meta键的标识

device,事件发生的设备id

scancode,上报点的信息

4,DispatchString命令:输入字符串事件命令
DispatchString(String text)
参数text:参数text不加引号,指输入字符串text到指定的输入框中。
5,LaunchActivity命令:启动应用命令
LaunchActivity(String pkgName, String clsName)
参数介绍 :
pkgName:应用包名
clsName:要启动的Activity类名
6,UserWait命令:等待事件命令
UserWait(ong waittime);单位毫秒
7,DispatchPress命令:按下键盘上指定键的命令
DispatchPress(int keyCode)
参数:
keyCode:键对应的code值 ,比如回车键keyCode=66

8,DispatchFlip命令:开启软键盘命令
DispatchFlip(boolean open):open表示是否打开软键盘,true为打开

—MonkeyRunner常用API:——-

1,watiForConnection:等待设备连接
waitForConnection(float fimeout,string deviceId)
参数介绍:
fimeout:超时时间,单位秒,浮点数。默认是无限期地等待。
deviceId:指定具体的设备id
2,alert:弹出警告框
alert(string message,string title,string okTitle)
参数介绍:
mesage:弹出框内容
title:弹出框标题
okTitle:弹出框确认键内容
3,drag:滑动(拖动)屏幕
drag(tuple start,tuple end,float duration,integer steps)
参数介绍:
start:开始位置
end:结束
duration:手势持续时间
steps:执行次数或步数,默认为10
4,press:模块按键按下操作
press(string keycode,dictionary type)
参数介绍:
keycode:按键code值,如menu键:KEYCODE_MENU,home键:KEYCODE_HOME,back键:KEYCODE_BACK,search键:KEYCODE_SEARCH等
type:类型:DOWN中UP,如果写DOWN_AND_UP则是按下和抬起两个动作
5,startActivity:启动Activity
startActivity(pkgNmae+”/”+activityName)
参数介绍:
pkgNmae+”/”+activityName:指格式为应用包名+“/”+启动的Activity名,如”com.ldm.test/.activity.FirstActivity”
6,touch:点击(触摸)操作
touch(integer x,integer y,integer type)
参数介绍:
x:x坐标值
y:y坐标值
type:类型,DOWN,UP及DOWN_AND_UP
7,type:输入内容操作
type(string content)
参数介绍:
content:输入的内容
8,takeSnapshot:截屏操作
takeSnapshot()
9,writeToFile:保存文件操作
writeToFile(string path,string format)
参数介绍:
path:保存路径
format:保存格式,如PNG,JEPG等
10,sameAs:图像对比操作。
学习中参考相关文章有:
http://www.51testing.com/html/81/22381-242682.html。
http://sanwen.net/a/xfezooo.html
http://blog.sina.com.cn/s/blog_b54ee2ac0101ccjz.html
http://blog.csdn.net/mad1989/article/details/38087737

这篇关于Android测试之:MonkeyScript与MonkeyRunner常用API的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/927352

相关文章

Android使用ImageView.ScaleType实现图片的缩放与裁剪功能

《Android使用ImageView.ScaleType实现图片的缩放与裁剪功能》ImageView是最常用的控件之一,它用于展示各种类型的图片,为了能够根据需求调整图片的显示效果,Android提... 目录什么是 ImageView.ScaleType?FIT_XYFIT_STARTFIT_CENTE

Python的time模块一些常用功能(各种与时间相关的函数)

《Python的time模块一些常用功能(各种与时间相关的函数)》Python的time模块提供了各种与时间相关的函数,包括获取当前时间、处理时间间隔、执行时间测量等,:本文主要介绍Python的... 目录1. 获取当前时间2. 时间格式化3. 延时执行4. 时间戳运算5. 计算代码执行时间6. 转换为指

Python正则表达式语法及re模块中的常用函数详解

《Python正则表达式语法及re模块中的常用函数详解》这篇文章主要给大家介绍了关于Python正则表达式语法及re模块中常用函数的相关资料,正则表达式是一种强大的字符串处理工具,可以用于匹配、切分、... 目录概念、作用和步骤语法re模块中的常用函数总结 概念、作用和步骤概念: 本身也是一个字符串,其中

usb接口驱动异常问题常用解决方案

《usb接口驱动异常问题常用解决方案》当遇到USB接口驱动异常时,可以通过多种方法来解决,其中主要就包括重装USB控制器、禁用USB选择性暂停设置、更新或安装新的主板驱动等... usb接口驱动异常怎么办,USB接口驱动异常是常见问题,通常由驱动损坏、系统更新冲突、硬件故障或电源管理设置导致。以下是常用解决

Android实现在线预览office文档的示例详解

《Android实现在线预览office文档的示例详解》在移动端展示在线Office文档(如Word、Excel、PPT)是一项常见需求,这篇文章为大家重点介绍了两种方案的实现方法,希望对大家有一定的... 目录一、项目概述二、相关技术知识三、实现思路3.1 方案一:WebView + Office Onl

Android实现两台手机屏幕共享和远程控制功能

《Android实现两台手机屏幕共享和远程控制功能》在远程协助、在线教学、技术支持等多种场景下,实时获得另一部移动设备的屏幕画面,并对其进行操作,具有极高的应用价值,本项目旨在实现两台Android手... 目录一、项目概述二、相关知识2.1 MediaProjection API2.2 Socket 网络

Android实现悬浮按钮功能

《Android实现悬浮按钮功能》在很多场景中,我们希望在应用或系统任意界面上都能看到一个小的“悬浮按钮”(FloatingButton),用来快速启动工具、展示未读信息或快捷操作,所以本文给大家介绍... 目录一、项目概述二、相关技术知识三、实现思路四、整合代码4.1 Java 代码(MainActivi

Android Mainline基础简介

《AndroidMainline基础简介》AndroidMainline是通过模块化更新Android核心组件的框架,可能提高安全性,本文给大家介绍AndroidMainline基础简介,感兴趣的朋... 目录关键要点什么是 android Mainline?Android Mainline 的工作原理关键

如何解决idea的Module:‘:app‘platform‘android-32‘not found.问题

《如何解决idea的Module:‘:app‘platform‘android-32‘notfound.问题》:本文主要介绍如何解决idea的Module:‘:app‘platform‘andr... 目录idea的Module:‘:app‘pwww.chinasem.cnlatform‘android-32

springboot项目中常用的工具类和api详解

《springboot项目中常用的工具类和api详解》在SpringBoot项目中,开发者通常会依赖一些工具类和API来简化开发、提高效率,以下是一些常用的工具类及其典型应用场景,涵盖Spring原生... 目录1. Spring Framework 自带工具类(1) StringUtils(2) Coll