1、图片对比方法封装

# encoding=utf-8
from PIL import Imageclass ImageCompare(object):'''本类实现了对两张图片通过像素比对的算法,获取文件的像素个数大小然后使用循环的方式将两张图片的所有项目进行一一对比,并计算比对结果的相似度的百分比'''def make_regalur_image(self, img, size=(256, 256)):# 将图片尺寸强制重置为指定的size大小# 然后再将其转换成RGB值return img.resize(size).convert('RGB')def split_image(self, img, part_size=(64, 64)):# 将图片按给定大小切分w, h = img.sizepw, ph = part_sizeassert w % pw == h % ph == 0return [img.crop((i, j, i + pw, j + ph)).copy() \for i in range(0, w, pw) for j in range(0, h, ph)]def hist_similar(self, lh, rh):# 统计切分后每部分图片的相似度频率曲线assert len(lh) == len(rh)return sum(1 - (0 if l == r else float(abs(l - r)) / max(l, r)) \for l, r in zip(lh, rh)) / len(lh)def calc_similar(self, li, ri):# 计算两张图片的相似度return sum(self.hist_similar(l.histogram(), r.histogram()) \for l, r in zip(self.split_image(li), self.split_image(ri))) / 16.0def calc_similar_by_path(self, lf, rf):# 两张图片对比并返回相似度li, ri = self.make_regalur_image(Image.open(lf)), \self.make_regalur_image(Image.open(rf))return self.calc_similar(li, ri)

2、UI自动化执行时自动截图及对比

    def compare_image(driver, original_image_path):"""图片对比:param original_image: 原图路径,推荐png类型图片:return: 返回对比图片的匹配度"""current_stamp = datetime.datetime.now().timestamp()file_time = datetime.datetime.fromtimestamp(current_stamp).strftime("%Y%m%d%H%M%S")file_dir = os.path.split(original_image_path)file_name = os.path.splitext(file_dir[1])print(file_dir)print(file_name)new_imge_path = os.path.join(file_dir[0], file_name[0] + file_time + ".png")print(new_imge_path)driver.save_screenshot(new_imge_path)from myweb.tools.image_compare import ImageCompareimg_comp = ImageCompare()return img_comp.calc_similar_by_path(original_image_path, new_imge_path) * 100def assert_compare_image_mach(soriginal_image_path, percentage=100):"""断言图片匹配度:param original_image_path: 原图路径:param percentage: 匹配程度,默认100匹配,传小数或整数:return:"""image_percentage = compare_image(original_image_path)if image_percentage >= percentage:return Trueelse:return False

python UI自动化图片断言相关推荐

  1. python ui自动化配置文件,python UI自动化实战记录八:添加配置

    添加配置文件写入测试地址等,当环境切换时只需修改配置文件即可. 1 在项目目录下添加文件 config.ini 写入: [Domain] domain = http://test.domain.cn ...

  2. python ui自动化_pythonUI自动化整理

    python实现UI自动化整理 1.用到的包 selenium 常见的浏览器操作 openpyxl 读写处理excel数据参数 PyMySQL(python3) 读写mysql数据库 unittest ...

  3. python UI自动化知识点总结

    关于python自动化的知识点问答 使用selenium做自动化测试常见问题 1.selenium中如何判断元素是否存在? isElementPresent 2.selenium中hidden或者是d ...

  4. appium示例代码python_(appium+python)UI自动化_07_UI自动化实例【拼多多搜索商品为例】...

    前言 初学UI自动化的小伙伴,在配置好appium+python自动化环境后,往往不知道如何下手实现自动化.小编在初期学习的时候也有这种疑惑,在此以拼多多搜索为实例,展示下appium是如何实现自动化 ...

  5. python 苹果试玩_(appium+python)UI自动化_01_自动化环境搭建【MAC版】

    Appium简介 Appium是一个开源的.跨平台的测试框架,主要用来进行app UI自动化,适用于原生应用.混合应用和移动网页应用(H5页面).目前支持Python.JavaScript.Objec ...

  6. python ui自动化测试仪器_python UI自动化测试

    为了减小维护成本: 1.UI自动化测试需要有较为稳定的环境 2.代码设计合理,那么我们就需要面向对象的设计一个框架,将重复的代码模块化 一.首先总结一下 UI自动化大概要哪些模块 1.config(配 ...

  7. python代码设计测试用例_(appium+python)UI自动化_08_unittest编写测试用例

    前言 unittest是python自带的单元测试框架,类似于Junit(Java单元测试框架).支持自动化测试,可编写测试前置&后置条件,并且可批量运行测试用例并生成测试报告. 使用unit ...

  8. python ui自动化脚本_ui自动化:python+appium----环境搭建

    前言: appium可以说是app最火的一个自动化框架,它的主要优势是支持android和ios,另外脚本支持java和python.以下为python+appium的安装教程... 环境准备... ...

  9. 知乎美女挖掘指南--Python实现自动化图片抓取、颜值评分

    声明:文中所有文字.图片以及相关外链中直接或间接.明示或暗示涉及性别.颜值分数等信息全部由相关人脸检测接口给出.无任何客观性,仅供参考. 1 数据源 知乎 话题『美女』下所有问题中回答所出现的图片 2 ...

  10. python ui自动化配置文件,Python+Selenium进行UI自动化测试项目中,常用的小技巧2:读取配置文件(configparser,.ini文件)...

    在自动化测试项目中,可能会碰到一些经常使用的但 很少变化的配置信息,下面就来介绍使用configparser来读取配置信息config.ini 读取的信息(config.ini)如下: [config ...

最新文章

  1. 卷积核尺寸如何选取呢?
  2. [设计模式]设计模式之禅关于接口隔离原则
  3. c++ 实例精通(1)
  4. springboot中关闭eureka server中已注册服务列表自我保护配置
  5. Sierpinski镂垫
  6. Javascript 中的非空判断 undefined,null, NaN的区别
  7. c++用两个队列实现一个栈
  8. 小规模免税新政,账务怎么做?
  9. React Native Android 8081端口占用问题
  10. 漏洞:互联网时代的阿喀琉斯之踵 挖掘漏洞哪家强?
  11. 脸上为什么会长黄褐斑?
  12. 0-glusterfs: failed to set volfile server: File exists
  13. 信息学奥赛一本通1357:车厢调度(train) (栈)
  14. 人工智能一大技术:强化学习(RL)
  15. 定理在数学中的简写形式_高中数学联赛常用定理
  16. 打印俄文字母表java,俄语字母与英语字母对照表
  17. 脱单攻略 | 如何找到心仪的另一半?
  18. python 处理xls
  19. 从C#到Python——谈谈我学习Python一周来的体会
  20. Stack Overflow Developer Survey 2016 Results(2016stack overflow 开发者调查报告)

热门文章

  1. 口令破解:kali字典工具的使用:CUPP、Crunch、Hydra
  2. 三分钟入门电力系统之----------三道防线
  3. eclipse的Windows builder使用问题,请指点
  4. CANoe_Demo_下载以及安装教程
  5. 批量下载css文件中的图片
  6. ExtJs教程 3.0
  7. 求一个联想扬天M4680N BIOS升级软件
  8. 用Eclipse的TaskList功能进行任务管理(提高工作效率)
  9. 如何将Windows 7 RC升级到RTM(最终版本)
  10. gz是什么意思饭圈_饭圈黑话出圈,吃瓜还需揭秘文字?