自定义表查询小工具使用手册

背景:

在测试过程中,我们需要频繁地检查多个表的数据准确性。由于不同的业务场景涉及不同的数据表,这个过程不仅容易导致数据误读或遗漏,还可能因为耗时而分散我们的注意力,降低测试效率。

问题:

数据查询繁琐: 业务的不同模块往往要求我们查询多个相关的数据表。仅依靠传统的数据查询工具进行这项工作既繁琐又不够直观,难以快速捕捉到关键信息。

易出错: 面对大量数据时,手动查找很容易发生误读或遗漏,增加了测试中的错误率。

效率低: 手动查询和比对数据消耗的时间和精力,降低了测试的整体效率。

解决方案:

为了应对上述挑战,做一款专用工具,为在帮助我们在各种场景下全局掌握订单状态,或者自定义需要查询的特定场景。这款工具简化了多表查询的过程,让数据呈现更加直观,从而显著提升了测试效率和专注度。

提高准确性: 工具通过自动化查询,减少了人为错误的可能性,确保数据的一致性和准确性。

提升效率: 通过一键式查询和直观的数据展示,大大缩短了查找和分析数据所需的时间,使测试人员能够更专注于业务逻辑验证。

增强可定制性: 用户可以根据具体需求自定义查询场景,使得工具更加贴合实际工作流程,提高了灵活性。

工具:

----------------------------------------------------------------

一、安装 PyQt5

PyQt5 是一个 Python 库,用于构建 GUI 应用程序。首先确保你的环境中已安装 Python,然后可以通过 pip 安装 PyQt5 和其他依赖项:

pip install pyqt5pip install pymysql

二、工具介绍

此工具是一个基于 PyQt5 构建的图形用户界面应用程序,旨在提高数据分析和查询效率。输入订单ID或自定义条件,并根据预设的查询逻辑从多个数据库表中获取数据。通过将数据集中展示在一个界面上,可以快速地分析数据,帮助工作提高效率。

特点 :

自定义表与字段 : 用户可以根据需要选择不同的业务场景表,并定义要展示的字段。

灵活的窗口配置 : 用户可以设置窗口大小和布局,以便更高效地查看数据。

多表查询 : 支持同时查询多个相关表,并在界面上展示结果。

环境选择 : 用户可以选择不同的环境来进行查询,如集群号选择测试环境。

三、使用说明

启动应用 :

- 终端或pycharm运行文件程序即可。

输入查询条件 :

- 自定义查询目标值,输出订单号/标的/用户UID/自定义。

选择环境 :

- 使用下拉菜单选择查询的环境,例如 “95-资金平台-测试环境A(k8s)-10.90.78.69”。

执行查询 :

- 点击“查询”按钮开始查询。

查询完成后,每个相关的数据库表的结果将在各自的表格中显示出来。

表格将按照预先设定的布局自动调整高度。

1. 查看结果 :

- - 每个表格都包含了相关的字段信息,例如订单状态、事件类型等。

可以通过滚动查看每张表的内容。

四、 tables 字典详解

tables 字典用于定义要展示的表及其字段。这是一个关键配置,决定了应用程序查询哪些表以及如何显示数据。

示例 :

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 :

表示查询时返回的字段列表。字段名可以使用 SQL 的函数(如 RIGHT() )进行修改。

示例: "columns": ["FuiFundId", "FuiEventId", "FstrEventType"]

利用sql重命名显示字段:

示例: RIGHT(FstrRemark, 15) as FstrRemark,最终展示 “FstrRemark”

2、query_keyword :

表示用于连接查询的关键字,通常为订单ID字段,也可以自定义标的等。

示例: "query_keyword": "FstrLoanOrderId"

3、full_row :

- 指定是否应该为该表分配整个行的高度。

True : 表格占据整个行的高度。

False : 表格与其他表格共享行高度,但做多一行2个表展示。

示例: "full_row": True

4、height :

指定表格的固定高度。

如果 height 为 None ,则会根据剩余空间平均分配高度。

示例: "height": 250 (注意:总行高不能超过窗口总高)

五、tool_info、env_choose 及 tool_size 变量

1、tool_info:

一个列表,包含两个字符串元素:

第一个字符串 "订单查询工具":代表GUI工具的名称。

第二个字符串 "订单:":代表在GUI中输入订单号时的提示文字。

2、env_choose:

一个字典,包含两个键值对:

"defalt_cle":代表默认选择的环境集群号。

"only_show_cle_name":代表列表内填入团队代码,其中包含只显示当前项目的数据库信息,["kefu","loan","risk","shared","fundhub","fundplat","collection","creditcore"],如果不填展示所有。

3、tool_size:

一个列表,包含两个整数元素:

第一个整数 800:代表GUI窗口的宽度。

第二个整数 750:代表GUI窗口的高度。

六、示例

假设有一个订单ID 342566425099174219 需要查询。

输入订单ID :

- 输入 342566425099174219 到订单文本框。

选择环境 :

- 选择 “12-资金平台-测试专用A-10.80.77.125”。

执行查询 :

- 点击“查询”按钮。

此时界面上将显示来自各个表的数据,例如 t_event , t_loan_order 等。


七、提高效率的场景

快速定位问题 :

- 当查看关于订单的问题时,能够迅速查找订单状态及相关信息。

例如,要看订单在借款哪一步,可通过此工具看见订单状态和订单的其他关键信息。

监控订单流程 :

- 可以实时查看订单在系统中的处理情况,帮助监控业务流程。

例如,通过 t_event 表可以跟踪订单的状态变更历史。

数据分析 :

- 快速收集数据进行分析,比如订单的处理时间、成功率等指标。

例如,可以统计 t_lending_order 表中的订单完成率。

八、总结

此工具通过集成多个数据表查询功能,简化了数据获取的过程,大大提高了工作效率。

对测试人员来说,在工作中不仅提升查询速度,还减少了信息获取出错的可能性。

通过定制化的界面和查询逻辑,可以更加专注于业务本身,而不是数据收集过程,提高测试专注度。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,242评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,769评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,484评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,133评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,007评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,080评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,496评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,190评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,464评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,549评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,330评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,205评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,567评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,889评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,160评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,475评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,650评论 2 335

推荐阅读更多精彩内容