MonkeyRunner之手机屏幕截图的比对
手机的自动化测试,对结果的判断是难点,最初级的办法无非是基于图像比对了,monkeyrunner自身提供了一套图像比对的机制,这里不再展开说。
使用方法简单陈述如下
加载一个正确结果的图片 MonkeyRunner.LoadImageFromfile("filepath"),这个函数在文档中没有提到,可能是文档还没有来得及更新吧。
然后用sameAs来比对,当然也可以用局部图像比对。得到局部图像的方法getSubImage
我这里想说的方法是用PIL来逐个比较图片的像素。实验证明,速度还是不错的
程序代码如下
from PIL import Image
img3 = Image.open(r'd:\3.png')
img4 = Image.open(r'd:\4.png')
width = img3.size[0]
height = img3.size[1]
pima3 = img3.load()
pima4 = img4.load()
diff = 0
total = width * height
for w in range(width):
for h in range(height):
if not pima3[w,h] == pima4[w,h]:
diff +=1
print (1-diff/float(total))
最后计算出的是图片的相似度
文章来源:http://blog.csdn.net/robinzhou/article/details/7565154
作者:robinzhou
MonkeyRunner之手机屏幕截图的比对相关推荐
- uiautomatorViewer无法获取Android8.0手机屏幕截图的解决方案
大家好,我是杨叔.每天进步一点点,关注我的微信公众号[程序员杨叔],获取更多测试开发技术知识! 问题描述: 做APP UI自动化的时候,会碰到用uiautomatorViewer在Android 8. ...
- 使用adb命令对手机屏幕截图
使用adb命令对手机屏幕截图 使用 screencap 命令,截图保存在 sdcard/01.png adb shell screencap -p /sdcard/01.png 导出 sdcard/0 ...
- monkeyrunner操作手机
背景:帮我们家小仙女爬取微信公众号数据 monkeyrunner 通过微信公众号平台抓取,问题: 1.每天都要登陆,获取cookie,麻烦:2. 同时微信后台有频率限制,访问限速,有点恶心 通过app ...
- html手机截屏保存,手机屏幕截图无法保存该怎么解决?
安卓4.0及以上系统有快捷截图功能,大多数安卓机是同时按住[电源键]和[音量下键]完成整个功能.笔者以前用这个功能非常便利,可最近快速截屏时一直提示:"无法保存屏幕截图存储设备可能正在使用& ...
- 手机服务器无响应的截图,手机和电脑无数据线即时共享手机屏幕截图文件的方法...
有时候,我们在制作手机app操作使用手册的时候,需要通过手机截图然后再将截图发到电脑上来插入到word中来使用.一般人想到的就是通过QQ里面的"我的设备"来传图片(如图1). 图 ...
- android7 截屏保存,手机屏幕截图无法保存该怎么解决?
安卓4.0及以上系统有快捷截图功能,大多数安卓机是同时按住[电源键]和[音量下键]完成整个功能.笔者以前用这个功能非常便利,可最近快速截屏时一直提示:无法保存屏幕截图存储设备可能正在使用.笔者尝试了很 ...
- App Store上传手机屏幕截图 尺寸
屏幕截图尺寸 iPhone 4s: 宽640 x 960高 等于分辨率 iPhone 5/5s: 宽640 x 1136高 等于分辨率 iPhone 6/6s: 宽750 x 1334 ...
- android型号手机怎么截图,如何在Android手机上屏幕截图(仅限Rooted Phone) | MOS86...
像iPhone一样,没有简单的方法可以拍摄Android手机的截图.唯一的办法是安装Android SDK并从中运行ddms.但是,如果你已经植根了你的手机,这将是一个不同的故事.市场上有几个有用的应 ...
- monkeyrunner的录制与回放
在monkeyrunner中我们可以录制对手机的操作事件,新建一文件monkey_recorder.py,复制一下代码: #!/usr/bin/env monkeyrunner # Copyright ...
最新文章
- 实现一个模拟CMD.exe命令编辑模式执行与显示的Delphi控件
- eclipse没有日志_IPFS技术最新进展:抵抗eclipse攻击的能力
- 如何设计复用性较好的类?
- Selenium_等待页面加载完毕
- oracle 快照用途,Oracle快照原理及实现总结
- 数据库设计(关系型)
- ajax传值给java_java+jquery+ajax+json实现传值
- centos7开启tcp6_centos中docker映射出来的端口被tcp6监听,而没有被tcp监听导致ip+端口无法进行访问...
- 如何开启jvm日志_Java 从小白到大牛,JVM 不得不知的一些参数和配置
- 数字int转换成文字string形式的方法
- smobiler自适应不同手机分辨率
- 业务如何驱动技术发展
- 单位球坐标变换为椭球 matlab
- quoted-printable解码程序
- 新手必看:蓝牙耳机什么牌子的好用?2023年蓝牙耳机排名
- thinking php 教程,Thinkphp基础教程
- LINUX命令(1)-创建文件
- Win10频繁提示“USB端口上的电涌”
- idea在创建工程时No SDK的解决方法
- Hive是如何将hql语法转换成MR执行的
热门文章
- 继承、接口、抽象类综合题
- [附源码]java+ssm计算机毕业设计农产品追溯系统设计与实现e59uz(源码+程序+数据库+部署)
- python镜像源设置
- 半数年轻人存款不足10万:反映现代社会年轻人面临的财务压力和挑战
- 人工智能与大模型主题师资培训落地,飞桨持续赋能AI人才培养
- iTextSharp 设置PDF所有页面背景图功能
- 整合SSM (用户的增删改查)
- C语言 define 定义函数(多行书写) - C语言零基础入门教程
- ARC060 C - Tak and Cards(dp,背包)
- “相信讲好一门课比写好一篇论文重要的人,今夜死去了”