锤子便签的Monkeyrunner 测试脚本

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

  下面是我对锤子便签的一个MonkeyRunner测试脚本。这里会用到点击,拖动,截图,截图对比的一些方法,基本上我们写monkeyrunner测试脚本中常调用到的方法都用到了,这里对锤子便签测试思路是这样的:先按照正常的操作使用步骤,一步步的操作下去,每操作一步都截图,操作完成之后,再来对截图进行对比并打印出对比结果在log文本里。这里用到的是坐标点的定位方法。

  #!/usr/bin/env monkeyrunner# encoding=utf-8  #导入python中自带的time模块和sys模块,脚本中都要用到它们。import timeimport sys#MonkeyRunner自带的三个apifrom com.android.monkeyrunner import MonkeyRunner ,MonkeyDevice ,MonkeyImage#这个函数时确认年月日时分秒now=time.strftime("%Y-%m-%d-%H-%M-%S")#指定我们要保存图片的位置和打印log的位置path='D:\\picture\\'logpath="D:\\log\\"#python中获取当前运行的文件的名字name=sys.argv[0].split("\\")filename=name[len(name)-1]"""

  可以尝试输入这两句语句就可以明白上面的两个python方法了。


print(name)

print(filename)

"""#新建一个log文件log=open(logpath+filename[0:-3]+"-log"+now+".txt",'w')#连接设备,两个参数分别是等待的时间(这里的时间都是秒为单位),设备的序列号。device=MonkeyRunner.waitForConnection(5,'b4726a2d')#安装锤子便签apk。参数是apk文件的位置,因为python不支持中文输入,所以在后面用了.decode('utf-8')这个方法转码。device.installPackage ('D:\\apk\\锤子便签.apk'.decode('utf-8'))#打印出操作信息到log文件里log.write("安装apk……\n")#等待2秒MonkeyRunner.sleep(2)#启动app,参数里是app的包名/活动名device.startActivity(component='com.smartisan.notes/.NotesActivity')MonkeyRunner.sleep(2)#打印操作信息log.write("启动app……\n")#截图result = device.takeSnapshot()#保存截图 result.writeToFile(path+"主页面".decode('utf-8')+now+'.png','png')#点击搜索款的位置坐标。device.touch(111,155,'DOWN_AND_UP')MonkeyRunner.sleep(2)#输入smartisan字样device.type("smartisan")#截图result1=device.takeSnapshot()#保存截图result1.writeToFile(path+"搜索框截图".decode('utf-8')+'.png','png')#移动第一个便签的位置到最后面去,参数是:一个起始点坐标,一个终点坐标,移动的时间,移动的步骤device.drag((232,235),(216,472),3,2)MonkeyRunner.sleep(3)#截图result2=device.takeSnapshot()#保存截图result2.writeToFile(path+"移动便签".decode('utf-8')+now+".png",'png')#第一个便签向右滑动device.drag((109,360),(322,360))MonkeyRunner.sleep(3)#截图result3=device.takeSnapshot()#保存截图result3.writeToFile(path+"右移动便签".decode('utf-8')+now+".png",'png')#点击最后一个便签的位置device.touch(182,583,'DOWN_AND_UP')MonkeyRunner.sleep(5)#点击发送的位置device.touch(324,73,'DOWN_AND_UP')MonkeyRunner.sleep(5)#点击发送至长微博的位置device.touch(227,789,'DOWN_AND_UP')MonkeyRunner.sleep(5)#点击生成长微博的位置device.touch(228,791,'DOWN_AND_UP')MonkeyRunner.sleep(5)#截图result4=device.takeSnapshot()#保存图片result4.writeToFile(path+"发长微博截图".decode("utf-8")+now+'.png','png')#点击下一步的位置device.touch(426,81,'DOWN_AND_UP')MonkeyRunner.sleep(3)#截图result5=device.takeSnapshot()#保存截图result5.writeToFile(path+"输入微博账号".decode("utf-8")+now+'.png','png')#点击输入微博账号和密码的几个位置,分别输入账号和密码device.touch(196,311,'DOWN_AND_UP')MonkeyRunner.sleep(3)device.type("powermo@126.com")MonkeyRunner.sleep(3)device.touch(168,378,'DOWN_AND_UP')MonkeyRunner.sleep(3)device.type("powermo1234")MonkeyRunner.sleep(3)#点击登录device.touch(237,449,'DOWN_AND_UP')MonkeyRunner.sleep(3)#截图result6=device.takeSnapshot()#保存截图result6.writeToFile(path+"登陆微博".decode("utf-8")+now+'.png','png')#下面就开始对之前的截图进行对比了#第一张截图做对比,去文件中找到我们要对比的图片resultTrue=MonkeyRunner.loadImageFromFile('D:\\picture2\\shottrue.png')log.write("主页面对比图片……\n")#判断图片相识度是否是为90%if(result.sameAs(resultTrue,0.9)):

#在命令行打印出信息

print("主页面图片对比成功")

#打印信息到log文件

log.write("主页面图片对比成功……\n")else:

#打印信息到命令行

print("主页面图片对比失败")

log.write("主页面图片对比失败……\n")#去文件中找到我们规定的图片用来对比result1True=MonkeyRunner.loadImageFromFile('D:\\picture2\\shottrue1.png')#判断图片相识度是否是为90%if(result1.sameAs(result1True,0.9)):

print("搜索框图片对比成功")

log.write("搜索框图片对比成功……\n")else:

print("搜索框图片对比失败")

log.write("搜索框图片对比失败……\n")#对移动便签图片对比result2True=MonkeyRunner.loadImageFromFile('D:\\picture2\\shottrue2.png')##判断图片相识度是否是为80%if(result2.sameAs(result2True,0.8)):

print("移动便签对比成功")

log.write("移动便签对比成功……\n")else:

print("移动便签图片对比失败")

log.write("移动便签对比失败……\n")#对移动便签图片进行对比,去文件中找我们规定的图片result3True=MonkeyRunner.loadImageFromFile('D:\\picture2\\shottrue3.png')##判断图片相识度是否是为80%if(result3.sameAs(result3True,0.8)):

print("右移便签图片对比成功")

log.write("右移便签图片对比成功……\n")else:

print("右移便签图片对比失败")

log.write("右移便签图片对比失败……\n")#对长微博图片对比result4True=MonkeyRunner.loadImageFromFile('D:\\picture2\\shottrue4.png')if(result4.sameAs(result4True,0.8)):

print("发长微博图片对比成功")

log.write("发长微博图片对比成功……\n")else:

print("发长微博图片对比失败")

log.write("发长微博图片对比失败……\n")result5True=MonkeyRunner.loadImageFromFile('D:\\picture2\\shottrue5.png')if(result5.sameAs(result5True,0.8)):

print("输入微博账号图片对比成功")

log.write("输入微博账号图片对比成功……\n")else:

print("输入微博账号图片对比失败")

log.write("输入微博账号图片对比失败……\n")result6True=MonkeyRunner.loadImageFromFile('D:\\picture2\\shottrue6.png')if(result6.sameAs(result6True,0.8)):

print("登陆微博图片对比成功")

log.write("登陆微博图片对比成功……\n")else:

print("登陆微博图片对比失败")

log.write("登陆微博图片对比失败……\n")

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-12-02 10:13:39

锤子便签的Monkeyrunner 测试脚本的相关文章

网页版锤子便签怎么用 锤子便签电脑版网址

  很多机友对锤子手机中锤子便签爱不释手,如果电脑也能使用锤子便签该多好.好消息来了,今日网页版锤子便签正式上线,登陆欢喜云账号就能正式在电脑中使用锤子便签网页版了. 网页版锤子便签怎么用 锤子便签电脑版网址 注册并登录你的锤子欢喜云账户,你就可以在使用网页版锤子便签编辑文本.插入图片(支持直接拖拽),并生成精美的长图片分享到社交网络.同时,网页版锤子便签还可与手机版锤子便签客户端实时同步.建议收藏上述网址方便使用. 网页版锤子便签电脑版网址:https://cloud.smartisan.co

锤子便签APP字体调整方法分享

给各位锤子便签软件的使用者们来详细的解析分享一下字体调整的方法. 方法分享: 1.首先打开锤子便签APP,点击左上角的设置按钮:     2.在设置页面,点击[默认排版模式]按钮:     3.然后在默认排版模式页面将[Markdown模式]开启,接着回到设置页面点击[完成]就好了:     4.然后新建一个便签,点击右上角星星图标旁边的箭头符号,选择Markdown模式:     5.接着在编辑页面点亮"M"符号,就可以调整字体了.在需要加粗的文字的两端各输入**,这时文字便被加粗了

Android之高仿记事本、备忘录、便签

 点我下载源码        最近实现的一个简单实用小应用,跟大家分享一下,可以当做记事本.备忘录.便签等使用,当我们保存一条便签信息并设置好通知铃声后,到了那个时候应用会像闹钟那样唤醒手机系统,提醒我们,让我们不再错过每一次重要的约会...        其实实现起来很简单,通过数据库保存便签信息和铃声信息,开启一个闹钟服务(如果设置了开启通知铃声),到了时间就会主动唤醒手机系统,发出声音.振动,同时在通知栏会显示该便签信息,简单而实用,欢迎大家下载体验,如果有什么好的建议和批评,欢迎大家指出

win7电脑的便签功能如何使用?

  无疑的,咱们在日常使用电脑的时候,都会常用到系统中的某些功能,从而忽略掉系统中的另外一些功能,例如有的朋友喜欢上网看电视,但是对于系统的某些游戏功能却从未使用到;而有的朋友则喜欢畅游在游戏的世界里,而对于电脑的流畅视频观看则毫不在意.就像小编今天将要说到的win7旗舰版的便签功能,也许就很少有朋友注意到吧?毕竟,便签功能是一种系统工具,而并非是大家经常会涉及到的系统功能.那么win7电脑的便签功能应该如何使用呢?下面小编就来揭秘吧! 1.首先,咱们单击开始菜单,然后点击所有程序-附件,然后在

用Rational Functional Tester创建随需应变的自动测试脚本

简介:IBM Rational Functional Tester 是由 IBM 推出的针对 Java..Net 和 Web 应用程序的自动 化测试工具,拥有功能强大的编辑器并支持多种脚本语言,还集成了 ScriptAssure 技术.模式匹配功能 及数据驱动,以增强测试脚本的灵活性.借助这一工具,测试人员可以轻松地录制或编写脚本来进行自动 化测试,极大地提高了测试效率. 软件在开发过程中是不断变化的,之后各个版本间的更替也会 不可避免地引起界面.功能的变化,可以说"唯一不变的,就是变化&quo

win7系统怎么打开自带日历和便签功能?

  win7系统怎么打开自带日历和便签功能? 1.调出W7自带的日历.在桌面空白处单击右键,出现如图所示菜单栏,可以看到有一个名为"小工具"的选项; 2.左键点击"小工具",出现如图所示界面,可以看到"日历"; 3.双击"日历"选项,会发现桌面上出现了日历图标,该图标上一共有三个按钮,分别是关闭,放大和移动,点击放大后,会出现一整月的日历信息;    

怎样使用Win8.1系统的便签功能

  方法/步骤 1.可以在metro的界面中找到它,点击就可以使用 2.如图为便签的图标 3.如图还可以调节颜色 4.如果要快速打开,如图可以将其固定在任务 5.如果metro找不到,在下面的这个文件夹可以找到

Win8系统酷软推荐 锁屏上的便签

Win8的锁屏貌似很强大了,有日期有时间,甚至邮箱里有没有未打开的邮件也能一一予以显示.不过--想没想过在锁屏里放上一个便签呢?别以为这 是谁闲得无聊拍脑门想出来的,当你打开电脑,一通忙乱地输好登录密码,再一通忙乱地查找到那个便签软件时,也许刚刚浮现的灵感就这样消失殆尽.而要解决这 一切,其实只需要一个软件--TuneUp IncrediLock. 图1 就是这样的效果,不错吧~ TuneUp IncrediLock的风格非常漂亮,标准的Win8设计.进入界面后,你需要首先设置一张壁纸,没错!一

Win8系统便签如何使用

  方法如下: 1.鼠标移动到桌面右上角,在弹出的导航栏上点击"搜索"; 2.在搜索框中输入"便签",在搜索结果中点击便签应用; 3.这时桌面就会自动创建一个新便签,可以在里面输入一些备忘录或当天的工作内容等; 4.右击便签可以选择更改便签的颜色; 5.点击左上角"+"图标,可以创建一个新便笺,点击右上角"X"图标,可以删除便笺; 6.可以将"便笺"固定到任务栏上:右击任务栏上便笺图标,选择"将此