Pic-Diff-Recognizer - 基於圖像差別識別與頁面自動遍歷的開源 UI 測試庫

最近某人把以前的 UI 測試新思路與代碼整理了一番,
css


因而有了 Pic-Diff-Recognizer 的誕生。python



什麼是 Pic-Diff-Recognizer ?nginx


Pic-Diff-Recognizer  是基於圖像差別識別與頁面遍歷探索的Selenium UI 自動化測試插件庫。git


此庫誕生的目的是爲了讓 UI 自動化測試再也不須要與頁面元素打交道, web

而是直接使用真實的視覺差別來判斷測試結果是否符合預期。
chrome





如何安裝?微信


首先安裝開源項目目錄下的依賴包:
app


pip install -r requirements.txt


而後再安裝今天的主角:less


pip install pic-diff-recognizer



如何使用?
測試


下面給你們放出最佳實踐:


from pic_diff_recognizer.searchHandler import SearchHandlerfrom violent_webdriver import Chromefrom selenium.webdriver.chrome.options import Options

# add some useful options :)chrome_options = Options()chrome_options.add_argument("--headless")chrome_options.add_argument("disable-infobars")chrome_options.add_experimental_option("excludeSwitches", ['enable-automation'])
# init driver , executable_path should be your own path!dr = Chrome.violent_chromedriver(chrome_options=chrome_options, executable_path='/usr/local/bin/chromedriver')
# init searchHandlersearch_handler = SearchHandler(browser=dr)
# search and saving baseline images in current directory named baselinesearch_handler.traverse_href(origin_url='https://gitbook.cn/gitchat/author/5cea0bfbb78cc870612d8bba')
# -------------------- assuming after some iterations of current project -----------------------------
search_handler.url_histories = []
# load baseline imagessearch_handler.picture_handler.load_base_line()
# search and comparing screen shots and baseline imagessearch_handler.traverse_href(origin_url='https://gitbook.cn/gitchat/author/5cea0bfbb78cc870612d8bba', compare_baseline_and_screen_shots=True)
# generate_diff_between_base_line_and_screen_shot and output diffResults to current directorysearch_handler.picture_handler.generate_diff_between_base_line_and_screen_shot()
# output testReport.txt to current directorysearch_handler.picture_handler.export_picture_comparison_result()



能夠看到在項目迭代分割線以前,


程序先探索並保存了待測頁面的圖像。



而在項目迭代分割線以後,


程序再次探索待測頁面並對比了圖像差別,


最終輸出測試報告。



相信這很好的對應了現實項目迭代中的回測節奏。



固然,目前來講此庫還有許多能夠改進的地方。


對源碼地址有興趣的小夥伴能夠在公衆號內回覆:


Pic-Diff-Recognizer



最後喊個口號吧:開源,yes!

本文分享自微信公衆號 - AI測試前線(TaisiteMagicWorld)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索