Skip to main content

图像断言工具

Project description

PicAssert-- 图像断言

介绍

PicAsssert会将图片在全局做一次模板匹配行为,当查找的图片大于或者等于设置的阈值的时候,程序将返回True, 当全局匹配的图片匹配度低于所设置的阈值时,程序将启动特征匹配模式,对前面相似度较近的区域进行截图,再次进行特征分析, 如果特征分析的结果判断为图片相似,程序将返回True,否则返回False 程序依赖 opencv、pillow 进行图片的处理

使用特点说明

1、Assert类中最好设置一下 InitDPI ,以元祖或者列表的形式,写上当前编写代码设备的分辨率,提升兼容性 2、PicAssert的Assert类,如果添加了driver,则识别为selenium操作,将使用selenium进行截图,代码可以无头模式运行,但为了提升稳定性, 请将窗口设置为当前编写代码的设备的分辨率大小,设置selenium浏览器窗口大小代码为:

dr.set_window_size(1920, 1080)

Assert类中设置了max_window=True的选项时,会自动将浏览器大小放大为设置的init_dpi大小 Assert类如果没有添加任何参数,则默认截取设备的全屏,可以在其他gui代码中运行,注意不能关闭当前显示的屏幕 3、使用图片断言会返回一个布尔值,True为找到当前图片,False为未找到图片 4、使用图片点击功能如不是无头模式,使用最大化浏览器或者设置浏览器为当前构建代码的设备分辨率尺寸,如果无头模式使用设置窗口大小为当前构建代码设备分辨率

调用方式

实例化Assert类:

ps = Assert()  # ps = Assert(driver=driver, init_dpi=(1920, 1080), max_window=True)
ps.assert_exist("./test.png", 0.7)

assert_exist有两个形参 第一个参数:pic_path 需要判断的图片保存路径 第二个参数:threshold 断言阈值,当前默认 0.7,可调制0到1的区间,1为100%,请尽量控制在0.6到0.9之间

使用流程

1、正常编写代码,将需要断言的地方,使用工具进行截图,截图尽量不会包含其他可变的干扰,将其保存在一个路径中 2、导入PicAssert包,实例化Assert类,使用assert_exist,传入前面截图路径 3、获取返回值 4、运行完成,将在项目目录下,新建一个.assert_cache文件夹,下面有success和fail文件夹,成功断言放在success中,失败在fail中,程序每次运行会清空缓存文件

selenium代码使用示例

from SafeDriver.drivers import driver, option
import time
from PicAssert.Assert import Assert
dr = driver()
option.headless = True
ps = Assert(driver=dr, init_dpi=(1920, 1080), max_window=True)
dr.get("https://www.baidu.com")
time.sleep(2)
p1_res = ps.assert_exist(r"D:\test.png")     # ps.assert_exist(r"D:\test.png", 0.8)
if p1_res is True:
    print("图片存在")
else
    print("图片不存在")

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

PicAssert-1.0.0.tar.gz (7.8 kB view details)

Uploaded Source

Built Distribution

PicAssert-1.0.0-py3-none-any.whl (9.1 kB view details)

Uploaded Python 3

File details

Details for the file PicAssert-1.0.0.tar.gz.

File metadata

  • Download URL: PicAssert-1.0.0.tar.gz
  • Upload date:
  • Size: 7.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/33.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.10

File hashes

Hashes for PicAssert-1.0.0.tar.gz
Algorithm Hash digest
SHA256 99d140a181d06b6852e73ca8c1a64dd0f8205e2b6a5ca78740c12325e09dcfb5
MD5 eb89c0e494e670e96121bf98ddf73ed2
BLAKE2b-256 0c9266a4de0f8156262eda4e23e83da01f550dc5c0b5fc4c4bdee9735fda31d9

See more details on using hashes here.

File details

Details for the file PicAssert-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: PicAssert-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 9.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/33.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.10

File hashes

Hashes for PicAssert-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 218ecdce2cebb0c0ea5b6e8f3a59b156de5ae31237d56d3754a20b32fe110922
MD5 89ae343b4cba5607e07bce55d62f08ec
BLAKE2b-256 9390eb9ec43db080277d139636c6ceaacc26d2a6da4808194c4cdd1f2c841b17

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page