基於影像差異識別與頁面自動遍歷的開源 web ui 測試庫
最近我把之前的 UI 測試新思路與程式碼整理了一番,
於是有了 Pic-Diff-Recognizer 的誕生。
什麼是 Pic-Diff-Recognizer ?
Pic-Diff-Recognizer 是基於影像差異識別與頁面遍歷探索的 Selenium UI 自動化測試外掛庫。
此庫誕生的目的是為了讓 UI 自動化測試不再需要與頁面元素打交道,
而是直接使用真實的視覺差異來判斷測試結果是否符合預期。
原始碼地址:
github: https://github.com/amazingTest/Pic-Diff-Recognizer
gitee: https://gitee.com/amazingTest/Pic-Diff-Recognizer
如何安裝?
首先安裝開源專案目錄下的依賴包:
pip install -r requirements.txt
然後再安裝今天的主角:
pip install pic-diff-recognizer
如何使用?
下面給大家放出最佳實踐:
from pic_diff_recognizer.searchHandler import SearchHandler
from violent_webdriver import Chrome
from 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 searchHandler
search_handler = SearchHandler(browser=dr)
# search and saving baseline images in current directory named baseline
search_handler.traverse_href(origin_url='https://gitbook.cn/gitchat/author/5cea0bfbb78cc870612d8bba')
# -------------------- assuming after some iterations of current project -----------------------------
search_handler.url_histories = []
# load baseline images
search_handler.picture_handler.load_base_line()
# search and comparing screen shots and baseline images
search_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 directory
search_handler.picture_handler.generate_diff_between_base_line_and_screen_shot()
# output testReport.txt to current directory
search_handler.picture_handler.export_picture_comparison_result()
可以看到在專案迭代分割線之前,
程式先探索並儲存了待測頁面的影像。
而在專案迭代分割線之後,
程式再次探索待測頁面並對比了影像差異,
最終輸出測試報告。
相信這很好的對應了現實專案迭代中的回測節奏。
當然,目前來說此庫還有許多可以改進的地方。
原始碼地址:
github: https://github.com/amazingTest/Pic-Diff-Recognizer
gitee: https://gitee.com/amazingTest/Pic-Diff-Recognizer
最後喊個口號吧:開源,yes!
相關文章
- ui自動化測試,頁面方法的使用UI
- 關於Web端-UI自動化測試WebUI
- 網易開源支援影像識別的自動化UI測試工具,零基礎親測好評!UI
- 自動遍歷測試 AppCrawler - 思寒APP
- 自動化測試的理想境界:AppCrawler自動遍歷工具APP
- 一種基於 cypress 的 UI 自動化測試框架UI框架
- web頁面測試Web
- 基於 python--selenium 與 requests 的 web ui/ 介面混合測試框架PythonWebUI框架
- 基於Selenium+Python的web自動化測試框架PythonWeb框架
- 基於 RF 的 WEB 版自動管理測試平臺Web
- UI自動化測試-web元素選擇UIWeb
- 【面試】Web 頁面請求歷程面試Web
- 基於知識庫的介面自動化測試——結果模型化方法與裝置的分析模型
- 微軟開源的Web測試和自動化神器 Playwright微軟Web
- 求推薦佔用伺服器資源少的開源 UI 自動化測試平臺(web 端)伺服器UIWeb
- 基於LangChain手工測試用例轉Web自動化測試生成工具LangChainWeb
- 自動化裝置測試與自動化測試的區別
- 自動化測試系列 —— UI自動化測試UI
- web測試與手機app測試的異同WebAPP
- [opendx] 基於 appium 的移動端 UI 自動化測試平臺-介紹篇APPUI
- 關於 ui 自動化測試 driver 疑問?UI
- 基於 Htte 的 API 自動化測試API
- 基於知識圖譜與異常檢測的PG資料庫故障定位資料庫
- 自動化測試系列(三)|UI測試UI
- 批次影像識別的快速遍歷技巧
- 基於Dubbo的http自動測試工具分享HTTP
- SAP UI5 的自動化測試套件頁面的開發步驟介紹UI套件
- 基於 LangChain 的自動化測試用例的生成與執行LangChain
- UI自動化基礎知識UI
- 【面試】滴滴自動駕駛測開面試自動駕駛
- 基於 HttpRunner + Django + Vue + Element UI 的介面自動化測試平臺,生產可用HTTPDjangoVueUI
- 關於 SAP UI5 OData V4 模型的型別自動識別UI模型型別
- 搭建自動化 Web 頁面效能檢測系統 —— 部署篇Web
- 活動 Web 頁面人機識別驗證的探索與實踐Web
- 基於Pytest豆瓣自動化測試【1】
- 基於Python豆瓣自動化測試【2】Python
- 介面自動化與ui自動化區別UI
- UI 自動化測試平臺UI