利用Pillow给图片添加重点框(适用UI自动化测试)

  • 效果图

image.png

一个简单的例子

  • 安装Pillow

在cmd窗口/终端输入:

pip install pillow

如果被墙,下载巨慢的话,可以临时替换豆瓣源

pip install pillow -i https://pypi.douban.com/simple
  • demo
from PIL import Image, ImageDraw2

image = Image.open(r"xxx.png")    # 原始图片文件地址
draw = ImageDraw2.Draw(image)
pen = ImageDraw2.Pen("red", width=2)    # 线条宽度和颜色
draw.line([(2,2), (100,2), (100, 202), (2,202), (2,2)], pen)     # 画线
image.save(r"xxx.png")            # 保存新的文件



为啥是五个坐标呢~
因为他其实是画线条,
依次是:
左上角-右上角-右下角-左下角-左上角,完成一个矩形。

UI自动化的应用

起因

由于截图是全屏且无着重点,为了在自动化测试中一眼瞅到报错的地方,所以配合上Pillow库可以达到划重点的效果~

困难
  1. 现在的框架, 报错是用self.assertEqual等方法抛出异常,这里边并不包含WebElement元素,导致无法获取到元素的坐标;
  2. 当元素不可见或不存在时,无法找到元素的坐标,便无法划重点。
解决方案
  1. 重写assertEqual等方法
  2. 遇到此种问题, 在图中央显示未找到元素或元素不可见
TODO

待补充,会放入webTest框架

原文地址:https://www.cnblogs.com/we8fans/p/8510495.html