Android自动化测试 - MonkeyRunner(二) 锤子便签测试脚本

来源于:http://testerhome.com/topics/878

  1 # encoding=utf-8
  2
  3
  4 #导入python中自带的time模块和sys模块,脚本中都要用到它们。
  5 import time
  6 import sys
  7 #MonkeyRunner自带的三个api
  8 from com.android.monkeyrunner import MonkeyRunner ,MonkeyDevice ,MonkeyImage
  9
 10
 11 #这个函数时确认年月日时分秒
 12 now=time.strftime("%Y-%m-%d-%H-%M-%S")
 13 #指定我们要保存图片的位置和打印log的位置
 14 path=‘D:\\picture\\‘
 15 logpath="D:\\log\\"
 16
 17 #python中获取当前运行的文件的名字
 18 name=sys.argv[0].split("\\")
 19 filename=name[len(name)-1]
 20
 21 """
 22 可以尝试输入这两句语句就可以明白上面的两个python方法了。
 23 print(name)
 24 print(filename)
 25 """
 26
 27 #新建一个log文件
 28 log=open(logpath+filename[0:-3]+"-log"+now+".txt",‘w‘)
 29 #连接设备,两个参数分别是等待的时间(这里的时间都是秒为单位),设备的序列号。
 30 device=MonkeyRunner.waitForConnection(5,‘b4726a2d‘)
 31
 32 #安装锤子便签apk。参数是apk文件的位置,因为python不支持中文输入,所以在后面用了.decode(‘utf-8‘)这个方法转码。
 33 device.installPackage (‘D:\\apk\\锤子便签.apk‘.decode(‘utf-8‘))
 34 #打印出操作信息到log文件里
 35 log.write("安装apk……\n")
 36 #等待2秒
 37 MonkeyRunner.sleep(2)
 38
 39 #启动app,参数里是app的包名/活动名
 40 device.startActivity(component=‘com.smartisan.notes/.NotesActivity‘)
 41 MonkeyRunner.sleep(2)
 42 #打印操作信息
 43 log.write("启动app……\n")
 44 #截图
 45 result = device.takeSnapshot()
 46 #保存截图
 47 result.writeToFile(path+"主页面".decode(‘utf-8‘)+now+‘.png‘,‘png‘)
 48
 49 #点击搜索款的位置坐标。
 50 device.touch(111,155,‘DOWN_AND_UP‘)
 51 MonkeyRunner.sleep(2)
 52 #输入smartisan字样
 53 device.type("smartisan")
 54 #截图
 55 result1=device.takeSnapshot()
 56 #保存截图
 57 result1.writeToFile(path+"搜索框截图".decode(‘utf-8‘)+‘.png‘,‘png‘)
 58
 59
 60 #移动第一个便签的位置到最后面去,参数是:一个起始点坐标,一个终点坐标,移动的时间,移动的步骤
 61 device.drag((232,235),(216,472),3,2)
 62 MonkeyRunner.sleep(3)
 63 #截图
 64 result2=device.takeSnapshot()
 65 #保存截图
 66 result2.writeToFile(path+"移动便签".decode(‘utf-8‘)+now+".png",‘png‘)
 67
 68
 69 #第一个便签向右滑动
 70 device.drag((109,360),(322,360))
 71 MonkeyRunner.sleep(3)
 72
 73 #截图
 74 result3=device.takeSnapshot()
 75 #保存截图
 76 result3.writeToFile(path+"右移动便签".decode(‘utf-8‘)+now+".png",‘png‘)
 77
 78 #点击最后一个便签的位置
 79 device.touch(182,583,‘DOWN_AND_UP‘)
 80 MonkeyRunner.sleep(5)
 81 #点击发送的位置
 82 device.touch(324,73,‘DOWN_AND_UP‘)
 83 MonkeyRunner.sleep(5)
 84 #点击发送至长微博的位置
 85 device.touch(227,789,‘DOWN_AND_UP‘)
 86 MonkeyRunner.sleep(5)
 87 #点击生成长微博的位置
 88 device.touch(228,791,‘DOWN_AND_UP‘)
 89 MonkeyRunner.sleep(5)
 90
 91 #截图
 92 result4=device.takeSnapshot()
 93 #保存图片
 94 result4.writeToFile(path+"发长微博截图".decode("utf-8")+now+‘.png‘,‘png‘)
 95 #点击下一步的位置
 96 device.touch(426,81,‘DOWN_AND_UP‘)
 97 MonkeyRunner.sleep(3)
 98
 99 #截图
100 result5=device.takeSnapshot()
101 #保存截图
102 result5.writeToFile(path+"输入微博账号".decode("utf-8")+now+‘.png‘,‘png‘)
103
104 #点击输入微博账号和密码的几个位置,分别输入账号和密码
105 device.touch(196,311,‘DOWN_AND_UP‘)
106 MonkeyRunner.sleep(3)
107 device.type("[email protected]")
108 MonkeyRunner.sleep(3)
109 device.touch(168,378,‘DOWN_AND_UP‘)
110 MonkeyRunner.sleep(3)
111 device.type("powermo1234")
112 MonkeyRunner.sleep(3)
113 #点击登录
114 device.touch(237,449,‘DOWN_AND_UP‘)
115 MonkeyRunner.sleep(3)
116
117 #截图
118 result6=device.takeSnapshot()
119 #保存截图
120 result6.writeToFile(path+"登陆微博".decode("utf-8")+now+‘.png‘,‘png‘)
121
122
123 #下面就开始对之前的截图进行对比了
124 #第一张截图做对比,去文件中找到我们要对比的图片
125 resultTrue=MonkeyRunner.loadImageFromFile(‘D:\\picture2\\shottrue.png‘)
126 log.write("主页面对比图片……\n")
127 #判断图片相识度是否是为90%
128 if(result.sameAs(resultTrue,0.9)):
129     #在命令行打印出信息
130     print("主页面图片对比成功")
131     #打印信息到log文件
132     log.write("主页面图片对比成功……\n")
133 else:
134     #打印信息到命令行
135     print("主页面图片对比失败")
136     log.write("主页面图片对比失败……\n")
137
138
139 #去文件中找到我们规定的图片用来对比
140 result1True=MonkeyRunner.loadImageFromFile(‘D:\\picture2\\shottrue1.png‘)
141 #判断图片相识度是否是为90%
142 if(result1.sameAs(result1True,0.9)):
143     print("搜索框图片对比成功")
144     log.write("搜索框图片对比成功……\n")
145 else:
146     print("搜索框图片对比失败")
147     log.write("搜索框图片对比失败……\n")
148
149
150
151 #对移动便签图片对比
152 result2True=MonkeyRunner.loadImageFromFile(‘D:\\picture2\\shottrue2.png‘)
153 ##判断图片相识度是否是为80%
154 if(result2.sameAs(result2True,0.8)):
155     print("移动便签对比成功")
156     log.write("移动便签对比成功……\n")
157 else:
158     print("移动便签图片对比失败")
159     log.write("移动便签对比失败……\n")
160
161
162
163
164 #对移动便签图片进行对比,去文件中找我们规定的图片
165 result3True=MonkeyRunner.loadImageFromFile(‘D:\\picture2\\shottrue3.png‘)
166 ##判断图片相识度是否是为80%
167 if(result3.sameAs(result3True,0.8)):
168     print("右移便签图片对比成功")
169     log.write("右移便签图片对比成功……\n")
170 else:
171     print("右移便签图片对比失败")
172     log.write("右移便签图片对比失败……\n")
173
174 #对长微博图片对比
175 result4True=MonkeyRunner.loadImageFromFile(‘D:\\picture2\\shottrue4.png‘)
176 if(result4.sameAs(result4True,0.8)):
177     print("发长微博图片对比成功")
178     log.write("发长微博图片对比成功……\n")
179 else:
180     print("发长微博图片对比失败")
181     log.write("发长微博图片对比失败……\n")
182
183
184 result5True=MonkeyRunner.loadImageFromFile(‘D:\\picture2\\shottrue5.png‘)
185 if(result5.sameAs(result5True,0.8)):
186     print("输入微博账号图片对比成功")
187     log.write("输入微博账号图片对比成功……\n")
188 else:
189     print("输入微博账号图片对比失败")
190     log.write("输入微博账号图片对比失败……\n")
191
192
193 result6True=MonkeyRunner.loadImageFromFile(‘D:\\picture2\\shottrue6.png‘)
194 if(result6.sameAs(result6True,0.8)):
195     print("登陆微博图片对比成功")
196     log.write("登陆微博图片对比成功……\n")
197 else:
198     print("登陆微博图片对比失败")
199     log.write("登陆微博图片对比失败……\n")
时间: 2024-10-10 01:53:17

Android自动化测试 - MonkeyRunner(二) 锤子便签测试脚本的相关文章

锤子便签的 monkeyrunner 测试脚本(转)

https://testerhome.com/topics/878 MonkeyRunner可能大家已经听过无数次了,大家在网上也看过了各种关于的它的资料了,我这里就不再过多的啰嗦它的用途了,它可以对app做功能测试也可以对手机Rom做功能测试,在没有app源码的情况下monkeyrunner可以做到很好的功能测试.MonkeyRunner有一个录制脚本的工具和回放的功能,大家去下载monkeyrecody.py和monkeyplayback.py这两个脚本就可以了,这个我这里也不讲了,网上去g

android widget 开发实例 : 桌面便签程序的实现具体解释和源代码 (上)

如有错漏请不吝拍砖指正,转载请注明出处,很感谢 桌面便签软件是android上经常使用软件的一种,比方比較早的Sticky Note,就曾很流行, Sticky Note的介绍能够參见 http://www.tompda.com/c/article/11778/ 而实际上使用android平台对widget开发的支持,桌面便签类软件是很易于开发的. 本文通过逐步实现一个简单的桌面便签软件,和大家分享进行widget开发的过程和方法. 1.MyNote的终于实现效果 为了提起大家阅读本文的兴趣,先

锤子便签V2.5产品体验报告

前言 笔者对互联网产品很感兴趣,但属小白玩家.如果各位前辈有兴致请看一下,恭候指教. 体验环境 体验产品:锤子便签 体验版本:V2.5 体验终端:华为荣耀3X畅玩版 手机系统:Android4.2.2 体验日期:2015.09.02 产品概览 锤子便签是一款工具类App,可以让用户在便签中输入文字以及加载图片,文字部分支持Markdown语言,编辑完成之后支持用户以文字或者图片或者网页的形式,通过社交工具或者即时通讯工具分享出去. 产品定位         产品解读 为有些文艺气息,喜欢图文混编

使用Adt自带的工具进行Android自动化测试(二)

在这个系列的上一篇文章中,我们介绍了Monkey的用法,这篇文章将继续介绍Adt自带的另外一个自动化工具MonkeyRunner MonkeyRunner和Monkey的关系 在这个系列的上一篇文章中,我们介绍了Monkey最常规的一种用法,即进行完全随机的测试(点击文末"阅读原文"可以打开这篇文章查看).在这种情况下,Monkey会自己产生一些随机的操作指令给自己执行.但是如果想要按照一个特定的指令序列执行,就要借助MonkeyRunner. MonkeyRunner是一个运行于PC

Android自动化测试 - MonkeyRunner(一)介绍

MonkeyRunner介绍: MonkeyRunner是Google提供的一个基于坐标点的Android黑盒自动化测试工具. Monkeyrunner工具提供了一套API让用户/测试人员来调用,调用这些api可以控制一个Android设备或模拟器,而不需要了解对应的源码. 有了Monkeyrunner,我们可以编写python脚本来控制apk包的安装和卸载.启动app.向app发送各种动作事件.截取图片并保存. Monkeyrunner与Monkey的区别: Monkey是通过adb shel

Android自动化测试 - MonkeyRunner(三) 随手练习测试脚本

#coding=utf-8 import os import time #import MonkeyRunner three module from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice, MonkeyImage runComponent = "com.dest.mr/.ui.home.HomeLauncherNew" path = 'd:/pic/' logpath = 'd:/log/' #new lo

Android自动化测试------monkeyrunner(六)

monkeyrunner 1.简介 monkeyrunner即android SDK中自带的工具之一,此工具提供API可按制android设备或模拟器. monkeyrunner提供了一个API,使用此API写出的程序可以在Android代码之外控制Android设备和模拟器.通过monkeyrunner,您可以写出一个Python程序去安装一个Android应用程序或测试包,运行它,向它发送模拟击键,截取它的用户界面图片,并将截图存储于工作站上. monkeyrunner工具的主要目的是用于测

Android自动化测试实战 Java篇主流工具,框架,脚本

String 前往下载 = " http://icourse8.com/Android_zidonghuaceshi.html "; 章节信息第1章 课程简介第2章 那些重要的Android工具和命令你真的都掌握好了吗?第3章 如何将Monkey工具玩出专业范?第4章 深度挖掘MonkeyRunner测试技术,教你google秘不示人的黑科技第5章 学好Robotium 搞定单元.黑盒.白盒及慕课网官方APP自动化测试第6章 UI自动化测试高手必备最新神器-UiAutomator第7章

便签小项目总结

这一个月,自己开发了一个android小项目,xin便签的管理,它可以添加.删除.修改便签,同时还可以给便签设置相应的铃声,也可以添加删除文件夹,将便签移入或移出文件夹,通过小项目的开发,对自己之前学的android基础知识进行了一个小小的总结,基本上用到了Activity.Service.Content provider.BroadcastReceiver四大组件,以及数据库的操作SQLiteDatabase.Handler使用.ListView和自定义适配器的灵活运用.AlarmManage