MonkeyRunner的API

官方API文档 :http://www.android-doc.com/tools/help/monkeyrunner_concepts.html#
MonkeyRunner API
1、monkeyrunner主要有三个类:
MonkeyRunner
MonkeyDevice
MonkeyLmage

2、MonkeyRunner类
提供的API:
alert()              警告框
choice()             选项框列表
help()               API帮助文档
input()              输入
sleep()              暂停
waitForConnection()  等待设备连接
常用方法:
waitForConnection(float timeout,string deviceid)
from com.android.monkeyrunner import MonkeyRunner as mr
#连接设备,默认使用已经连接上的设备(adb connect IP:PORT)
device = mr.waitForConnection()
#连接设备,使用指定的设备连接
device = mr.waitForConnection(1,'127.0.0.1:62001')


3、MonkeyDevice类
MonkeyDevice类提供了安装和卸载程序包,开启Activity,发送按键和点击事件,运行测试包等方法
broadcastIntent()   发送广播
drag()              拖动,拖曳
getProperty()       获取当前设备属性  
getSystemProperty() 获取当前设备属性
installPackage()    安装应用
instrument()        执行测试用例
press()             按键
reboot()            重启
removePackage()     删除指定package
shell()             执行shell命令
startActivity()     启动应用
touch()             点击
type()              输入字符串
常用方法:
instalPackage(String path)
removePackage(String package)
startActivity(string uri, String action, String data, String mimetype, iterable categories dictionary extras, component component, flags)
touch (integer x, integer y, integer type)
    参数解释:
    integer x,x坐标值
    integer y,y坐标值
    integer type,key event类型(如DOWN、UP、DOWN_AND_UP)
drap(tuple start, tuple end, float duration, integer steps)
    参数解释:
    tuple start,拖拽起始位置,为tuple类型的(x,y)坐标点
    tuple end,拖拽终点位置,为tuple类型的(x,y)坐标点
    float duration,拖拽手势持续时间,默认为1.0s
    integer steps,插值点的步数,默认值为10


举例:
安装考研帮app并启动
kyb_install.py
from com.android.monkeyrunner import MonkeyRunner as mr
from com.android.monkeyrunner import MonkeyDevice as md

print("connect device")
device = mr.waitForConnection(1,'127.0.0.1:62001')

print("install app")
device.installPackage(r"C:\Users\chawey\Desktop\kaoyanbang.opdown.com.apk")

print("launch app")
packageName = 'com.tal.kaoyan'
activity = 'com.tal.kaoyan.ui.activity.SplashActivity'
component = packageName+'/'+activity
device.startActivity(component=component)

cmd命令执行执行:
monkeyrunner D:\monkeyrunner\kyb_install.py

注:如果报错:
03:18:56 E/DeviceMonitor: Adb connection Error:远程主机强迫关闭了一个现有的连接。
220119 15:18:56.708:S [pool-1-thread-1] [com.android.chimpchat.adb.AdbChimpDevice] Error starting command: monkey --port 12345
220119 15:18:56.708:S [pool-1-thread-1] [com.android.chimpchat.adb.AdbChimpDevice]java.io.IOException: 远程主机强迫关闭了一个现有的连接。
220119 15:18:56.708:S [pool-1-thread-1] [com.android.chimpchat.adb.AdbChimpDevice]at sun.nio.ch.SocketDispatcher.read0(Native Method)
220119 15:18:56.708:S [pool-1-thread-1] [com.android.chimpchat.adb.AdbChimpDevice]at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43)
220119 15:18:56.708:S [pool-1-thread-1] [com.android.chimpchat.adb.AdbChimpDevice]at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)

monkeyrunner使用脚本启动app报错时,如下解决方案:
第一步:打开任务管理器,列出所有的用户进程,强制终止所有的 adb.exe 进程
第二步:进入手机管理界面。调试界面有个 可调试的选项,关闭一次后打开,把数据线从新连一次电脑
    

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容