基于流量采集完成接口自动化用例生成及执行的方法及系统技术方案

技术编号:36424786 阅读:15 留言:0更新日期:2023-01-20 22:34
本发明专利技术提供了一种基于流量采集完成接口自动化用例生成及执行的方法及系统,包括:步骤S1:在应用程序前端进行jvm sandbox repeater工具的部署,对目标接口添加配置信息;步骤S2:配置完成后,对目标业务模块的流量进行监控及录制,获取接口请求信息;步骤S3:对录制的接口流量信息,提供下载功能,通过配置信息完成对目标请求接口的流量下载;步骤S4:通过解析下载流量的基本信息组装生成接口测试自动化用例;步骤S5:接口测试自动化用例执行,记录执行结果,并将执行结果与预期结果进行差异化比较;步骤S6:接口自动化用例执行报告展示。告展示。告展示。

【技术实现步骤摘要】
基于流量采集完成接口自动化用例生成及执行的方法及系统


[0001]本专利技术涉及数据处理领域,具体地,涉及基于流量采集完成接口自动化用例生成及执行的方法及系统。

技术介绍

[0002]jvm sandbox repeater工具本身仅仅实现了流量的录制及单次回放功能,不支持接口详细信息下载,对录制后的流量参数未进行处理,对唯一性参数未进行解析和组装,因此不能保证进行请求回放时的成功率以及自动化用例设计的灵活性。而在进行流量回放后,对于结果只能实时查看,同时不具备详细的测试报告的功能。
[0003]本次专利技术基于开源工具jvm sandbox repeater来进行请求流量的录制,通过二次开发实现接口请求流量的下载,运用Python脚本来完成接口信息的解析以及接口自动化用例的灵活组装,测试执行后通过Python中j inja2库完成详细的测试报告的渲染展示,提供了整套的测试解决方案。
[0004]专利文献CN113709003A(申请号:202111027405.0)公开了一种通过网络流量数据自动生成测试用例的系统、方法及介质,包括:网络流量数据获取模块:通过旁路镜像方式从真实环境采集网络流量数据,对采集的网络流量数据进行处理;回放解析模块:根据配置文件,过滤解析采集到的网络流量数据进行处理,得到解析后数据,并对解析后数据进行格式处理,根据格式处理后的数据格式转换配置文件,将解析后数据转换为回放文件,用于测试环境下的回放测试。

技术实现思路

[0005]针对现有技术中的缺陷,本专利技术的目的是提供一种基于流量采集完成接口自动化用例生成及执行的方法及系统。
[0006]根据本专利技术提供的一种基于流量采集完成接口自动化用例生成及执行的方法,包括:
[0007]步骤S1:在应用程序前端进行jvm sandbox repeater工具的部署,对目标接口添加配置信息;
[0008]步骤S2:配置完成后,对目标业务模块的流量进行监控及录制,获取接口请求信息;
[0009]步骤S3:对录制的接口流量信息,提供下载功能,通过配置信息完成对目标请求接口的流量下载;
[0010]步骤S4:通过解析下载流量的基本信息组装生成接口测试自动化用例;
[0011]步骤S5:执行接口测试自动化用例,记录执行结果,并将执行结果与预期结果进行差异化比较;
[0012]步骤S6:接口自动化用例执行报告展示。
[0013]优选地,所述步骤S1采用:
[0014]步骤S1.1:将jvm sandbox repeater模块部署到应用程序服务器,进行业务处理模块的挂载,实现业务请求接口的监控;
[0015]步骤S1.2:配置所要监控的目标环境、目标应用以及目标接口信息,配置完成后建立心跳。
[0016]优选地,所述步骤S2采用:
[0017]步骤S2.1:对目标接口发送请求,录制收发的请求数据;
[0018]步骤S2.2:存储相关流量数据包,对流量进行处理及筛选,获取请求接口的请求参数以及返回结果信息。
[0019]优选地,所述步骤S3采用:
[0020]步骤S3.1:根据已配置的包括环境参数、应用参数、接口参数信息,对已录制的请求进行筛选,选出得到成功返回信息的数据;
[0021]步骤S3.2:对筛选结果进行下载得到接口流量信息表格,包括流量录制环境,应用名称、接口请求路径、请求地址、请求方法、请求头、请求体、状态码以及响应体信息。
[0022]优选地,所述步骤S4采用:
[0023]步骤S4.1:通过python语言扩展包xlrd解析下载的接口流量信息表格,获取表格单元格数据,包括请求地址、请求头以及请求方法;
[0024]步骤S4.2:通过python语言扩展包requests的request方法组装接口自动化测试用例,包括接口的请求方法、请求地址以及请求头信息。
[0025]优选地,所述步骤S5采用:
[0026]步骤S5.1:获取组装成功的接口自动化用例,通过request方法循环发送接口请求,获取相关接口响应结果,包括返回响应体以及响应码信息;
[0027]步骤S5.2:运用流量下载的返回结果数据作为预期结果,接口自动化执行的结果作为实际结果,两个结果运用python中deepdiff库进行返回结果json差异化比较,得出差异结果。
[0028]优选地,所述步骤S6采用:使用python中的jinja2扩展库来完成测试报告的渲染工作,测试报告包括通过率、接口响应时间、接口列表以及接口差异化结果信息;
[0029]所述通过率是通过响应结果判断,响应码为200则为测试通过;
[0030]所述接口响应时间是从接口请求到接口返回的耗时情况;
[0031]所诉接口列表包括:请求地址、请求方法以及状态码;接口列表是根据循环请求的顺序进行展示;
[0032]所述差异化结果是展示接口的预期结果同自动化执行结果的差异化比较。
[0033]根据本专利技术提供的一种基于流量采集完成接口自动化用例生成及执行的系统,包括:
[0034]模块M1:在应用程序前端进行jvm sandbox repeater工具的部署,对目标接口添加配置信息;
[0035]模块M2:配置完成后,对目标业务模块的流量进行监控及录制,获取接口请求信息;
[0036]模块M3:对录制的接口流量信息,提供下载功能,通过配置信息完成对目标请求接口的流量下载;
[0037]模块M4:通过解析下载流量的基本信息组装生成接口测试自动化用例;
[0038]模块M5:执行接口测试自动化用例,记录执行结果,并将执行结果与预期结果进行差异化比较;
[0039]模块M6:接口自动化用例执行报告展示。
[0040]优选地,所述模块M1采用:
[0041]模块M1.1:将jvm sandbox repeater模块部署到应用程序服务器,进行业务处理模块的挂载,实现业务请求接口的监控;
[0042]模块M1.2:配置所要监控的目标环境、目标应用以及目标接口信息,配置完成后建立心跳;
[0043]所述模块M2采用:
[0044]模块M2.1:对目标接口发送请求,录制收发的请求数据;
[0045]模块M2.2:存储相关流量数据包,对流量进行处理及筛选,获取请求接口的请求参数以及返回结果信息。
[0046]优选地,所述模块M3采用:
[0047]模块M3.1:根据已配置的包括环境参数、应用参数、接口参数信息,对已录制的请求进行筛选,选出得到成功返回信息的数据;
[0048]模块M3.2:对筛选结果进行下载得到接口流量信息表格,包括流量录制环境,应用名称、接口请求路径、请求地址、请求方法、请求头、请求体、状态码以及响应体信息;
[0049]所述模块M4采用:
[0050]模块M4.1:通过pyth本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于流量采集完成接口自动化用例生成及执行的方法,其特征在于,包括:步骤S1:在应用程序前端进行jvm sandbox repeater工具的部署,对目标接口添加配置信息;步骤S2:配置完成后,对目标业务模块的流量进行监控及录制,获取接口请求信息;步骤S3:对录制的接口流量信息,提供下载功能,通过配置信息完成对目标请求接口的流量下载;步骤S4:通过解析下载流量的基本信息组装生成接口测试自动化用例;步骤S5:执行接口测试自动化用例,记录执行结果,并将执行结果与预期结果进行差异化比较;步骤S6:接口自动化用例执行报告展示。2.根据权利要求1所述的基于流量采集完成接口自动化用例生成及执行的方法,其特征在于,所述步骤S1采用:步骤S1.1:将jvm sandbox repeater模块部署到应用程序服务器,进行业务处理模块的挂载,实现业务请求接口的监控;步骤S1.2:配置所要监控的目标环境、目标应用以及目标接口信息,配置完成后建立心跳。3.根据权利要求1所述的基于流量采集完成接口自动化用例生成及执行的方法,其特征在于,所述步骤S2采用:步骤S2.1:对目标接口发送请求,录制收发的请求数据;步骤S2.2:存储相关流量数据包,对流量进行处理及筛选,获取请求接口的请求参数以及返回结果信息。4.根据权利要求1所述的基于流量采集完成接口自动化用例生成及执行的方法,其特征在于,所述步骤S3采用:步骤S3.1:根据已配置的包括环境参数、应用参数、接口参数信息,对已录制的请求进行筛选,选出得到成功返回信息的数据;步骤S3.2:对筛选结果进行下载得到接口流量信息表格,包括流量录制环境,应用名称、接口请求路径、请求地址、请求方法、请求头、请求体、状态码以及响应体信息。5.根据权利要求1所述的基于流量采集完成接口自动化用例生成及执行的方法,其特征在于,所述步骤S4采用:步骤S4.1:通过python语言扩展包xlrd解析下载的接口流量信息表格,获取表格单元格数据,包括请求地址、请求头以及请求方法;步骤S4.2:通过python语言扩展包requests的request方法组装接口自动化测试用例,包括接口的请求方法、请求地址以及请求头信息。6.根据权利要求1所述的基于流量采集完成接口自动化用例生成及执行的方法,其特征在于,所述步骤S5采用:步骤S5.1:获取组装成功的接口自动化用例,通过request方法循环发送接口请求,获取相关接口响应结果,包括返回响应体以及响应码信息;步骤S5.2:运用流量下载的返回结果数据作为预期结果,接口自动化执行的结果作为实际结果,两个结果运用python中deepdiff库进行返回结果json差异化比较,得出差异结
果。7.根据权利要求1所述的基于流量采集完成接口自动化用例生成及执行的方法,其特征在于,所述步骤S6采用:使用python中的jinja2扩展库来完成测试报告的渲染工作,测试报告包括通过率、接口响应时间、...

【专利技术属性】
技术研发人员:陈祖勇贺子宸赵晨曦陈成黄翠
申请(专利权)人:兴业数字金融服务上海股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1