一种基于中间人代理技术的mock测试装置的制作方法

文档序号:20874963发布日期:2020-05-26 16:22阅读:157来源:国知局
一种基于中间人代理技术的mock测试装置的制作方法

本发明属于计算机技术领域,尤其涉及一种基于中间人代理技术的mock测试装置。



背景技术:

mock测试是软件过程中很常见的一种调试手段,即使用虚拟的对象来模拟不容易构造或不容易获取的对象,以达到更高的测试覆盖率。

常见的mock方案实现有如下两种:中国专利“cn106528400mock测试方法和装置”提供了一种方案,通过修改客户端请求地址到其mock平台,通过匹配返回事先录入的mock对象,可以在服务器没开发好的情况下使用。中国专利“cn106970873线上mock测试方法、装置及系统”提供了另一种方案,事先将mock服务注入到应用服务器内,应用客户端请求时携带特定的用例标识,应用服务器根据用例标识判断是否返回mock对象。

但是,上述两种实现方式均存在一定的缺陷,中国专利“cn106528400mock测试方法和装置”的方案需要对应用客户端进行改造以适配mock服务地址。中国专利“cn106970873线上mock测试方法、装置及系统”的方案需要对应用服务端进行改造以注入mock服务,也需要对应用客户端进行改造以携带用例标识。

事实上现存的绝大部分mock方案都对代码有一定的侵入性,这会带来额外的管理成本及运行风险;其次是灵活性很差,更换一种客户端就需要重新适配或者无法适配,因此,现急需一种能够解决上述mock方案的新的mock测试方法及测试装置。



技术实现要素:

本发明为克服现有技术的不足,所要解决的技术问题是提供一种能够保护代码,避免代码被侵入,以及灵活性较好,当更换一种客户端时也无需重新适配的新的mock测试方法及其测试装置。

为解决上述问题,本发明的基于中间人代理技术的mock测试方法,包括以下流程:

应用客户端通过手机、pc的系统代理设置事先连接好中间人代理服务,应用客户端再发起mock数据请求,其无需应用客户端做任何改动;

中间人代理拦截所述mock数据请求并将客户端的mock数据请求透传至应用服务器;

应用服务器接收到中间人代理发送的mock数据请求后,响应中间人代理发送的所述mock数据请求,并返回对应的mock一次响应结果至中间人代理;

中间人代理接收到应用服务器发送的mock一次响应结果后,向mock平台发起针对mock一次响应结果的查询请求;

mock平台收到中间人代理的所述查询请求后,会根据自身配置情况进行接口匹配,响应中间人代理的所述查询请求,并返回对应的mock二次响应结果至中间人代理;

中间人代理接收到mock平台发送的mock二次响应结果后,判断的mock二次响应结果的合法性,若非法则返回mock一次响应结果,若合法则返回mock二次响应结果;

所述的中间人代理是一个网络代理服务,可以运行在本地,也可以运行在云端;

所述的mock平台是一个云端服务,可以通过此平台人工配置接口的输入数据和输出数据,也处理中间人代理的查询请求。

进一步的,所述的mock平台接收的中间人代理针对mock一次响应结果的查询请求,该请求中包含了应用客户端请求的全部信息。

进一步的,所述的mock平台从中间人代理的查询请求中解析出应用客户端调用的接口信息。

进一步的,解析出的应用客户端调用的接口信息可以是请求路径。

进一步的,所述的mock平台查询自身是否存储有mock平台从中间人代理的查询请求中解析出应用客户端调用的请求路径对应的配置数据,各配置数据事先通过人工录入mock平台。

进一步的,所述的mock平台如果查询出自身存储有应用客户端调用的请求路径对应的配置数据,则mock平台向中间人代理返回系统已配置的数据响应;若没有存储应用客户端调用的请求路径对应的配置数据,则mock平台向中间人代理返回非法的响应。

进一步的,mock平台向中间人代理返回的响应,无论是向中间人代理返回系统已配置的数据响应,还是向中间人代理返回非法的响应,均以mock二次响应结果的形式呈现。

一种基于中间人代理技术的mock测试装置,应用于上述mock测试方法,该装置包括:

请求发起模块,用于应用客户端发送mock数据请求,用于中间人代理发送应用服务端的mock一次响应结果查询请求;

拦截模块,用于中间人代理拦截客户端发送的mock数据请求;

数据接收模块,用于应用服务端接收中间人代理发送的客户端的mock数据请求,用于中间人代理接收应用服务器发送的mock一次响应结果以及mock平台的二次响应请求,用于mock平台接收中间人代理的查询请求;

地址信息提取模块,用于mock平台提取自身存储的应用客户端调用的请求路径对应的配置数据;

数据生成模块,用于应用服务端及mock平台生成相对应的mock数据;

数据推送模块,用于应用服务端及mock平台向中间人代理推送mock数据。

进一步的,所述的应用服务端和所述的mock脚本都基于数据库,相对于应用服务端和mock脚本都基于javascript的技术方案而言,本申请相对于测试人员的要求会更低,测试的适用面更广,其具体原因是因为,将javascript替换为数据库则避免了测试人员因不懂得javascript语言而无法进行测试的情况。

进一步的,本发明mock测试方法中所述应用客户端所用的手机优先为折叠智能手机,所述的折叠智能手机包括手机本体和手机套,其中,所述的手机套由主体部和伸展部组成,伸展部可根据智能手机的折叠与否而在主体部内进行水平运动;该手机套能够根据手机的折叠情况,转化为适应不同形态的手机套,以保护不同物理状态的手机。

所述的主体部由平铺的水平基板以及沿水平基板边缘弯曲向上的一号折弯边座组成,水平基板上设置有可供伸展部左右运动的滑动槽a,滑动槽a上下两侧对称设置有限位槽b。

所述的伸展部由平铺的推送板以及沿推送板边缘弯曲向上的二号折弯边座组成,推送板可滑动的嵌入主体部的滑动槽a内,推送板上下两侧设置有卡入主体部中限位槽b的限位块;所述的推送板与主体部的滑动槽a内侧壁通过一号弹簧连接;当手机处于完全折叠状态时,伸展部完全嵌入主体部内,当手机处于完全伸展状态时,伸展部在主体部内向左滑动到伸展部能够限位的最大距离,实现对完全折叠的手机的充分包覆;一号弹簧的作用是给伸展部施加向右的拉力,在本发明的手机套卡住手机时,在力的双向作用下,本发明手机套的左右两端能够给予手机左右方向上更紧固的夹持力。

所述主体部的一号折弯边座与伸展部的二号折弯边座上均设置有凹槽c;一号折弯边座的上端、右端和下端均各设置有一号卡紧压扣,且各一号卡紧压扣之间相互独立布置;二号折弯边座的上端、左端和下端均各设置有二号卡紧压扣,且各二号卡紧压扣之间也相互独立布置;所述的一号卡紧压扣与二号卡紧压扣均通过二号弹簧分别安装在对应折弯边座的凹槽c内。

参见本申请说明书附图中现有的两种折叠手机机型,各一号卡紧压扣之间相互独立布置,以及各二号卡紧压扣之间也相互独立布置,其目的都是为了便于各卡紧压扣能够更好的就手机上下左右四个方向上的不同情况,进行针对性的卡紧,增加本发明手机套的适应性;同时,所述的一号卡紧压扣与二号卡紧压扣均通过二号弹簧分别安装在对应折弯边座的凹槽c内,其目的一方面是使各加紧压扣能够随折叠手机在折叠时整体高度的增加而适应性拔高,从而实现对折叠后的手机上端的包覆,另一方面目的是使得本发明的各卡紧压扣在弹簧柔性伸缩力的情况下,也能够更好的包覆上端面呈倾斜状态的折叠手机;从而使得本发明的手机套能够全面且更好的适应如本申请附图所示的两种折叠手机的机型,并且,能够使各折叠手机在折叠与摊开阶段均能够收到手机套很好的保护。

与现有技术相比,本发明的有益效果是:

1、本发明通过引入中间人代理技术,当进行相关软件测试时,将应用客户端的请求在网络层进行拦截,动态注入mock服务,无需对应用客户端或服务器的任何改造,大大提升了适用范围,且不会带来额外的运行风险;

2、对于有网络交互的应用模型,本方案通过引入中间人代理服务和mock平台服务,应用客户端设备事先连接好此代理服务,实现了动态修改应用服务器响应的功能,无需应用客户端、应用服务器做任何代码改动或兼容;

3、本发明由于对应用代码的0侵入,从而避免了兼容代码,进而大大提高了软件程序运行的安全性。

4、本发明是一套通用方案,使得对任何客户端对象(手机app、web、桌面应用、小程序等)的mock测试成为可能,适应性更强。

附图说明

下面结合附图对本发明作进一步说明。

图1是本发明的交互时序图;

图2是本发明mock平台处理流程图;

图3是现有的两种主流折叠手机的简易折叠视图;

图4是本发明手机套的整体示意图;

图5是本发明手机套中主体部的立体结构示意图;

图6是图4的俯视图;

图7是图6中伸展部在主体部内向左滑动的局部剖视图;

图8是图4的侧视图的局部剖视图。

图中:手机套1、主体部11、伸展部12、水平基板111、一号折弯边座112、一号卡紧压扣113、推送板121、二号折弯边座122、一号弹簧123、二号卡紧压扣124、二号弹簧125、滑动槽a、限位槽b、凹槽c。

具体实施方式

根据图1-图8,对本发明实施方式的一种基于中间人代理技术的mock测试方法及测试装置做出如下说明:

所述的一种基于中间人代理技术的mock测试方法,包括以下流程:

应用客户端通过手机、pc的系统代理设置事先连接好中间人代理服务,应用客户端再发起mock数据请求,其无需应用客户端做任何改动;

中间人代理拦截所述mock数据请求并将客户端的mock数据请求透传至应用服务器;

应用服务器接收到中间人代理发送的mock数据请求后,响应中间人代理发送的所述mock数据请求,并返回对应的mock一次响应结果至中间人代理;

中间人代理接收到应用服务器发送的mock一次响应结果后,向mock平台发起针对mock一次响应结果的查询请求;

mock平台收到中间人代理的所述查询请求后,会根据自身配置情况进行接口匹配,响应中间人代理的所述查询请求,并返回对应的mock二次响应结果至中间人代理;

中间人代理接收到mock平台发送的mock二次响应结果后,判断的mock二次响应结果的合法性,若非法则返回mock一次响应结果,若合法则返回mock二次响应结果;

所述的中间人代理是一个网络代理服务,可以运行在本地,也可以运行在云端;

所述的mock平台是一个云端服务,可以通过此平台人工配置接口的输入数据和输出数据,也处理中间人代理的查询请求。

进一步的,所述的mock平台接收的中间人代理针对mock一次响应结果的查询请求,该请求中包含了应用客户端请求的全部信息。

进一步的,所述的mock平台从中间人代理的查询请求中解析出应用客户端调用的接口信息。

进一步的,解析出的应用客户端调用的接口信息可以是请求路径。

进一步的,所述的mock平台查询自身是否存储有mock平台从中间人代理的查询请求中解析出应用客户端调用的请求路径对应的配置数据,各配置数据事先通过人工录入mock平台。

进一步的,所述的mock平台如果查询出自身存储有应用客户端调用的请求路径对应的配置数据,则mock平台向中间人代理返回系统已配置的数据响应;若没有存储应用客户端调用的请求路径对应的配置数据,则mock平台向中间人代理返回非法的响应。

进一步的,mock平台向中间人代理返回的响应,无论是向中间人代理返回系统已配置的数据响应,还是向中间人代理返回非法的响应,均以mock二次响应结果的形式呈现。

一种基于中间人代理技术的mock测试装置,应用于上述mock测试方法,该装置包括:

请求发起模块,用于应用客户端发送mock数据请求,用于中间人代理发送应用服务端的mock一次响应结果查询请求;

拦截模块,用于中间人代理拦截客户端发送的mock数据请求;

数据接收模块,用于应用服务端接收中间人代理发送的客户端的mock数据请求,用于中间人代理接收应用服务器发送的mock一次响应结果以及mock平台的二次响应请求,用于mock平台接收中间人代理的查询请求;

地址信息提取模块,用于mock平台提取自身存储的应用客户端调用的请求路径对应的配置数据;

数据生成模块,用于应用服务端及mock平台生成相对应的mock数据;

数据推送模块,用于应用服务端及mock平台向中间人代理推送mock数据。

进一步的,所述的应用服务端和所述的mock脚本都基于数据库,相对于应用服务端和mock脚本都基于javascript的技术方案而言,本申请相对于测试人员的要求会更低,测试的适用面更广,其具体原因是因为,将javascript替换为数据库则避免了测试人员因不懂得javascript语言而无法进行测试的情况。

本发明通过引入中间人代理技术,当进行相关软件测试时,将应用客户端的请求在网络层进行拦截,动态注入mock服务,无需对应用客户端或服务器的任何改造,大大提升了适用范围,且不会带来额外的运行风险,灵活性更高,同时还大大提高了软件程序运行的安全性。

进一步的,本发明mock测试方法中所述应用客户端所用的手机优先为折叠智能手机,所述的折叠智能手机包括手机本体和手机套1,其中,所述的手机套1由主体部11和伸展部12组成,伸展部12可根据智能手机的折叠与否而在主体部11内进行水平运动;该手机套能够根据手机的折叠情况,转化为适应不同形态的手机套,以保护不同物理状态的手机。

所述的主体部11由平铺的水平基板111以及沿水平基板111边缘弯曲向上的一号折弯边座112组成,水平基板111上设置有可供伸展部12左右运动的滑动槽a,滑动槽a上下两侧对称设置有限位槽b。

所述的伸展部12由平铺的推送板121以及沿推送板121边缘弯曲向上的二号折弯边座122组成,推送板121可滑动的嵌入主体部11的滑动槽a内,推送板121上下两侧设置有卡入主体部11中限位槽b的限位块;所述的推送板121与主体部11的滑动槽a内侧壁通过一号弹簧123连接;当手机处于完全折叠状态时,伸展部12完全嵌入主体部11内,当手机处于完全伸展状态时,伸展部12在主体部11内向左滑动到伸展部12能够限位的最大距离,实现对完全折叠的手机的充分包覆;一号弹簧123的作用是给伸展部12施加向右的拉力,在本发明的手机套卡住手机时,在力的双向作用下,本发明手机套的左右两端能够给予手机左右方向上更紧固的夹持力。

所述主体部11的一号折弯边座112与伸展部12的二号折弯边座122上均设置有凹槽c;一号折弯边座112的上端、右端和下端均各设置有一号卡紧压扣113,且各一号卡紧压扣113之间相互独立布置;二号折弯边座122的上端、左端和下端均各设置有二号卡紧压扣124,且各二号卡紧压扣124之间也相互独立布置;所述的一号卡紧压扣113与二号卡紧压扣124均通过二号弹簧125分别安装在对应折弯边座的凹槽c内。

参见本申请说明书附图中现有的两种折叠手机机型,各一号卡紧压扣113之间相互独立布置,以及各二号卡紧压扣124之间也相互独立布置,其目的都是为了便于各卡紧压扣能够更好的就手机上下左右四个方向上的不同情况,进行针对性的卡紧,增加本发明手机套的适应性;同时,所述的一号卡紧压扣113与二号卡紧压扣124均通过二号弹簧125分别安装在对应折弯边座的凹槽c内,其目的一方面是使各加紧压扣能够随折叠手机在折叠时整体高度的增加而适应性拔高,从而实现对折叠后的手机上端的包覆,另一方面目的是使得本发明的各卡紧压扣在弹簧柔性伸缩力的情况下,也能够更好的包覆上端面呈倾斜状态的折叠手机;从而使得本发明的手机套能够更好的适应如本申请附图所示的两种折叠手机的机型;值得强调的是,本申请手机套的各项运动,均通过人为手动操作。

在本发明的描述中,需要理解的是,指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明保护范围的限制。

虽然本发明是通过具体实施例进行说明的,本领域技术人员应当明白,在不脱离本发明范围的情况下,还可以对本发明进行各种变换及等同替代。另外,针对特定情形或材料,可以对本发明做各种修改,而不脱离本发明的范围。因此,本发明不局限于所公开的具体实施例,而应当包括落入本发明权利要求范围内的全部实施方式。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1