服务端代理脚本录制方法和系统技术方案

技术编号:35823838 阅读:16 留言:0更新日期:2022-12-03 13:50
本发明专利技术提供一种服务端代理脚本录制方法和系统,属于软件技术领域。服务端代理脚本录制系统包括:输出展示模块、录制基础信息配置模块、录制模块、录制请求存储模块、录制请求转脚本模块。本发明专利技术在录制信息时采取高效多线程异步处理结构,通过高效存储队列临时存储,并实时推送给用户,同时采用转存储策略,并在内存中实时转化脚本。本发明专利技术降低了录制过程复杂度,提升了运行效率,可供多用户在平台同时录制。制。制。

【技术实现步骤摘要】
服务端代理脚本录制方法和系统


[0001]本专利技术属于软件
,具体涉及一种服务端代理脚本录制方法和系统。

技术介绍

[0002]网络获取数据的方式多种多样,许多应用使用浏览器通过http/https请求访问系统获取数据。随着系统性能稳定性越来越受关注,需要降低测试难度,采用录制技术实现。现有录制方法有使用socket技术通过代理服务器录制用户请求和使用第三方工具录制用户请求。现有技术方案要么使用socket录制,要么是第三方工具录制,但各有缺陷:
[0003](1)socket技术通过代理服务器录制用户请求获取报文复杂程度较高,报文还需进一步使用第三方工具解析处理。使用socket录制,只适合专业化程度高的人处理报文。
[0004](2)采用第三方工具录制生成报文文件,需编写程序转化报文文件为需要信息,自动化程度不高。且通过第三方工具录制,需手动导出文件,然后采用程序解析相文件,同时生成需要信息,时间周期长,工作步骤繁琐,自动化程度不高,占用一定的磁盘空间,报文有信息太多,可能会存在敏感信息,技术上亦存在安全风险。

技术实现思路

[0005]为解决上述问题,本专利技术公开了一种服务端代理脚本录制方法和系统。
[0006]为达到上述目的,本专利技术的技术方案如下:
[0007]服务端代理脚本录制方法,包括如下步骤:
[0008]Step1:打开录制网页,设置录制代理服务器ip和端口、不录制ip/域名以及基本设置信息;
[0009]Step2:在录制网页中开启录制服务进行录制,包括如下子步骤:
[0010]Step2

1:开启录制时后台录制服务创建新线程,接收用户录制基础设置信息并启动线程;
[0011]Step2

2:根据录制代理IP和端口port启动录制代理服务,初始化录制代理服务;在Step2

1启动线程基础上,依据用户配置信息录制编码;录制代理服务通讯层使用netty框架,在启动前配置自定义编解码器和自定义处理通道channel;录制服务创建自定义channel对应的处理器handler,在处理器handler中使用通道上下文ctx对不同请求创建临时线程或线程组,异步处理用户请求响应信息;临时线程接收请求响应信息,同时生成录制实体record;
[0012]Step3:在待录制网页地址栏输入网址,在浏览器页面操作规划好的业务,各种网络请求和响应信息在录制窗口输出;用户在待录制页面点击按钮产生请求,在录制服务中,请求响应报文经过netty自定义通道,请求报文经netty转发到被录制服务,被录制服务返回响应报文到netty自定义通道,经过拦截器复制截取报文,并产生若干线程异步处理请求响应信息,获取序列号设置record记录,转发到高效缓存队列;完成录制过程;
[0013]Step4:在录制页面中用户能够自定义添加新事务开始和结束标记;在实际录制过
程中获取页面录制记录序列号和事务标记绑定,并转发到高效缓存队列;
[0014]Step5:高效缓存队列实时接收Step3

Step4中请求响应信息,实时采用websocket技术推送数据到录制界面;
[0015]Step6:存储录制请求,存储时消费Step5步骤获取的队列消息message,并存储message到数据库,包括如下子步骤:
[0016]Step6

1:录制请求存储服务实时监听高效缓存队列,按record记录唯一序列号serial排列record记录,当record记录大于等于设定值时,触发存储record信息到数据库;
[0017]Step6

2:采用存储服务处理符合设定值数目的数据记录异步写入数据库;
[0018]Step7:录制请求转脚本,在Step6

2基础上监听并提取完整请求信息,生成具体http或https请求方法,存储或追加到脚本方法体内;
[0019]Step8:在录制页面,用户根据需要点击结束录制按钮,关闭录制代理服务。
[0020]进一步的,所述Step2中录制基础设置信息包括录制唯一键id、录制代理IP和端口port、录制编码charset、是否保存录制请求体isSave、是否安全套接字层isSsl信息;定义录制过程序列号serials,有新请求时序列号自行增加。
[0021]进一步的,所述Step2

2中,当isSsl=true时启动https安全录制通道channel;当isSsl=false时启动http录制通道channel。
[0022]进一步的,所述Step2

2中,录制实体record属性包括以下属性中的至少一种:被测主机IP和port、路径path、请求方法method、参考referer、起源origin、序列号serial、内容类型contentType、请求头reqHeader、请求体reqContent、响应头repHeader、响应内容repContent、录制唯一键Rid、表单提交数据formData、表单类型mimeType、文件名fileName、文件参数fileParam、文件格式类型fileMimeType,isSsl。
[0023]进一步的,所述Step6

2中,其中存储服务采用多线程或线程组同时处理数据,完成数据存储功能。
[0024]进一步的,所述Step7包括如下子步骤:
[0025]Step7

1:将Step6

2步骤过程中提取出的请求记录record转发给录制请求转脚本服务,经程序处理生成脚本请求记录列表list,并在list中依据序列号前后添加事务开始标记和结束标记;完成录制信息转脚本功能;
[0026]Step7_2:在Step6_2步骤过程中已经形成record记录存储列表,根据录制唯一键id和顺序序列号,提取录制运行日志和回放日志,完成录制信息转录制日志功能。
[0027]服务端代理脚本录制系统,包括:输出展示模块、录制基础信息配置模块、录制模块、录制请求存储模块、录制请求转脚本模块;所述输出展示模块用于展示录制基本信息设置、录制运行日志、录制回放日志、录制实时运行日志;所述录制基础信息配置模块用于配置请求头过滤信息、是否录制请求头、Content

type过滤信息、是否录制编码、是否录制报文响应体信息,实现服务端代理脚本录制方法中Step1功能,配置好的信息传输至录制模块和录制请求存储模块;所述录制模块用于具体执行录制过程,实现服务端代理脚本录制方法中Step2

Step5功能;所述录制请求存储模块用于将录制请求响应信息存储到数据库,实现服务端代理脚本录制方法中Step6功能;所述录制请求转脚本模块用于监听并提取完整请求信息,生成具本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.服务端代理脚本录制方法,其特征在于,包括如下步骤:Step1:打开录制网页,设置录制代理服务器ip和端口、不录制ip/域名以及基本设置信息;Step2:在录制网页中开启录制服务进行录制,包括如下子步骤:Step2

1:开启录制时后台录制服务创建新线程,接收用户录制基础设置信息并启动线程;Step2

2:根据录制代理IP和端口port启动录制代理服务,初始化录制代理服务;在Step2

1启动线程基础上,依据用户配置信息录制编码;录制代理服务通讯层使用netty框架,在启动前配置自定义编解码码器和自定义处理通道channel;录制服务创建自定义channel对应的处理器handler,在处理器handler中使用通道上下文ctx对不同请求创建临时线程或线程组,异步处理用户请求响应信息;临时线程接收请求响应信息,同时生成录制实体record;Step3:在待录制网页地址栏输入网址,在浏览器页面操作规划好的业务,各种网络请求和响应信息在录制窗口输出;用户在待录制页面点击按钮产生请求,在录制服务中,请求响应报文经过netty自定义通道,请求报文经netty转发到被录制服务,被录制服务返回响应报文到netty自定义通道,经过拦截器复制截取报文,并产生若干线程异步处理请求响应信息,获取序列号设置record记录,转发到高效缓存队列;完成录制过程;Step4:在录制页面中用户能够自定义添加新事务开始和结束标记;在实际录制过程中获取页面录制记录序列号和事务标记绑定,并转发到高效缓存队列;Step5:高效缓存队列实时接收Step3

Step4中请求响应信息,实时采用websocket技术推送数据到录制界面;Step6:存储录制请求,存储时消费Step5步骤获取的队列消息message,并存储message到数据库,包括如下子步骤:Step6

1:录制请求存储服务实时监听高效缓存队列,按record记录唯一序列号serial排列record记录,当record记录大于等于设定值时,触发存储record信息到数据库;Step6

2:采用存储服务处理符合设定值数目的数据记录异步写入数据库;Step7:录制请求转脚本,在Step6

2基础上监听并提取完整请求信息,生成具体http或https请求方法,存储或追加到脚本方法体内;Step8:在录制页面,用户根据需要点击结束录制按钮,关闭录制代理服务。2.根据权利要求1所述的服务端代理脚本录制方法,其特征在于,所述Step2中录制基础设置信息包括录制唯一键id、录制代理IP和端口port、录制编码charset、是否保存录制请求体isSave、是否安全套接字层isSsl信息;定义录制过程序列号serials,有新请求时序列号自行增加。3.根据权利要求1所述的服务端代理脚本录制方法,其特征在于,所述St...

【专利技术属性】
技术研发人员:朱霏柴明旭田建文孟保旺邵军
申请(专利权)人:江苏润和软件股份有限公司
类型:发明
国别省市:

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

1