Android自动化测试之——MonkeyRunner(2)

 

 

本文主要介绍MonkeyDevice的方法。

上文中,使用MonkeyRunner方法连接设备并返回一个MonkeyDevice对象,使用该对象调用MonkeyDevice方法可实现对设备的操作。主要包括:点击、拖拽、截图、按键、输入内容

一、常量

MonkeyDevice的touch()、press()、type()方法,需要用到这些常量

  • DOWN:按下事件,touch()、press()方法用到
  • UP:抬起事件,touch()、press()方法用到
  • DOWN_AND_UP:按下马上抬起,touch()、press()、type()三个方法用到

二、MonkeyDevice方法

1、startActivity()

打开应用

device.startActivity("com.android.browser/.BrowserActivity")

2、touch(integer x, integer y, integer tpye)

点击某个坐标点,发送事件。以下两种方式都可以

device.touch(200,300,MonkeyDevice.DOWN_AND_UP)
device.touch(200,300,'DOWN_AND_UP')

3、press(string name, dictionary type)

发送指定类型指定键码的事件

#按下HOME键
device.press('KEYCODE_HOME',MonkeyDevice.DOWN_AND_UP) 
#按下BACK键
device.press('KEYCODE_BACK',MonkeyDevice.DOWN_AND_UP) 

KeyCode: 

home键:   KEYCODE_HOME 

back键:     KEYCODE_BACK 

拨号键:     KEYCODE_CALL 

挂断键:     KEYCODE_ENDCALL 

上导航键: KEYCODE_DPAD_UP 

下导航键:  KEYCODE_DPAD_DOWN 

左导航:     KEYCODE_DPAD_LEFT 

右导航键:  KEYCODE_DPAD_RIGHT  

ok键:         KEYCODE_DPAD_CENTER 

上音量键:  KEYCODE_VOLUME_UP  

下音量键:  KEYCODE_VOLUME_DOWN 

power键:   KEYCODE_POWER 

camera键: KEYCODE_CAMERA 

menu键:   KEYCODE_MENU

 

 

4、type(string message)

将消息中包含的字符发送到此设备,就好像它们在设备的键盘上键入了一样。这相当于使用键事件类型DOWN_AND_UP为消息中的每个键代码调用press()。

device.type("zhuting")

5、installPackage(string path)

device.installPackage('D:\\apk\\taobao.apk') # 安装包

6、removePackage(string package)

device.removePackage('com.tencent.mm') # 卸载包

7、takeSnapshot()

image1 = device.takeSnapshot()

8、reboot()

device.reboot() # 重启系统

9、wake()

  device.wake()   #唤醒屏幕

 

10、drag(tuple start, tuple end, float duration, integer steps)

在这个设备的屏幕上模拟拖动手势(触摸、保持和移动)

start:开始坐标
end: 结束坐标
duration :拖动持续时间(以秒为单位),默认1.0秒
steps: 插值点时要采取的步骤。默认值是10

device.drag((200,600),(200,300),0.1,10) # 可实现滑动操作,上滑操作

 

附demo1.py

 

#encoding:utf-8
from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice,MonkeyImage

#连接设备
device = MonkeyRunner.waitForConnection(3,'emulator-5554')
MonkeyRunner.sleep(2)
print('connect device success')

#安装应用
device.installPackage('D:\\apk\\taobao.apk')
print('install taobao')
MonkeyRunner.sleep(5)

#卸载应用
device.removePackage('com.tencent.mm')
print('uninstall taobao')
MonkeyRunner.sleep(5)

#打开应用,打开浏览器
device.startActivity("com.android.browser/.BrowserActivity")
print('open browser')
MonkeyRunner.sleep(5)

#点击网址框
device.touch(200,80,"DOWN_AND_UP")
MonkeyRunner.sleep(2)

#输入网址
device.type("www.baidu.com")
device.touch(124,151,"DOWN_AND_UP")
MonkeyRunner.sleep(5)

#点击搜索框
device.touch(100,370,"DOWN_AND_UP")
MonkeyRunner.sleep(2)
device.type("zhuting")
MonkeyRunner.sleep(2)
device.touch(390,162,"DOWN_AND_UP")  #点击搜索
MonkeyRunner.sleep(5)

#截图
image = device.takeSnapshot()
image.writeToFile('E:\\autoTest\\test_02.png','png')  #保存截图
MonkeyRunner.sleep(5)

#HOME键
device.press("KEYCODE_HOME","DOWN_AND_UP")
MonkeyRunner.sleep(2)

device.drag((450,500),(50,500),0.5,10) # 可实现滑动操作,左滑
MonkeyRunner.sleep(5)

device.press('KEYCODE_POWER',MonkeyDevice.DOWN_AND_UP) # 电源键休眠
MonkeyRunner.sleep(2)
device.wake() # 唤醒设备

#重启系统
device.reboot()

复制代码

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值