从侧计--monkeyrunner1

一、monkey与monkeyrunner比较:

monkey:较难支持插件编写;无截屏功能;对数据流控制能力弱;无法完成录制功能。

 

二、monkeyrunner的API分为三类

1、monkeyrunner API:提供用于连接monkeyrunner和设备的方法;其中有一个方法waitforConnection()引出monkeyDevice。

2、MonkeyDevice API:提供安装卸载应用、启动应用、发送按键和触摸事件等操作的方法;其中一个方法takeSnapshot()引出monkeyImage

(1) broadcastIntent()发送广播 (2) drag()拖动

(3) getProperty()获取当前设备属性 (4) touch()点击

(5) type()输入 (6) wake()唤醒设备 (7) press()按键

3、monkeyImage API:提供图像保存、格式转换、图像截取和坐标点获取等方法。

 

三、monkeyrunner的基本API:手势、输入、点击

1、拖拽手势操作:如touch、hold、move等

(1)void drag(start,end,duration,steps)

start:起始位置坐标;数据类型为tuple数组形式

end:终止位置坐标;数据类型为tuple数组形式

duration:持续时间;数组类型为float;默认值为:1.0秒

steps:步数;数据类型为integer;默认值为10

(2)脚本式例:

如:向左滑动切换界面

#固定格式,导入MonkeyDevice API

from com.android.com.monkeyrunner import MonkeyRunner,MonkeyDevice

 

#设置拖动元素的值

start = (400,200) # 初始坐标值

end = (60,200) # 结束坐标值

duration = 1.0 # 持续时间(拖动时间)1.0秒

steps = 10

 

#连接monkeyrunner

device = MonkeyRunner.waitForConnection()

 

#执行拖动操作以滑动屏幕

device.drag(start,end,duration,steps)

2、输入操作

void type(message)

message:输入的字符串;数据类型为String;

3、点击操作

void touch(x,y,type)

x:坐标值x;数据类型integer

y:坐标值y;数据类型integer

type:key event按键类型;数据类型integer;如:DOWN、UP、DOWN_AND_UP

四、脚本式例:

实现目标:安装某应用并启动,打开文本框输入账号abc和密码111,登陆成功后滑动到第二页查看信息。

#固定格式,导入MonkeyDevice API

from com.android.com.monkeyrunner import MonkeyRunner,MonkeyDevice

 

#设置具体元素值:touch()点击文本框、type()输入字符串、drag()拖动界面

#drag(start,end,duration,steps)、type(message)、touch(x,y,type)

x1 = 290

y1 = 330 # 账号文本框坐标

x2 = 290

y2 = 430 # 密码文本框坐标

x3 = 380

y3 = 550 # 登陆坐标

type = DOWN_AND_UP

second1 = 2

second2 = 1

second3 = 3

message1 = abc

message2 = 111

start = (670,860)

end = (95,860)

duration = 1.0

steps = 10

 

#设置启动的包名和启动应用的主界面名并添加分隔符“/”

package = ‘com.wuba.zhuanzhuan’

activity = ‘.presentation.view.activity.LaunchActivity’

component = package +’/’+ activity

 

#连接monkeyrunner

device = MonkeyRunner.waitForConnection()

 

#安装wuba.zhuanzhuan.apk

device.installPackage(‘./wuba.zhuanzhuan.apk’)

print ‘Installing wuba.zhuanzhuan.apk...’

 

#启动app

device.startActivity(component)

print ‘Launching zhuanzhuan...’

 

#等待几秒钟使主界面加载完毕

MonkeyRunner.sleep(second1)

 

#打开文本框并输入账号和密码

device.touch(x1,y1,type)

device.type(message1)

device.press(KEYCODE_ENTER , DOWN_AND_UP)   #按下虚拟键盘中的enter键并发送,以确保字符串能够输入

device.touch(x2,y2,type)

device.type(message2)

device.press(KEYCODE_ENTER , DOWN_AND_UP)

 

#等待1秒钟使之加载完毕

MonkeyRunner.sleep(second2)

 

#点击登陆按键

device.touch(x3,y3,type)

 

#等待几秒钟确保登陆并加载界面完成

MonkeyRunner.sleep(second3)

 

#向左滑动查看界面

device.drag(start,end,duration,steps)

 

#等待几秒钟确保加载界面完成

MonkeyRunner.sleep(second3)

 

 

 

 

 

 

 

 

 

 

转载于:https://my.oschina.net/u/3771617/blog/1635786

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值