一种客户端埋点的辅助测试方法及系统与流程

未命名 08-02 阅读:83 评论:0


1.本发明涉及埋点测试领域,尤其涉及一种客户端埋点的辅助测试方法及系统。


背景技术:

2.客户端神策和sdk埋点是采集客户端数据,分析用户行为(点击、曝光、流量)的重要依据,据此优化内容发布、功能设计及业务逻辑,所以,针对客户端埋点的测试尤为重要,因此而产生的辅助埋点测试工具。
3.现有测试方法一般使用抓包工具(charles、fiddler、mitmproxy)拦截埋点上报请求,测试人员对照上报参数和预期功能点进行测试。上述方式中,拦截到的埋点上报信息包含很多非业务信息,且上报数据以json字符串形式展示,阅读成本很高,容易漏看、看错等。


技术实现要素:

4.为克服相关技术中存在的问题,本发明提供一种客户端埋点的辅助测试方法及系统。
5.根据本发明实施例的第一方面,提供一种客户端埋点的辅助测试方法,包括:
6.接收客户端上报的埋点请求数据;
7.格式化所述埋点请求数据,得到埋点事件;
8.将所述埋点事件在前端页面上进行展示并存入缓存;
9.执行埋点用例,并根据所述埋点用例对应的埋点id从所述缓存中的埋点事件的埋点id进行匹配,在所述前端页面展示匹配一致的埋点事件。
10.进一步,在接收客户端上报的埋点请求数据之前,还包括:
11.通过mitmproxy代理工具,拦截客户端的所有请求,从中过滤出埋点域名的请求,得到埋点请求数据。
12.进一步,所述接收客户端上报的埋点请求数据,具体包括:
13.通过websocket接收客户端上报的埋点请求数据。
14.进一步,所述格式化所述埋点请求数据,得到埋点事件,具体包括:
15.将所述埋点请求数据由json字符串格式化为表格形式,并根据测试的字段对所述埋点请求数据进行过滤。
16.进一步,所述将所述埋点事件在前端页面上进行展示并存入缓存,具体包括:
17.将所述埋点事件在vue编写的前端页面上进行展示并存入redis缓存。
18.根据本发明实施例的第二方面,提供一种客户端埋点的辅助测试系统,包括:
19.请求接收模块,用于接收客户端上报的埋点请求数据;
20.数据格式化模块,用于格式化所述埋点请求数据,得到埋点事件;
21.埋点展示及缓存模块,用于将所述埋点事件在前端页面上进行展示并存入缓存;
22.埋点匹配模块,用于执行埋点用例,并根据所述埋点用例对应的埋点id从所述缓存中的埋点事件的埋点id进行匹配,在所述前端页面展示匹配一致的埋点事件。
23.进一步,该系统还包括:
24.请求拦截过滤模块,用于在所述请求接收模块接收客户端上报的埋点请求数据之前,通过mitmproxy代理工具,拦截客户端的所有请求,从中过滤出埋点域名的请求,得到埋点请求数据。
25.进一步,请求接收模块,具体用于通过websocket接收客户端上报的埋点请求数据。
26.进一步,数据格式化模块,具体用于将所述埋点请求数据由json字符串格式化为表格形式,并根据测试的字段对所述埋点请求数据进行过滤。
27.进一步,所述埋点展示及缓存模块,具体用于将所述埋点事件在vue编写的前端页面上进行展示并存入redis缓存。
28.本发明的实施例提供的技术方案可以包括以下有益效果:
29.本发明通过对埋点数据结构的解析、存储,可以友好输出埋点的数据并根据唯一id匹配对应埋点用例,大大缩短单条埋点用例的测试时间。
30.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
31.通过结合附图对本发明示例性实施方式进行更详细的描述,本发明的上述以及其它目的、特征和优势将变得更加明显,其中,在本发明示例性实施方式中,相同的参考标号通常代表相同部件。
32.图1是根据本发明一示例性实施例示出的一种客户端埋点的辅助测试方法的流程示意图;
33.图2是根据本发明示例性实施例示出的一种客户端埋点的辅助测试系统的结构框图;
34.图3是本发明所采用的埋点测试方法的总体框架图。
具体实施方式
35.下面将参照附图更详细地描述本发明的优选实施方式。虽然附图中显示了本发明的优选实施方式,然而应该理解,可以以各种形式实现本发明而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本发明更加透彻和完整,并且能够将本发明的范围完整地传达给本领域的技术人员。
36.在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
37.应当理解,尽管在本发明可能采用术语“第一”、“第二”、“第三”等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更
多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
38.本专利主要解决埋点上报结果的收集、解析和快速测试问题,通过对数据结构的解析、存储,可以友好输出埋点的数据并根据唯一id匹配对应埋点用例,根据用例要测的字段精简上报的数据量,增加人工数据比对的速度。
39.以下结合附图详细描述本发明实施例的技术方案。
40.图1是根据本发明一示例性实施例示出的一种客户端埋点的辅助测试方法的流程示意图。
41.参见图1,该方法包括:
42.110、接收客户端上报的埋点请求数据;
43.具体的,客户端将埋点请求数据通过websocket协议将埋点请求数据上报至服务端。
44.120、格式化所述埋点请求数据,得到埋点事件;
45.具体的,服务端接收到客户端上报的请求数据后,将埋点请求数据由json字符串格式化为表格形式,并根据业务要求确定需要测试关注的字段,根据测试的字段对所述埋点请求数据进行过滤,确保在前端页面展示的字段均为需要测试的字段,从而增加人工数据比对的速度。
46.130、将所述埋点事件在前端页面上进行展示并存入缓存;
47.具体的,该步骤中,服务端将埋点事件在vue编写的前端页面上进行展示并存入redis缓存作为临时存储。
48.140、执行埋点用例,并根据所述埋点用例对应的埋点id从所述缓存中的埋点事件的埋点id进行匹配,在所述前端页面展示匹配一致的埋点事件。
49.具体的,埋点用例中包含埋点唯一id,与缓存中的埋点事件的唯一id关联,匹配到一致的埋点事件后展示。
50.本发明实施例提供的一种客户端埋点的辅助测试方法,通过对埋点数据结构的解析、存储,可以友好输出埋点的数据并根据唯一id匹配对应埋点用例,大大缩短单条埋点用例的测试时间。
51.可选地,在该实施例中,如图1所示,在步骤110之前,该方法还包括:
52.100、通过mitmproxy代理工具,拦截客户端的所有请求,从中过滤出埋点域名的请求,得到埋点请求数据。
53.图2是根据本发明示例性实施例示出的一种客户端埋点的辅助测试系统的结构框图。该系统实施例中的功能模块的功能原理已在上述方法实施例的具体步骤中进行了具体说明,以下不再赘述。
54.参见图2,该系统包括:
55.请求接收模块,用于接收客户端上报的埋点请求数据;
56.数据格式化模块,用于格式化所述埋点请求数据,得到埋点事件;
57.埋点展示及缓存模块,用于将所述埋点事件在前端页面上进行展示并存入缓存;
58.埋点匹配模块,用于执行埋点用例,并根据所述埋点用例对应的埋点id从所述缓存中的埋点事件的埋点id进行匹配,在所述前端页面展示匹配一致的埋点事件。
59.可选地,在该实施例中,如图2所示,该系统还包括:
60.请求拦截过滤模块,用于在所述请求接收模块接收客户端上报的埋点请求数据之前,通过mitmproxy代理工具,拦截客户端的所有请求,从中过滤出埋点域名的请求,得到埋点请求数据。
61.可选地,在该实施例中,请求接收模块,具体用于通过websocket接收客户端上报的埋点请求数据。
62.可选地,在该实施例中,数据格式化模块,具体用于将所述埋点请求数据由json字符串格式化为表格形式,并根据测试的字段对所述埋点请求数据进行过滤。
63.可选地,在该实施例中,所述埋点展示及缓存模块,具体用于将所述埋点事件在vue编写的前端页面上进行展示并存入redis缓存。
64.下面以一个具体示例对本发明作具体说明。
65.如图3所示为本发明所采用的埋点测试方法的总体框架图。采用本发明的方案进行埋点测试的具体步骤如下:
66.第一步,绘制代理客户端界面:
67.i.pyqt5工具是用来绘制客户端界面的python第三方包。
68.ii.通过ip地址、端口结合mitmproxy工具实现客户端设备代理连接,通过设备id和测试id标识客户端,上报埋点请求至服务端;
69.iii.pyinstaller工具是将开发好的客户端打包成可执行文件。
70.第二步,服务端解析和分发请求。
71.i.通过websocket向服务端上报的请求,格式化上报的json字符串,存入缓存redis。
72.ii.将格式化好的json展示到用vue编写的前端页面上。
73.iii.根据业务要求过滤掉一些不用测试的字段。
74.第三步,埋点用例上增加埋点唯一id用于绑定对应id的埋点事件。
75.埋点用例记录上设计一个关联按钮,点击按钮读取该条用例的埋点id,以此id读取缓存数据库,从中查找到匹配的事件返回。
76.实验表明,采用本发明实施例的客户端埋点辅助测试工具,可将单条埋点用例的测试时间从5~10分钟降低到1~2分钟。
77.上文中已经参考附图详细描述了本发明的方案。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。本领域技术人员也应该知悉,说明书中所涉及的动作和模块并不一定是本发明所必须的。另外,可以理解,本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减,本发明实施例装置中的模块可以根据实际需要进行合并、划分和删减。
78.附图中的流程图和框图显示了根据本发明的多个实施例的系统和方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标记的功能也可以以不同于附图中所标记的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流
程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
79.以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

技术特征:
1.一种客户端埋点的辅助测试方法,其特征在于,包括:接收客户端上报的埋点请求数据;格式化所述埋点请求数据,得到埋点事件;将所述埋点事件在前端页面上进行展示并存入缓存;执行埋点用例,并根据所述埋点用例对应的埋点id从所述缓存中的埋点事件的埋点id进行匹配,在所述前端页面展示匹配一致的埋点事件。2.根据权利要求1所述的一种客户端埋点的辅助测试方法,其特征在于,在所述接收客户端上报的埋点请求数据之前,还包括:通过mitmproxy代理工具,拦截客户端的所有请求,从中过滤出埋点域名的请求,得到埋点请求数据。3.根据权利要求1所述的一种客户端埋点的辅助测试方法,其特征在于,所述接收客户端上报的埋点请求数据,具体包括:通过websocket接收客户端上报的埋点请求数据。4.根据权利要求1所述的一种客户端埋点的辅助测试方法,其特征在于,所述格式化所述埋点请求数据,得到埋点事件,具体包括:将所述埋点请求数据由json字符串格式化为表格形式,并根据测试的字段对所述埋点请求数据进行过滤。5.根据权利要求1—4任一项所述的一种客户端埋点的辅助测试方法,其特征在于,所述将所述埋点事件在前端页面上进行展示并存入缓存,具体包括:将所述埋点事件在vue编写的前端页面上进行展示并存入redis缓存。6.一种客户端埋点的辅助测试系统,其特征在于,包括:请求接收模块,用于接收客户端上报的埋点请求数据;数据格式化模块,用于格式化所述埋点请求数据,得到埋点事件;埋点展示及缓存模块,用于将所述埋点事件在前端页面上进行展示并存入缓存;埋点匹配模块,用于执行埋点用例,并根据所述埋点用例对应的埋点id从所述缓存中的埋点事件的埋点id进行匹配,在所述前端页面展示匹配一致的埋点事件。7.根据权利要求6所述的一种客户端埋点的辅助测试系统,其特征在于,还包括:请求拦截过滤模块,用于在所述请求接收模块接收客户端上报的埋点请求数据之前,通过mitmproxy代理工具,拦截客户端的所有请求,从中过滤出埋点域名的请求,得到埋点请求数据。8.根据权利要求6所述的一种客户端埋点的辅助测试系统,其特征在于,请求接收模块,具体用于通过websocket接收客户端上报的埋点请求数据。9.根据权利要求6所述的一种客户端埋点的辅助测试系统,其特征在于,数据格式化模块,具体用于将所述埋点请求数据由json字符串格式化为表格形式,并根据测试的字段对所述埋点请求数据进行过滤。10.根据权利要求6—9任一项所述的一种客户端埋点的辅助测试系统,其特征在于,所述埋点展示及缓存模块,具体用于将所述埋点事件在vue编写的前端页面上进行展示并存入redis缓存。

技术总结
本发明是关于一种客户端埋点的辅助测试方法及系统。该方法包括:接收客户端上报的埋点请求数据;格式化所述埋点请求数据,得到埋点事件;将所述埋点事件在前端页面上进行展示并存入缓存;执行埋点用例,并根据所述埋点用例对应的埋点ID从所述缓存中的埋点事件的埋点ID进行匹配,在所述前端页面展示匹配一致的埋点事件。本发明提供的技术方案,通过对埋点数据结构的解析、存储,可以友好输出埋点的数据并根据唯一ID匹配对应埋点用例,大大缩短单条埋点用例的测试时间。条埋点用例的测试时间。条埋点用例的测试时间。


技术研发人员:张兆 王云帅 崔寅 周国庆
受保护的技术使用者:北京值得买科技股份有限公司
技术研发日:2023.04.08
技术公布日:2023/8/1
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐