MonkeyRunner这货的背景么~不多说,谷歌亲儿子,不过是最傻乎乎的一个,从名字来讲,比Monkey年龄大点~因为它已经会跑了。。它的优点么,就是指哪点哪。不像有些框架很矫情,一定要源代码,不能跨应用,不能怎样怎样~~不然我就罢工咯。。。但是缺点么,很明显,也是指哪点哪,由于MonkeyRunner的脚本一般都是根据屏幕坐标来做,换了分辨率,马上不好使,而你指的点是屏幕坐标点,不同的分辨率上相同坐标的位置肯定是不同的~所以,你懂的,一换分辨率马上玩完~特别是写起来特别费劲,因为要找坐标。。
接下来,不扯淡了,直接上干货。
步骤一、环境
步骤二、创建文件
建个写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、勾上该指针位置开关
预期结果:
手指触摸屏幕时,出现触摸痕迹,顶部显示当前手指触摸的坐标