MonkeyRunner实例及使用说明
文章转自:
http://www.ishow.me/2013/02/06/1035/.html
了解了MonkeyRunner,现在上一个简单的实例(理论支持所有Android设备^_^),向左滑动屏幕2次,并在滑动前和滑动后进行截图:
Python
# Imports the monkeyrunner modules used by this programfrom com.android.monkeyrunner import MonkeyRunner, MonkeyDevice, MonkeyImage# Connects to the current device, returning a MonkeyDevice objectdevice = MonkeyRunner.waitForConnection()# Takes a screenshotresult = device.takeSnapshot()# Writes the screenshot to a fileresult.writeToFile('./shotbegin.png','png')#Drag screen
for i in range(1,3):device.drag((200,300),(100,300),0.1,1)MonkeyRunner.sleep(1)# Takes a screenshotresult = device.takeSnapshot()# Writes the screenshot to a fileresult.writeToFile('./shotend.png','png')
使用方法:将代码拷贝到记事本并保存为.py格式的文件(最好和MonkeyRunner放在同一目录),如Demo.py,然后运行CMD并进入MonkeyRunner目录,使用MonkeyRunner Demo.py运行,看下什么效果?
实例详解:
1.导入模块
from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice, MonkeyImage
2.连接当前设备,并返回一个MonkeyDevice对象
device = MonkeyRunner.waitForConnection()
3.截图并保存
result = device.takeSnapshot()
result.writeToFile(‘./shotbegin.png’,'png’)
4.滑动屏幕2次:
for i in range(1,3):
device.drag((200,300),(100,300),0.1,1)
MonkeyRunner.sleep(1)
说明:这是Python中的一个for循环,意思是遍历1~3(不含3)所有整数,遍历做什么呢?第二行就是我们要做的事情,“drag”就是拖动事件指令,后面的括号里就是参考,表示从第一个坐标开始到一个坐标结束,0.1表示所用时间,最后的1可以理解为采样点,默认为10,这里设置的是1,在本实例中1和10区别不大。第三行就是等待的意思,滑动一次后等待1秒再继续。
截图并保存
result = device.takeSnapshot()
result.writeToFile(‘./shotend.png’,'png’)
和第三步是一样的,只是保存的名字不一样,这样就实现了测试前和测试后的结果对比。
是不是很简单?
除了实例中的导入,截图,保存截图,滑动屏幕,还有很多方法,只要搞清楚怎么用了,剩下的就是自己排列组合来做成一个个的Case了。
其它方法介绍:
1.安装Android包,注意,此方法返回的返回值为boolean,由此可以判断安装过程是否正常 ;
device.installPackage(‘myproject/bin/MyApplication.apk’)
device.removePackage (‘com.example.android.notepad’)
print (‘卸载成功’)
device.installPackage(‘ApiDemos.apk’)
print (‘安装成功’)
2.启动一个Activity;
device.startActivity (component=’com.android.htccontacts/com.android.htccontacts.ContactsTabActivity’)
3.时延(秒);
MonkeyRunner.sleep(3)
4.触击屏幕;
device.touch(507,72,”DOWN_AND_UP”)
5.执行adb shell命令;
device.shell(“input text goup01″)
6.发送按键指令
按下HOME键 device.press(‘KEYCODE_HOME’,'DOWN_AND_UP’)
按下BACK键 device.press(‘KEYCODE_BACK’,'DOWN_AND_UP’)
按下下导航键 device.press(‘KEYCODE_DPAD_DOWN’,'DOWN_AND_UP’)
按下上导航键 device.press(‘KEYCODE_DPAD_UP’,'DOWN_AND_UP’)
按下OK键 device.press(‘KEYCODE_DPAD_CENTER’,'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
以上信息基本够用了,若还有什么更“高级”方法,我会再加进来的,希望这些对大家有帮助。
无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程 https://www.captainbed.net/chichoxian
MonkeyRunner实例及使用说明相关推荐
- android sdk工具之MonkeyRunner (实例)_小兵兵同学_新浪博客
android sdk工具之MonkeyRunner (实例)_小兵兵同学_新浪博客
- JAVA使用itext来生成PDF表格实例和使用说明
在对接某第三方XX平台时需要对表格传入PDF文件类型.于是自造了一个. Maven使用版本如下: <dependency><groupId>com.itextpdf</g ...
- c#--Fleck WebSocket使用 (C#版Websocket实例)
推荐几篇文章: WebSocket 实战 C#版Websocket实例 C#工作总结(一):Fleck的WebSocket使用 1.服务端代码 using Fleck; using System; u ...
- Android App 压力测试 monkeyrunner
Android App 压力测试 第一部分 背景 1. 为什么要开展压力测试? 2. 什么时候开展压力测试? 第二部分 理论 1. 手工测试场景 2. 自动测试创建 3. Monkey工具 4. AD ...
- 线性回归实例-----预测鲍鱼年龄
预测鲍鱼年龄 前言 线性回归是监督学习的一个方向,用来预测连续的数值型数据.比如房价预测.销量预测等等. 优点:计算简单,易于理解 缺点:只使用与线性数据,对于非线性数据使用非线性回归模型 使用条 ...
- android 回归测试,android测试:monkey使用方法
android测试:monkey使用方法 Android Sdk给我们提供了Monkey和Monkeyrunner这两个自动化测试工具. 一.什么是Monkey Monkey是一个命令行工具,可以运行 ...
- Android App专项测试-压力测试篇
小伙伴们大家好,今天主要分享的主题是Android App专项测试.如何进行Android App专项测试压力测试呢?我们主要通过Android平台的一门工具Monkey.在学习本门课程之前,如果你具 ...
- android测试篇(四)android专项测试之压力测试
前言 抄袭文章来源:Android App专项测试-压力测试篇 小伙伴们大家好,今天主要分享的主题是Android App专项测试.如何进行Android App专项测试压力测试呢?我们主要通过And ...
- RocketMQ Topic/Group/Tags介绍
Topic 功能介绍 Topic是RocketMQ里对消息的一级归类. RocketMQ通过Topic完成消息的发布和订阅.消息生产者将消息发送到Topic中,而消息消费者则通过订阅该Topic来消费 ...
最新文章
- 英文谚语:Take that with a grain of salt
- zoj4110 Strings in the Pocket(manacher)
- SSE3 和 SSSE3 Intrinsics各函数介绍
- docker环境给elasticsearch安装ik分词
- AliExpress智能营销引擎大揭秘 - AnalyticDB如何做到快准狠省
- GhostBSD 19.04 发布,注重安全与稳定性的 FreeBSD 发行版
- 【交通标志识别】基于matlab GUI SIFT交通标志识别【含Matlab源码 864期】
- 附加SQL2005数据库失败解决方法
- kettle入门教程
- 隐马尔可夫模型简单理解
- Matlab 数据类型
- mysql bcnf_bcnf范式
- java 比较日期大小(方法之一compare to 备忘)
- x265中的lookahead
- 模模搭古城搭建学习笔记1:地面、围墙篇
- jQuery源码分析系列目录
- hadoop性能测试
- 婚恋交友网站比相亲更靠谱!幸福婚姻算法了解一下
- 详解目标检测的评价指标
- 【NLP】中文分词:原理及分词算法