MonkeyRunner工具主要有三个类:

  1. MonkeyRunner
  2. MonkeyDevice
  3. MonkeyImage

官方API文档 :http://www.android-doc.com/tools/help/monkeyrunner_concepts.html#

1.MonkeyRunner类:

MonkeyRunner提供连接真机和模拟器、输入、暂停、警告框等方法。

常用方法

waitForConnection(float timeout,string deviceid),

from com.android.monkeyrunner import MonkeyRunner as mr

print("connect devices...")

device=mr.waitForConnection()

# device=mr.waitForConnection(5,'127.0.0.1:62001')

2.MonkeyDevice类

MonkeyDevice类提供了安装和卸载程序包、开启Activity、发送按键和点击事件、运行测试包等方法。

常用方法

  • installPackage (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)

touch参数说明

integer x,x坐标值。
integer y,y坐标值。
integer type,key event类型(如DOWN、UP、DOWN_AND_UP)。

DOWN为按下事件 UP为弹起事件 DOWN_AND_UP为按下弹起事件。

  • drag (tuple start, tuple end, float duration, integer steps)

drag参数详细说明如下:

tuple start,拖拽起始位置,为tuple类型的(x,y)坐标点。
tuple end,拖拽终点位置,为tuple类型的(x,y)坐标点。
float duration,拖拽手势持续时间,默认为1.0s。
-integer steps,插值点的步数,默认值为10。

实践案例:

连接设备,安装考研帮App并启动

代码实现

kyb_start.py

from com.android.monkeyrunner import MonkeyRunner as mr

from com.android.monkeyrunner import MonkeyDevice as md

print("connect devices...")

device=mr.waitForConnection()

print("install app...")

device.installPackage(r'C:\Users\Shuqing\Desktop\kaoyan3.1.0.apk')

package = 'com.tal.kaoyan'

activity = 'com.tal.kaoyan.ui.activity.SplashActivity'

runComponent = package + '/' + activity

print("launch App...")

device.startActivity(component=runComponent)

代码执行方式

monkeyrunner scripfile

C:\Users\Shuqing>monkeyrunner E:\monkeyrunner_script\kyb.py

 

 

3.MonkeyImage类

MonkeyImage类在测试过程中用来保存各种格式的测试截图,并可以进行图像对比。

常用方法

  • takeSnapshot() 进行屏幕截图
  • writeToFile() 保存图像文件到指定的文件路径

用法示例

from com.android.monkeyrunner import MonkeyImage as mi

print("takeSnapshot")

screenshot=device.takeSnapshot()

screenshot.writeToFile(r'E:\monkeyrunner_script\test.png','png')

最新文章

  1. AngularJS入门教程1--配置环境
  2. mysql-linux命令登录,退出
  3. Java类与对象——几个课堂例子的总结及作业
  4. Android常见崩溃或闪退的问题描述及原因总结、及与性能相关的模块——持续更新
  5. JQuery判断数组中是否包含某个元素$.inArray("js", arr);
  6. WINCE 隐藏标题栏
  7. RadioButtonList js获取选择的项
  8. MOSS2010部署解决方案失败是可以尝试更新
  9. HotSpot的算法实现
  10. phalcon——验证
  11. 泛型里的super和extend
  12. SSE图像算法优化系列十七:多个图像处理中常用函数的SSE实现。
  13. [HAOI 2006]受欢迎的牛
  14. c#核心基础 - 浅谈 c# 中的特性 Attribute)
  15. 网络爬虫&起点中文网完本榜500部小说
  16. Docker在windows下的使用【二】
  17. windows环境下 php 将office文件(word/excel/ppt)转化为pdf(转)
  18. python 路径处理
  19. SQL中的between and
  20. tomcat:8080/返回404;/etc/hosts(identifier-Namespace-scope)

热门文章

  1. JavaScript一看就懂(2)闭包
  2. Asp.NetCore轻松学-实现一个轻量级高可复用的RabbitMQ客户端
  3. RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.2版本正式发布
  4. DSAPI 图形图像篇(上)
  5. 玩玩小程序:使用 WebApi 交互打造原生的微信小程序 - 图灵小书架
  6. .net core jwt 入门记录
  7. Tkinter小技巧:如何为窗口右上角的‘x’添加一个自定义的响应函数
  8. MYSQL SQL语句优化
  9. App隐私条款
  10. EclipseAndroid打包签名发布安装失败闪退运行不了