Skip to main content

Selenium plugin library

Project description

UI-Pic-Rec

本库目前支持的相似性算法

1.采用SSIM算法(结构相似性算法):generate_diff_pic_between_ssim

2.采用余弦方法:generate_diff_pic_between_vector

注意:后续会不断的补充相应的算法,丰富比较的结果

安装

pip install -r requirements.txt

pip install pic-diff-recognizer

最佳实践

from selenium.webdriver import Chrome,ActionChains
from selenium.webdriver.chrome.options import Options
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import os
import time
import logging
from pathlib import Path
"""
使用UiComparePicRec的引用
"""
from UiComparePicRec.findHander import FindHander
from UiComparePicRec.picHander import PicHander
from UiComparePicRec.picHander import compare_result_pic_data

logging.basicConfig(level=logging.INFO,
                    format='%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s') 
logger = logging.getLogger("Example")

chrome_driver='/Users/lijishuang/Downloads/chromedriver' #需要更改成本机目录的地址
options = webdriver.ChromeOptions()
options.add_argument('--headless')
dr = webdriver.Chrome(executable_path=chrome_driver,chrome_options=options)


def function_pic(dr,path_self):
    pt = FindHander(dr.save_screenshot)

    dr.set_window_size(1920, 1080)
    origin_url = 'https://www.baidu.com/'
    dr.get(origin_url)
    dr.implicitly_wait(10)

    pt.get_pic_traverse(path_self)

    elem = dr.find_element_by_name("wd")
    elem.send_keys('今日头条'+ Keys.RETURN)
    time.sleep(5)
    # 截
    pt.get_pic_traverse(path_self)
"""
path_self:定义保存截图的目录,使用 --from pathlib import Path-- 定义路径
使用get_pic_traverse进行需要保存截图的地方使用
"""
path_self_org = Path(os.getcwd()).joinpath('org')
path_self_sap = Path(os.getcwd()).joinpath('sap')
function_pic(dr,path_self_org)
function_pic(dr,path_self_sap)


logger.info(f"Staring ...")
compare_res,file_name_org = compare_result_pic_data()
logger.info(file_name_org)
logger.info(f"Starting SSIM Progress ...")

result_score = PicHander(compare_res).generate_diff_pic_between_ssim(file_name_org)

print(result_score)


logger.info(f"Staring ...")
compare_res,file_name_org = compare_result_pic_data()
logger.info(file_name_org)
logger.info(f"Starting Vector Progress ...")

result_score = PicHander(compare_res).generate_diff_pic_between_vector(file_name_org)

print(result_score)
执行后会在所调用的脚本目录下生成三个文件夹:
diff:依据org和sap目录下的图片的名字生成目录,保存每一次比较的记录之间的不同的图片,会在图片中进行标记;
org:存储待比较的图片信息(第一次产生的信息);
sap:存储待比较的图片信息(第二次产生的信息);

对代码解释

1.需要引用的部分:

from UiComparePicRec.findHander import FindHander
from UiComparePicRec.picHander import PicHander
from UiComparePicRec.picHander import compare_result_pic_data

2.selenium的UI测试步骤部分:

声明准备进行截图的部分
pt = FindHander(dr.save_screenshot)

在每个步骤的结束后,需要进行截图的步骤中进行执行
pt.get_pic_traverse(path_self)

定义保存第一次和第二次的截图,用于比较数据
path_self_org = Path(os.getcwd()).joinpath('org')
path_self_sap = Path(os.getcwd()).joinpath('sap')

3.截图步骤完成,进行图片相似度比较:

遍历路径
compare_res,file_name_org = compare_result_pic_data()
执行比较:SSIM算法比较
result_score = PicHander(compare_res).generate_diff_pic_between_ssim(file_name_org)
执行比较:余弦算法比较
result_score = PicHander(compare_res).generate_diff_pic_between_vector(file_name_org)

联系我

1103192570@qq.com

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

UiComparePicRec-1.1.1.tar.gz (6.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

UiComparePicRec-1.1.1-py3-none-any.whl (21.2 kB view details)

Uploaded Python 3

File details

Details for the file UiComparePicRec-1.1.1.tar.gz.

File metadata

  • Download URL: UiComparePicRec-1.1.1.tar.gz
  • Upload date:
  • Size: 6.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.7.3

File hashes

Hashes for UiComparePicRec-1.1.1.tar.gz
Algorithm Hash digest
SHA256 3049dc2ed205bfb00d010e50c9394afad13531ab5e166355f172655613a00f24
MD5 5542fddb8b463ee40d3a507f587d007b
BLAKE2b-256 def21c263b9624bf17cb25e9fe163fe0f29d69771191e7ca51d0fd32b6250fd9

See more details on using hashes here.

File details

Details for the file UiComparePicRec-1.1.1-py3-none-any.whl.

File metadata

  • Download URL: UiComparePicRec-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 21.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.7.3

File hashes

Hashes for UiComparePicRec-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 73e816d7c49f773e3dec8bbcfd55ed5b6ddf7fbdd6dd7511f1eea50b6c543d8f
MD5 1786be8a371d6dcc56c615f02679c7fc
BLAKE2b-256 5800bf6ac1ab69ccc2ce5947da49ece56eff0967b00c1b706edd07c026119658

See more details on using hashes here.

Supported by

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