锤子便签的 monkeyrunner 测试脚本(转)
Posted IT小不点
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了锤子便签的 monkeyrunner 测试脚本(转)相关的知识,希望对你有一定的参考价值。
https://testerhome.com/topics/878
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 time
import sys
#MonkeyRunner自带的三个api
from 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.