背景:
在測(cè)試過程中,我們需要頻繁地檢查多個(gè)表的數(shù)據(jù)準(zhǔn)確性。由于不同的業(yè)務(wù)場(chǎng)景涉及不同的數(shù)據(jù)表,這個(gè)過程不僅容易導(dǎo)致數(shù)據(jù)誤讀或遺漏,還可能因?yàn)楹臅r(shí)而分散我們的注意力,降低測(cè)試效率。
數(shù)據(jù)查詢繁瑣: 業(yè)務(wù)的不同模塊往往要求我們查詢多個(gè)相關(guān)的數(shù)據(jù)表。僅依靠傳統(tǒng)的數(shù)據(jù)查詢工具進(jìn)行這項(xiàng)工作既繁瑣又不夠直觀,難以快速捕捉到關(guān)鍵信息。
易出錯(cuò): 面對(duì)大量數(shù)據(jù)時(shí),手動(dòng)查找很容易發(fā)生誤讀或遺漏,增加了測(cè)試中的錯(cuò)誤率。
效率低: 手動(dòng)查詢和比對(duì)數(shù)據(jù)消耗的時(shí)間和精力,降低了測(cè)試的整體效率。
為了應(yīng)對(duì)上述挑戰(zhàn),做一款專用工具,為在幫助我們?cè)诟鞣N場(chǎng)景下全局掌握訂單狀態(tài),或者自定義需要查詢的特定場(chǎng)景。這款工具簡化了多表查詢的過程,讓數(shù)據(jù)呈現(xiàn)更加直觀,從而顯著提升了測(cè)試效率和專注度。
提高準(zhǔn)確性: 工具通過自動(dòng)化查詢,減少了人為錯(cuò)誤的可能性,確保數(shù)據(jù)的一致性和準(zhǔn)確性。
提升效率: 通過一鍵式查詢和直觀的數(shù)據(jù)展示,大大縮短了查找和分析數(shù)據(jù)所需的時(shí)間,使測(cè)試人員能夠更專注于業(yè)務(wù)邏輯驗(yàn)證。
增強(qiáng)可定制性: 用戶可以根據(jù)具體需求自定義查詢場(chǎng)景,使得工具更加貼合實(shí)際工作流程,提高了靈活性。
工具:

----------------------------------------------------------------
PyQt5 是一個(gè) Python 庫,用于構(gòu)建 GUI 應(yīng)用程序。首先確保你的環(huán)境中已安裝 Python,然后可以通過 pip 安裝 PyQt5 和其他依賴項(xiàng):
pip install pyqt5pip install pymysql
此工具是一個(gè)基于 PyQt5 構(gòu)建的圖形用戶界面應(yīng)用程序,旨在提高數(shù)據(jù)分析和查詢效率。輸入訂單ID或自定義條件,并根據(jù)預(yù)設(shè)的查詢邏輯從多個(gè)數(shù)據(jù)庫表中獲取數(shù)據(jù)。通過將數(shù)據(jù)集中展示在一個(gè)界面上,可以快速地分析數(shù)據(jù),幫助工作提高效率。
特點(diǎn)?:
自定義表與字段?: 用戶可以根據(jù)需要選擇不同的業(yè)務(wù)場(chǎng)景表,并定義要展示的字段。
靈活的窗口配置?: 用戶可以設(shè)置窗口大小和布局,以便更高效地查看數(shù)據(jù)。
多表查詢?: 支持同時(shí)查詢多個(gè)相關(guān)表,并在界面上展示結(jié)果。
環(huán)境選擇?: 用戶可以選擇不同的環(huán)境來進(jìn)行查詢,如集群號(hào)選擇測(cè)試環(huán)境。
啟動(dòng)應(yīng)用?:
- 終端或pycharm運(yùn)行文件程序即可。
輸入查詢條件?:
- 自定義查詢目標(biāo)值,輸出訂單號(hào)/標(biāo)的/用戶UID/自定義。
選擇環(huán)境?:
- 使用下拉菜單選擇查詢的環(huán)境,例如 “95-資金平臺(tái)-測(cè)試環(huán)境A(k8s)-10.90.78.69”。
執(zhí)行查詢?:
- 點(diǎn)擊“查詢”按鈕開始查詢。
查詢完成后,每個(gè)相關(guān)的數(shù)據(jù)庫表的結(jié)果將在各自的表格中顯示出來。
表格將按照預(yù)先設(shè)定的布局自動(dòng)調(diào)整高度。
1.?查看結(jié)果?:
- - 每個(gè)表格都包含了相關(guān)的字段信息,例如訂單狀態(tài)、事件類型等。
可以通過滾動(dòng)查看每張表的內(nèi)容。
tables?字典用于定義要展示的表及其字段。這是一個(gè)關(guān)鍵配置,決定了應(yīng)用程序查詢哪些表以及如何顯示數(shù)據(jù)。
示例?:
tables={"fund_lend.t_event":{"columns":["FuiFundId","FuiEventId","FstrEventType","FstrEventStatus","RIGHT(FstrRemark, 15) as FstrRemark","FuiDealCount"],"query_keyword":"FstrLoanOrderId","full_row":True,"height":250},"fund_lend.t_loan_order":{"columns":["FuiStatus","FuiBorrowerId","FuiProductId","FuiLoanAmount","FuiRepayCardId"],"query_keyword":"FstrLoanOrderId","full_row":False,"height":80},"fund_lend.t_credit_order":{"columns":["FuiOrderStatus as OrderStatus","FuiQuotaStatus as QuotaStatus","FuiMatchRuleHandleId"],"query_keyword":"FstrLoanOrderId","full_row":False,"height":80},"fund_lend.t_credit_audit_order":{"columns":["FuiOrderStatus as OrderStatus","FuiQuotaStatus as QuotaStatus","FuiFundId","FuiLoanId"],"query_keyword":"FstrLoanOrderId","full_row":False,"height":120},"fund_lend.t_credit_audit_record":{"columns":["FuiFundId","FstrAPIType","FstrAPIResult"],"query_keyword":"FstrLoanOrderId","full_row":False,"height":120},"fund_lend.t_lending_order":{"columns":["FuiOrderStatus","FuiFundId","FstrLoanOrderId"],"query_keyword":"FstrLoanOrderId","full_row":False,"height":None},"fund_lend.t_credit_failure_reason":{"columns":["FuiFundId","FstrFundProjectId as ProjectId","FstrCommentInfo","FstrMatchOrderId"],"query_keyword":"FstrLoanOrderId","full_row":False,"height":None},}
屬性解釋?:
1、columns?:
表示查詢時(shí)返回的字段列表。字段名可以使用 SQL 的函數(shù)(如?RIGHT()?)進(jìn)行修改。
示例:?"columns": ["FuiFundId", "FuiEventId", "FstrEventType"]
利用sql重命名顯示字段:
示例:?RIGHT(FstrRemark, 15) as FstrRemark,最終展示 “FstrRemark”
2、query_keyword?:
表示用于連接查詢的關(guān)鍵字,通常為訂單ID字段,也可以自定義標(biāo)的等。
示例:?"query_keyword": "FstrLoanOrderId"
3、full_row?:
- 指定是否應(yīng)該為該表分配整個(gè)行的高度。
True?: 表格占據(jù)整個(gè)行的高度。
False?: 表格與其他表格共享行高度,但做多一行2個(gè)表展示。
示例:?"full_row": True
4、height?:
指定表格的固定高度。
如果?height?為?None?,則會(huì)根據(jù)剩余空間平均分配高度。
示例:?"height": 250 (注意:總行高不能超過窗口總高)
五、tool_info、env_choose?及?tool_size?變量
1、tool_info:
一個(gè)列表,包含兩個(gè)字符串元素:
第一個(gè)字符串?"訂單查詢工具":代表GUI工具的名稱。
第二個(gè)字符串?"訂單:":代表在GUI中輸入訂單號(hào)時(shí)的提示文字。
2、env_choose:
一個(gè)字典,包含兩個(gè)鍵值對(duì):
"defalt_cle":代表默認(rèn)選擇的環(huán)境集群號(hào)。
"only_show_cle_name":代表列表內(nèi)填入團(tuán)隊(duì)代碼,其中包含只顯示當(dāng)前項(xiàng)目的數(shù)據(jù)庫信息,["kefu","loan","risk","shared","fundhub","fundplat","collection","creditcore"],如果不填展示所有。
3、tool_size:
一個(gè)列表,包含兩個(gè)整數(shù)元素:
第一個(gè)整數(shù)?800:代表GUI窗口的寬度。
第二個(gè)整數(shù)?750:代表GUI窗口的高度。
假設(shè)有一個(gè)訂單ID?342566425099174219?需要查詢。
輸入訂單ID?:
- 輸入?342566425099174219?到訂單文本框。
選擇環(huán)境?:
- 選擇 “12-資金平臺(tái)-測(cè)試專用A-10.80.77.125”。
執(zhí)行查詢?:
- 點(diǎn)擊“查詢”按鈕。
此時(shí)界面上將顯示來自各個(gè)表的數(shù)據(jù),例如?t_event?,?t_loan_order?等。

快速定位問題?:
- 當(dāng)查看關(guān)于訂單的問題時(shí),能夠迅速查找訂單狀態(tài)及相關(guān)信息。
例如,要看訂單在借款哪一步,可通過此工具看見訂單狀態(tài)和訂單的其他關(guān)鍵信息。
監(jiān)控訂單流程?:
- 可以實(shí)時(shí)查看訂單在系統(tǒng)中的處理情況,幫助監(jiān)控業(yè)務(wù)流程。
例如,通過?t_event?表可以跟蹤訂單的狀態(tài)變更歷史。
數(shù)據(jù)分析?:
- 快速收集數(shù)據(jù)進(jìn)行分析,比如訂單的處理時(shí)間、成功率等指標(biāo)。
例如,可以統(tǒng)計(jì)?t_lending_order?表中的訂單完成率。
此工具通過集成多個(gè)數(shù)據(jù)表查詢功能,簡化了數(shù)據(jù)獲取的過程,大大提高了工作效率。
對(duì)測(cè)試人員來說,在工作中不僅提升查詢速度,還減少了信息獲取出錯(cuò)的可能性。
通過定制化的界面和查詢邏輯,可以更加專注于業(yè)務(wù)本身,而不是數(shù)據(jù)收集過程,提高測(cè)試專注度。