MonkeyRunner浅谈和入门

发表于:2015-11-12 10:35

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:晓昕    来源:51Testing软件测试网采编

  MonkeyRunner这货的背景么~不多说,谷歌亲儿子,不过是最傻乎乎的一个,从名字来讲,比Monkey年龄大点~因为它已经会跑了。。它的优点么,就是指哪点哪。不像有些框架很矫情,一定要源代码,不能跨应用,不能怎样怎样~~不然我就罢工咯。。。但是缺点么,很明显,也是指哪点哪,由于MonkeyRunner的脚本一般都是根据屏幕坐标来做,换了分辨率,马上不好使,而你指的点是屏幕坐标点,不同的分辨率上相同坐标的位置肯定是不同的~所以,你懂的,一换分辨率马上玩完~特别是写起来特别费劲,因为要找坐标。。
  接下来,不扯淡了,直接上干货。
  步骤一、环境
  请自行搭建Android的adb环境,百度一搜漫山遍野的,我就不多说了
  步骤二、创建文件
  建个写MonkeyRunner的文件,最好.py后缀,因为这货的语法是python的远房亲戚,当然你非要不用.py结尾也没关系
  步骤三、码!
  不多说,直接上示例代码~
#代码注释请用左侧这个符号即可
#首先,导入几个包
from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice,MonkeyImage
device = MonkeyRunner.waitForConnection()
#下面这行是加载该路径图片赋值给picture,路径请酌情修改,嗯python的赋值,基本什么都能给的
picture = MonkeyRunner.loadImageFromFile('d:/screenshot/example/1.png')
a=1
b=‘.png'
#写个循环,python是缩进式语法,所以请注意缩进~
for i in range (1,3):
o=str(a)+b
#输入字符串
device.type(“456785454123569875")
#点击屏幕900,1500的位置
device.touch(900,1500,”DOWN_AND_UP”)
#拖动,从200,1600,拖动到200,600,用时0.5秒,分2步进行
device.drag((200,1600),(200,600),0.5,2)
#歇二秒
MonkeyRunner.sleep(2)
#截图并将图片赋值给result
result = device.takeSnapshot()
#将result中的图片写入文件
result.writeToFile(‘d:/screenshot/example/'+o,'png')
#图片对比一下咯,相似度0.6就给过!
if result.sameAs(picture,0.6):
#哦耶过了!
print "pass"
else:
#可惜没过
print "fail"
MonkeyRunner.sleep(1)
a=a+1
MonkeyRunner.sleep(3)
#点击back键
device.press('KEYCODE_BACK',MonkeyDevice.DOWN_AND_UP)
MonkeyRunner.sleep(1)
  嗯,楼上注释已经解释的很清楚了吧?
  步骤四、执行
  然后请保存文件,连上手机,打开命令框,什么cmd,终端之类的各种叫法,然后输入,adb空格monkeyrunner空格拖入刚才保存的文件,回车观看手机屏幕
  附录:
  有人估计会问,坐标怎么来?用尺子么?~NONONO
  步骤如下:
  1、点击设置
  2、请找到开发人员选项
  3、进入开发人员选项
  4、找到指针位置开关
  5、勾上该指针位置开关
  预期结果:
  手指触摸屏幕时,出现触摸痕迹,顶部显示当前手指触摸的坐标
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号