monkeyrunner API接口文档内容

用python编写脚本

1.导入模块:

MonkeyRunner

MonkeyDevice

MonkeyImage

ps:如果给导入模块起别名,就应该使用别名,而不能使用原名,否则会出现错误。

from com.android.monkeyrunner import MonkeyRunner as mr

from com.android.monkeyrunner import MonkeyDevice  as md

from com.android.monkeyrunner import MonkeyImage as mi

例:

device=mr.waitForConnection()

2.MonkeyRunner 模块

2.1 com.android.monkeyrunner.MonkeyRunner.waitForConnection

注释:等待连接设备,与模拟器链接,返回monkeydevice对象,代表链接的设备。没有报错的话说明连接成功。

参数:timeout:超时时间,单位秒,浮点数。默认是无限期等待。

deviceId:指定的设备名称。默认为当前的设备(手机有限,比如手机通过usb线链接到pc、其次为模拟器)。

实例:默认连接:device=MonkeyRunner.waitForConnection()

参数连接:device=mr.waitForConnection(1.0,‘emulator-5554‘)

2.2  com.android.monkeyrunner.MonkeyRunner.installPackage

注释: #参数是相对或绝对APK路径 路径级别用“/”,不能用“\”

参数:path:被安装到设备上的apk包在电脑上的文件路径

实例:device.installPackage(‘myproject/bin/MyApplication.apk‘)

2.3 com.android.monkeyrunner.MonkeyRunner.removePackage

注释:删除连接设备中的应用包,删除成功返回true

参数:pachage:将被删除的文件的包名
实例:device.removePackage(‘myproject/bin/MyApplication.apk‘)

2.4  com.android.monkeyrunner.MonkeyRunner.startActivity

注释:启动任意的Activity,此时可以向模拟器发送如按键、滚动、截图、存储等操作了。 执行一个adb shell命令,并返回结果,如果有的话

device.shell("...")

参数:uri - The URI for the Intent.

action - The action for the Intent.

data - The data URI for the Intent

mimetype - The mime type for the Intent.

categories - A Python iterable containing the category names for the Intent.

extras - A dictionary of extras to add to the Intent. Types of these extras are inferred from the python types of the values.

component - The component of the Intent.

flags - An iterable of flags for the Intent.All arguments are optional. The default value for each argument is null.

实例:device.startActivity(component="your.www.com/your.www.com.TestActivity")

device.startActivity(component="your.www.com/.TestActivity")

2.5 com.android.monkeyrunner.MonkeyRunner.sleep

注释:暂停目前正在运行的进程相应的时间

参数:second

实例:MonkeyRunner.sleep(秒数,浮点数)

2.6  com.android.monkeyrunner.MonkeyRunner.takeSnapshot

注释:获取设备的屏蔽缓冲区,产生了整个显示器的屏蔽捕获。(截图)

参数:无

实例:result=device.takeSnapshot()

返回一个MonkeyImage对象(点阵图包装),我们可以用一下命令将图保存到文件

result.writeToFile(‘takeSnapshot\\result1.png‘,‘png‘)

2.7  com.android.monkeyrunner.MonkeyImage.writeToFile

注释:将截图保存到文件 写成功返回true,否则返回false

参数:path:输出文件名和路径

format:目标格式

实例:result.writeToFile(‘takeSnapshot\\result1.png‘,‘png‘)

2.8  com.android.monkeyrunner.MonkeyDevice.type

注释:键盘上的类型指定字符串,这相当于要求字符中按(键码,DOWN_AND_UP)字符串发送到键盘

参数:message:要键入的字符串

实例:device.type(‘字符串’)

2.9  com.android.monkeyrunner.MonkeyDevice.wake

注释:唤醒设备屏幕(在设备屏幕上唤醒)

参数:无

实例:device.wake()

2.10 com.android.monkeyrunner.MonkeyDevice.reboot

注释:重新引导到指定的引导程序指定的设备

参数:into-the bootloader to reboot into :bootloader,recovery,or None

实例:device.reboot()

3.Monkeyrunner类的方法介绍

3.1 com.android.monkeyrunner.MonkeyRunner.alert

注释:弹出一个对话框直到用户确认为止

参数:message:会话弹出的内容

title:会话标题,默认alert

okTitle:会话确认按钮,默认ok

实例:Alert(string message,string title,string okTile)

3.2 com.android.monkeyrunner.MonkeyRunner.choice

注释:显示一个对话框,选择你要添加的那个py文件

参数:message:显示在对话框中的提示信息

choices:一个迭代的包含一系列选择的python类型

title:对话框的标题,默认input

实例:Choice(string message,iterable choices,string title)

3.3 com.android.monkeyrunner.MonkeyRunner.help

注释:Help(string format)monkeyrunner 的一些帮助,这个和api差不多

3.4com.android.monkeyrunner.MonkeyRunner.input

注释:用户可以在一个对话框里面输入内容

参数:message:对话框显示信息

initialValue:提供给用户的初始化值,默认为空字符串

title:对话标题,默认为input

onTitle: the text to use in the  dialog‘s confirmation button. default is ‘OK‘.

canceTitle: the text to use in the  dialog‘s ‘cancel‘ button. default is ‘Cancel‘.

返回:the text entered by the user ,or None if the user canceled the input.

实例:MonkeyRunner.input(string message,initialValue,title,okTitle,cancelTitle)

4 MonkeyDevice类的方法介绍

4.1  com.android.monkeyrunner.MonkeyDevice.ibroadcastIntent

注释:对设备发送一个广播信号

参数:uri - The URI for the Intent.

action - The action for the Intent.

data - The data URI for the Intent

mimetype - The mime type for the Intent.

categories - An iterable of category names for the Intent.

extras - A dictionary of extras to add to the Intent. Types of these extras are inferred from the python types of the values.

component - The component of the Intent.

flags - An iterable of flags for the Intent.All arguments are optional. The default value for each argument is null.(see         android.content.Context.sendBroadcast(Intent))

实例:BroadcastIntent (string uri,string action,string data, string mimetype,iterable categories dectionnary extras,component component,iterable flages)

4.2  com.android.monkeyrunner.MonkeyDevice.drag

注释:拖动屏幕,也是划屏的一些操作

参数:start:拖曳开始坐标 (a tuple(x,y)in pixels)

end:拖曳结束坐标点(a tuple(x,y)in pixels)

duration:持续时间(default 1.0 seconds)

steps:拖曳步骤(default is 10)

实例:MonkeyRunner.drag(start,end,duration,steps)

4.3

 com.android.monkeyrunner.MonkeyDevice.getProperty(string key)

得到手机上的一些属性

 com.android.monkeyrunner.MonkeyDevice.getSystemProperty(string key)

得到一些系统属性

com.android.monkeyrunner.MonkeyDevice.installPackage(string path) 

将一个apk安装到手机里面

 com.android.monkeyrunner.MonkeyDevice.instrument(string className,dictionary args)

运行测试设备的指定包

com.android.monkeyrunner.MonkeyDevice.press(string name,dectionary type)

按键(一些物理按键)

com.android.monkeyrunner.MonkeyDevice.reboot(string package)

重启手机

 com.android.monkeyrunner.MonkeyDevice.removePackage(string package)

删除一些apk

com.android.monkeyrunner.MonkeyDevice.shell(string cmd)执行adb shell

命令并返回结果

 com.android.monkeyrunner.MonkeyDevice.takeSnapshot()

截图

 com.android.monkeyrunner.MonkeyDevice.touch(integer x,integer y,integer type)

触摸

 com.android.monkeyrunner.MonkeyDevice.type(string message)

输入一些字符串

 com.android.monkeyrunner.MonkeyDevice.wake()

唤醒手机点亮屏幕

5.MonkeyImage 类的方法介绍

 com.android.monkeyrunner.MonkeyImage.convertBytes(string format)

将图片转换为其他特殊的格式,将结果作为字符串返回,用这个方法将像素存取为特殊的格式,输出的字符串是一种更好的表现(format 目标格式 默认值为png)

 com.android.monkeyrunner.MonkeyImage.getRawPixel(integer x, integer y)

在x,y位置处获取一个单一的ARGB像素,参数x,y都是基于0坐标,表示一个像素尺寸,x向右增益,y向下增益,得到一个图标的坐标,这个方法返回一个数组

com.android.monkeyrunner.MonkeyImage.getSubImage(tuple rect)

复制一个图片的矩形,rect:A tuple(x,y,w,h),x,y,指定矩形区域的左上角,w为矩形宽,h为矩形高

 com.android.monkeyrunner.MonkeyImage.sameAs(MonkeyImage other,float percent)

对比两张照片

 com.android.monkeyrunner.MonkeyImage.writeToFile(string path,string format)

将得到的图片保存到一个文件夹里面

 com.android.monkeyrunner.MonkeyImage.getHierarchyViewer()

获取设备的显示层次

com.android.monkeyrunner.MonkeyImage.startActivity()

在设备上开始一个活动

时间: 2024-12-15 04:03:31

monkeyrunner API接口文档内容的相关文章

SpringBoot + Swagger2 自动生成API接口文档

spring-boot作为当前最为流行的Java web开发脚手架,相信越来越多的开发者会使用其来构建企业级的RESTFul API接口.这些接口不但会服务于传统的web端(b/s),也会服务于移动端.在实际开发过程中,这些接口还要提供给开发测试进行相关的白盒测试,那么势必存在如何在多人协作中共享和及时更新API开发接口文档的问题. 假如你已经对传统的wiki文档共享方式所带来的弊端深恶痛绝,那么尝试一下Swagger2 方式,一定会让你有不一样的开发体验: 功能丰富 :支持多种注解,自动生成接

构建标准OpenStack API接口文档

1.构建API接口文档标准参考: http://docs.openstack.org/contributor-guide/api-guides.html 2.构建API接口文档步骤参考下面的Patch: https://review.openstack.org/#/c/361791/ https://review.openstack.org/#/c/305870/ https://review.openstack.org/#/c/305973/ 3.创建API接口文档的CI已经如何发布到Open

app后端开发二:API接口文档工具

悲伤的历史 在进行app后端开发过程中,后端会提供出来很多的api接口供前端开发使用,为了让前端开发人员顺利使用,我们会写好一份文档,告诉他们这个接口你该用 GET 还是 POST 来访问,同时访问的时候该给我传递一些什么参数,以及正确的时候我会返回什么给你,已经返回的数据样式以及字段解释等等这些事情,我们都需要在文档中写好写清楚. 在 app后端开发一:基于swagger-ui构建api接口文档工具 这篇博客中,我写了 swagger-ui 的好处以及优势.但是在使用过程中,发现不够给力.我想

Swagger UI教程 API 文档神器 搭配Node使用 web api 接口文档 mvc接口文档

两种方案 一.Swagger 配置 web Api 接口文档美化 二.通过NodeJS 发布Swagger UI 配置api 文档 先说一下简单的 Swagger 配置 web Api  Swagger-UI本身只提供在线测试功能,要集成它还需要告诉它本项目提供的各种服务和参数信息.这里就需要一些工作量了,不过好在许多第三方库已经给我们完成了这一工作.我这里用的是Swashbuckle,使用它也比较简单,直接使用Nuget添加其程序包即可: 1.初始化包  PM> Install-Package

Api接口文档管理工具,你知道哪些呢?

上周看到有人在我的Github开源项目中提了个issue,说是否考虑接入swagger.那今天我就用swagger与其他接口文档工具做对比,同时说说Api接口文档工具的那点事.如今,在前后端分离开发的这个年代,Api接口文档管理工具越来越显得重要.完整的Api接口文档能大大提升前后端开发协作的效率. image 目前市场有哪些比较优秀的接口文档管理工具呢?Swagger Api接口文档工具到底如何,我大致汇总一下吧! 一.Swagger 说到Swagger,他确实是为开发者发明的一款神器,他可以

Spring Cloud Zuul中使用Swagger汇总API接口文档

有很多读者问过这样的一个问题:虽然使用Swagger可以为Spring MVC编写的接口生成了API文档,但是在微服务化之后,这些API文档都离散在各个微服务中,是否有办法将这些接口都整合到一个文档中? 如果您还不了解Spring Cloud Zuul和Swagger,建议优先阅读下面两篇,有一个初步的了解: Spring Cloud构建微服务架构:服务网关(基础) Spring Boot中使用Swagger2构建强大的RESTful API文档 准备工作 上面说了问题的场景是在微服务化之后,所

关于api接口文档RAP和swagger

前言: 在之前的项目中用了将近一年的RAP,RAP是由阿里开源出来的,非常好用.github地址:https://github.com/thx/RAP. 当初在用此工具时,项目成员需要在接口文档在所改动后,发邮件到项目组成员,由于rap当时没有此功能,所以还下载源码,增加了发邮件功能. 将此功能代码commit到了社区,好像社区没有接纳合入. 后来使用了一年后,发现了swagger似乎使用很方便,直接跟代码进行结合,需要重新使用其他工具进行配合了. 所以以下时对swagger的spring集成说

app后端开发一:基于swagger-ui构建api接口文档工具

声明 之前写过关于app后端开发的一系列文章,那是我第一次做app后端开发,存在很多不足,本想好好修改一下,想想还是重新写吧,这样子也能让我博客文章看起来多一点嘛,万一以后找工作,别人一看我博客这么多内容,是不是很屌? 这次文章先从构建resetful风格的api文档工具开始.没有一个好的文档工具,在app前端人员开发过程中会导致开发效率极低,而且时不时的,他们就来找你跟他们断点一下. 我的文档经历 这里先不讨论我的数据传输是否合理,仅仅以这些数据作为一个演示.后面会有专门的章节进行app数据传

Api接口文档软件Showdoc

showdoc网站打开看着不起眼,但里面的内容相当的强大,重点说下特点 1:支持markdown语法(所有的api接口写作现在都支持这个吧,因为他现在太方便了) 2:支持多用户协作,你可以在项目下面随意添加多个用户一起完成api文档的写作. 3:可以分享并导出项目,生成需要的文档格式如doc,可以离线浏览 4:支持响应式,手机电脑同样精彩 5:支持项目转让 6:支持模版插入 7:支持历史版本,你可以把操作恢复到以前的版本. 8:showdoc完全开源 9:可以部署到自己的服务器 10:如果在线使