monkeyrunner 自动化测试 图片对比的实现
2015-09-25 14:56
447 查看
这个功能在网上看了好多人的代码,但是总是在
后来自己动脑,改成了
然后loadimage后面的后缀同样可选。我是这样写的
code:
这个脚本是用来测试系统调用摄像头是否成功的,但是由于摄像头取到的图片是一张照片,sameas的算法可能针对于手机屏幕的显示而对摄像头取到的图算不来,所以实际测试的时候失败了。
image.writeToFile('D:/tmp/images/black.png','png')这一句出错.查了google的API也感觉没错呀。
后来自己动脑,改成了
image.writeToFile('D:/tmp/images/black.png'),竟然就成功了。后面的图片后缀竟然是可以不用加的。而且
然后loadimage后面的后缀同样可选。我是这样写的
result = MonkeyRunner.loadImageFromFile('D:/tmp/images/black.png','png')
code:
from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice, MonkeyImage import sys,time device = MonkeyRunner.waitForConnection() device.wake() device.startActivity(action = "android.media.action.IMAGE_CAPTURE") MonkeyRunner.sleep(3.0) image = device.takeSnapshot() MonkeyRunner.sleep(1.0) if (image != None): image.writeToFile('D:/tmp/images/black.png') cout = 1 while(cout < 1000): device.startActivity(action = "android.media.action.IMAGE_CAPTURE") MonkeyRunner.sleep(3.0) image = device.takeSnapshot() MonkeyRunner.sleep(1.0) result = MonkeyRunner.loadImageFromFile('D:/tmp/images/black.png','png') MonkeyRunner.sleep(3.0) if(image.sameAs(result,0.8)): print "success!" else: print "fail!" break; cout += 1
这个脚本是用来测试系统调用摄像头是否成功的,但是由于摄像头取到的图片是一张照片,sameas的算法可能针对于手机屏幕的显示而对摄像头取到的图算不来,所以实际测试的时候失败了。
相关文章推荐
- 数据库的知识
- [计划任务 - Linux]三分钟学会cron
- Java基础知识强化86:BigInteger类之BigInteger概述和构造方法
- 遥感数据下载地址
- Several ports (8005, 8080, 8009) required by Tomcat v7.0 Server at localhost are解决方法
- Linux日志文件
- spring中文乱码问题
- Failed to load JavaHL Library解决方法
- ssh: connect to host github.com port 22: Connection refused
- iOS笔记-导航栏透明与不透明的影响
- Entity Framework7 入门之全功能.NET版本下使用EF7(含源码)另附数据迁移常见错误处理
- eclipse运行java程序时要求Select Java Application
- jquery选择器和事件
- Swift - 给表格添加编辑功能(删除,插入)
- Swift - 自定义单元格实现微信聊天界面
- Swift - 给表格的单元格UITableViewCell添加图片,详细文本标签
- 科工网带您领略生物3D打印的魅力
- Linux查看CPU信息
- Linux查看CPU信息
- Swift - 使用表格组件(UITableView)实现分组列表