Android自动化测试Monkeyrunner

本文介绍如何使用Monkeyrunner进行Android应用的自动化测试,包括环境搭建、脚本编写与执行方法。详细解释了通过Python脚本实现设备连接、截图保存、滑动触摸等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、    基础篇

Monkeyrunning基础

Monkeyrunner准备

Android开发环境、SDK环境、monkeyrunner_py脚本文件(包括脚本录制和回放)需要下载放入SDK\tools根目录下就可以。其中包括

Monkeyrunner运行方式有两种。

1、在SDK的tools路径下拼写Monkeyrunner,然后导入模块、连接设备一步一步向下操作。

2、编辑python脚本文件,将要执行的命令全部写入.py文件中直接执行。

Monkeyrunner编写

1、导入模块

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

说明:导入MonkeyRunner, MonkeyDevice, MonkeyImage三种API。

2.连接当前设备,并返回一个MonkeyDevice对象

devices = MonkeyRunner.waitForConnection();

devices = MonkeyRunner.waitForConnection(float timeout, string deviceID) 

例:devices=MonkeyRunner.waitForConnection(5,"emulator-5554")

 //第一个参数为等待连接设备时间,第二个参数为具体连接的设备

说明:连接设备

3.截图并保存

result = devices.takeSnapshot()

result.writeToFile(‘./shotbegin.png’,'png’)

4.滑动屏幕2次:

for i in range(1,3):
    devices.drag((200,300),(100,300),0.1,10)  空四格 规则
    MonkeyRunner.sleep(1)

    MonkeyRunner.sleep(1)

说明:注意这里脚本写法;for循环内,必须缩进,这是Python中的一个for循环,意思是遍历1~3(不含3)所有整数,遍历做什么呢?第二行就是我们要做的事情,“drag”就是拖动事件指令,后面的括号里就是参考,表示从第一个坐标开始到一个坐标结束,0.1表示所用时间,最后的10可以理解为采样点,默认为10。第三行就是等待的意思,滑动一次后等待1秒再继续。

5、安装Android包,返回的返回值为boolean类型(false/ture),由此可以判断安装过程是否正常。

devices.installPackage(‘myproject/bin/MyApplication.apk’)//安装包路径

devices.removePackage (‘com.example.android.notepad’)//包名

print (‘卸载成功’)

devices.installPackage(‘ApiDemos.apk’)

print (‘安装成功’)

6、启动一个Activity;

device.startActivity(component=’com.android.htccontacts/com.android.htccontacts.ContactsTabActivity’)

例:启动飞信

devices.startActivity

   (component = 'cn.com.fetion/.android.ui.activities.StartActivity')

7.时延(秒);

MonkeyRunner.sleep(3)

说明:即上一步操作结束后停顿时间,可用于截图时避免截图延时等。

8.触击屏幕;

devices.touch(507,72,”DOWN_AND_UP”)

说明:touch点击事件,(507,72)点击位置坐标,Down_AND_UP表示按下然后放开。

9.执行adb shell命令;

devices.shell(“input text goup01″)

10.发送按键指令

按下HOME键devices.press(‘KEYCODE_HOME’,'DOWN_AND_UP’)

相应的按键对应的名称如下:

home键:KEYCODE_HOME

back键:KEYCODE_BACK

send键:KEYCODE_CALL

end键: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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值