发明内容
本发明的主要目的在于提供一种模拟服务器响应方法及***,旨在减小因为外部***因素造成的测试进度拖延以及简化为前端测试提供服务的后台服程序的配置。
为实现上述目的,本发明提供一种模拟服务器响应方法,所述模拟服务器响应方法包括以下步骤:
根据通过第一可视化窗口获取的信息设置预设拦截规则;
接收终端对目标服务器的请求;
判断所述请求是否匹配所述预设拦截规则;
若是,则根据所述预设拦截规则响应所述终端;
若否,则透传所述请求至所述目标服务器。
优选地,所述根据通过第一可视化窗口获取的信息设置预设拦截规则包括:
提供所述第一可视化窗口,所述第一可视化窗口用于接收新建的拦截规则;
接收所述新建的拦截规则,并保存所述新建的拦截规则为所述预设拦截规则。
优选地,在接收所述新建的拦截规则,并保存所述新建的拦截规则为所述预设拦截规则之后,所述根据通过第一可视化窗口获取的信息设置预设拦截规则还包括:
提供第二可视化窗口,所述第二可视化窗口用于接收对已经保存的拦截规则的查询和显示查询结果;
接收从所述显示查询结果中选择的拦截规则为要使用的所述预设拦截规则。
优选地,当所述请求匹配所述预设拦截规则时,所述根据所述预设拦截规则响应所述终端还包括:
获取所述请求中的终端信息;
根据所述终端信息发送模拟响应至所述终端。
优选地,所述判断所述请求是否匹配所述预设拦截规则包括:
获取所述请求中的请求地址;
判断所述请求地址是否包括指定的字段;
若是,则判断所述请求匹配预设拦截规则;
若否,则判断所述请求不匹配预设拦截规则。
此外还提供一种模拟服务器响应***,所述模拟服务器响应***包括:
设置模块,用于根据通过第一可视化窗口获取的信息设置预设拦截规则;
接收模块,用于接收终端对目标服务器的请求;
判断模块,用于判断所述请求是否匹配所述预设拦截规则;
拦截模块,用于当所述请求匹配所述预设拦截规则时,根据所述预设拦截规则响应所述终端;
透传模块,用于当所述请求不匹配所述预设拦截规则时,则透传所述请求至所述目标服务器。
优选地,所述设置模块包括:
新建单元,用于提供所述第一可视化窗口,所述第一可视化窗口用于接收新建的拦截规则;
第一接收单元,用于接收所述新建的拦截规则,并保存所述新建的拦截规则为所述预设拦截规则。
优选地,所述设置模块还包括:
查询单元,用于提供第二可视化窗口,所述第二可视化窗口用于接收对已经保存的拦截规则的查询和显示查询结果;
第二接收单元,用于接收从所述显示查询结果中选择的拦截规则为要使用的所述预设拦截规则。
优选地,所述拦截模块包括:
第一获取单元,用于获取所述请求中的终端信息;
发送单元,用于根据所述终端信息发送模拟响应至所述终端。
优选地,所述判断模块包括:
第二获取单元,用于获取所述请求中的请求地址;
第一判断单元,用于判断所述请求地址是否包括指定的字段;
第二判断单元,用于当所述请求地址包括指定的字段时,判断所述请求匹配预设拦截规则;
第三判断单元,用于当所述请求地址不包括指定的字段时,判断所述请求不匹配预设拦截规则。
本发明通过根据通过第一可视化窗口获取的信息设置预设拦截规则;接收终端对目标服务器的请求;判断所述请求是否匹配所述预设拦截规则;若是,则根据所述预设拦截规则响应所述终端;若否,则透传所述请求至所述目标服务器。本发明通过为用户提供可视化窗口,使得用户无需安装,直接访问页面,便能进行设置预设拦截规则,从而方便的进行模拟响应,为前端提供了预设的数据,减小因为外部***因素造成的测试进度拖延;同时可视化操作简单,用户只需关注请求匹配规则以及返回数据,无需关心其他细节,可以实现快速地对模拟服务器进行配置,简化为前端测试提供服务的后台服程序的配置。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种模拟服务器响应方法,参照图1,在本发明模拟服务器响应方法第一实施例中,所述模拟服务器响应方法包括以下步骤:
步骤S10,根据通过第一可视化窗口获取的信息设置预设拦截规则;
步骤S20,接收终端对目标服务器的请求;
所述终端为用户使用浏览器或其他能与服务器进行通信的客户端,在本实施例中所述终端为接收用户指令和所述目标服务局进行通信的代理服务器。
步骤S30,判断所述请求是否匹配所述预设拦截规则;
若是,则执行步骤S40,根据所述预设拦截规则响应所述终端;
若否,则执行步骤S50,透传所述请求至所述目标服务器。
当用户使用所述代理服务器和所述目标服务器进行通信时,拦截所述代理服务器发送的所有请求,并对所述请求使用预设拦截规则进行过滤,所述预设拦截规则根据所述请求的内容,判断是否匹配预设规则,当符合所述预设拦截规则时,阻止所述请求进一步传送,并根据所述预设拦截规则响应所述终端,所述响应为预设的响应信息,所述响应信用于模拟所述目标服务器的响应。
具体地在本实施例中,用户打开指定页面,根据页面提示设置自己需要的预设拦截规则。所述预设拦截规则具体为,当请求的目标地址中包含以下字段时:“fastpayment/redbonus/pay_success_get_tips.html”,为所述终端返回一个模拟所述目标服务器响应的模拟数据。当接受到所述终端访问所述目标服务器的请求时,通过解析所述请求,获取所述请求的请求地址为:“www.vip.com/fastpayment/redbonus/pay_success_get_tips.html”,则为所述终端返回预设的模拟所述目标服务器响应的模拟数据作为模拟响应信息;若所述请求的请求地址为:“www.vip.com/notnonap/redbonus/pay_success_get_tips.html”,则不匹配所述预设拦截规则,直接透传所述请求至所述目标服务器。
本实施例中为用户提供可视化窗口,使得用户无需安装,直接访问页面,便能进行设置预设拦截规则,从而方便的进行模拟响应,为前端提供了预设的数据,减小因为外部***因素造成的测试进度拖延;同时可视化操作简单,用户只需关注请求匹配规则以及返回数据,无需关心其他细节,可以实现快速地对模拟服务器进行配置,简化为前端测试提供服务的后台服程序的配置。
需要说明的是,有些实施例中所述预设拦截规则还会根据所述请求判断所述终端的类型,在匹配预设规则后,针对不同的终端返回不同的预设信息作为模拟响应。
请参照图2,基于本发明模拟服务器响应方法第一实施例,在本发明模拟服务器响应方法第二实施例中,所述根据通过第一可视化窗口获取的信息设置预设拦截规则包括:
步骤S11,提供所述第一可视化窗口,所述第一可视化窗口用于接收新建的拦截规则;
步骤S12,接收所述新建的拦截规则,并保存所述新建的拦截规则为所述预设拦截规则。
在所述第一可视化窗口的输入信息包括:所要拦截终端的IP地址、所要拦截所述目标服务器的域名、所述拦截请求的地址包括的字段和拦截后预设的响应信息。通过使用表单的形式,使用户在有提示信息的前提下快速的创建拦截规则,使得创建过程简单又快速;同时因为拦截规则中包括终端的IP地址,使得针对每个不同来源服务器能够返回不同的结果,各服务器可以独立配置规则,互不干扰。
请参照图3,基于本发明模拟服务器响应方法第二实施例,在本发明模拟服务器响应方法第三实施例中,所述根据通过第一可视化窗口获取的信息设置预设拦截规则包括:
步骤S13,提供第二可视化窗口,所述第二可视化窗口用于接收对已经保存的拦截规则的查询和显示查询结果;
步骤S14,接收从所述显示查询结果中选择的拦截规则为要使用的所述预设拦截规则。
在用户保存所述拦截规则后,在保存某些特定规则汇合成的规则集作为应用场景,所述应用该场景规则集可以多次复现某一特定场景,无需再配置测试数据,实现了拦截规则的复用。
具体地在本实施例中,所述第二可视化窗口为另一网页,在所述第二可视化窗口中提供了表单,使得用户可以根据自己的需要检索已经保存的拦截规则,在所述第二可视化窗口返回结果后,用户根据自己需要在所述结果中选择要实施的拦截规则,在接收到用户所选择的拦截规则后,设置所选择的拦截规则为要使用的所述预设拦截规则。
请参照图4,基于本发明模拟服务器响应方法第一实施例,在本发明模拟服务器响应方法第四实施例中,当所述请求匹配所述预设拦截规则时,所述步骤S40包括:
步骤S41,获取所述请求中的终端信息;
步骤S42,根据所述终端信息发送模拟响应至所述终端。
对每个请求的来源进行区分,针对每个不同类型的请求返回不同的模拟响应,对于各个终端的请求进行独立拦截规则,互不干扰,从而减少配置次数。
在本实施例中,当接收的所述请求来源为A时,所述请求的地址符合预设拦截规则,为其发送专门为A准备的预设响应,所述预设响应为符合A的模拟所述目标服务器的响应;当接收的所述请求来源为B时,所述请求的地址和前述A的请求地址相同,都符合预设拦截规则,为其发送专门为B准备的预设响应,所述预设响应为符合B的模拟所述目标服务器的响应。
请参照图5,基于本发明模拟服务器响应方法第一实施例,在本发明模拟服务器响应方法第五实施例中,所述判断所述请求是否匹配所述预设拦截规则包括:
步骤S31,获取所述请求中的请求地址;
步骤S32,判断所述请求地址是否包括指定的字段;
若是,则执行步骤S33,判断所述请求匹配预设拦截规则;
若否,则执行步骤S34,判断所述请求不匹配预设拦截规则。
通过使用请求中的请求地址作为判断条件,具体在本实施例中,判断所述请求地址中是否包括指定的字段“fastpayment”,例如请求地址为:“www.vip.com/fastpayment/redbonus/pay_success_get_tips.html”,则判断所述请求匹配预设拦截规则;如果请求地址为:“www.vip.com/fastpay_____ment/redbonus/pay_success_get_tips.html”,则判断所述请求不匹配预设拦截规则。通过使用请求地址作为判断条件,加快了对所述请求是否匹配所述预设拦截规则的判断,提高了处理效率。
本发明提供一种模拟服务器响应***,参照图6,在本发明模拟服务器响应***第一实施例中,所述模拟服务器响应***包括:
设置模块10,用于根据通过第一可视化窗口获取的信息设置预设拦截规则;
接收模块20,用于接收终端对目标服务器的请求;
所述终端为用户使用浏览器或其他能与服务器进行通信的客户端,在本实施例中所述终端为接收用户指令和所述目标服务局进行通信的代理服务器。
判断模块30,用于判断所述请求是否匹配所述预设拦截规则;
拦截模块40,用于当所述请求匹配所述预设拦截规则时,根据所述预设拦截规则响应所述终端;
透传模块50,用于当所述请求不匹配所述预设拦截规则时,则透传所述请求至所述目标服务器。
当用户使用所述代理服务器和所述目标服务器进行通信时,拦截所述代理服务器发送的所有请求,并对所述请求使用预设拦截规则进行过滤,所述预设拦截规则根据所述请求的内容,判断是否匹配预设规则,当符合所述预设拦截规则时,阻止所述请求进一步传送,并根据所述预设拦截规则响应所述终端,所述响应为预设的响应信息,所述响应信用于模拟所述目标服务器的响应。
具体地在本实施例中,用户打开指定页面,根据页面提示设置自己需要的预设拦截规则。所述预设拦截规则具体为,当请求的目标地址中包含以下字段时:“fastpayment/redbonus/pay_success_get_tips.html”,为所述终端返回一个模拟所述目标服务器响应的模拟数据。当接受到所述终端访问所述目标服务器的请求时,通过解析所述请求,获取所述请求的请求地址为:“www.vip.com/fastpayment/redbonus/pay_success_get_tips.html”,则为所述终端返回预设的模拟所述目标服务器响应的模拟数据作为模拟响应信息;若所述请求的请求地址为:“www.vip.com/notnonap/redbonus/pay_success_get_tips.html”,则不匹配所述预设拦截规则,直接透传所述请求至所述目标服务器。
本实施例中为用户提供可视化窗口,使得用户无需安装,直接访问页面,便能进行设置预设拦截规则,从而方便的进行模拟响应,为前端提供了预设的数据,减小因为外部***因素造成的测试进度拖延;同时可视化操作简单,用户只需关注请求匹配规则以及返回数据,无需关心其他细节,可以实现快速地对模拟服务器进行配置,简化为前端测试提供服务的后台服程序的配置。
需要说明的是,有些实施例中所述预设拦截规则还会根据所述请求判断所述终端的类型,在匹配预设规则后,针对不同的终端返回不同的预设信息作为模拟响应。
请参照图7,基于本发明模拟服务器响应***第一实施例,在本发明模拟服务器响应***第二实施例中,所述设置模块包括:
新建单元11,用于提供所述第一可视化窗口,所述第一可视化窗口用于接收新建的拦截规则;
第一接收单元12,用于接收所述新建的拦截规则,并保存所述新建的拦截规则为所述预设拦截规则。
在所述第一可视化窗口的输入信息包括:所要拦截终端的IP地址、所要拦截所述目标服务器的域名、所述拦截请求的地址包括的字段和拦截后预设的响应信息。通过使用表单的形式,使用户在有提示信息的前提下快速的创建拦截规则,使得创建过程简单又快速;同时因为拦截规则中包括终端的IP地址,使得针对每个不同来源服务器能够返回不同的结果,各服务器可以独立配置规则,互不干扰。
请参照图8,基于本发明模拟服务器响应***第二实施例,在本发明模拟服务器响应***第三实施例中,所述设置模块还包括:
查询单元13,用于提供第二可视化窗口,所述第二可视化窗口用于接收对已经保存的拦截规则的查询和显示查询结果;
第二接收单元14,用于接收从所述显示查询结果中选择的拦截规则为要使用的所述预设拦截规则。
在用户保存所述拦截规则后,在保存某些特定规则汇合成的规则集作为应用场景,所述应用该场景规则集可以多次复现某一特定场景,无需再配置测试数据,实现了拦截规则的复用。
具体地在本实施例中,所述第二可视化窗口为另一网页,在所述第二可视化窗口中提供了表单,使得用户可以根据自己的需要检索已经保存的拦截规则,在所述第二可视化窗口返回结果后,用户根据自己需要在所述结果中选择要实施的拦截规则,在接收到用户所选择的拦截规则后,设置所选择的拦截规则为要使用的所述预设拦截规则。
请参照图9,基于本发明模拟服务器响应***第一实施例,在本发明模拟服务器响应***第四实施例中,所述拦截模块40包括:
第一获取单元41,用于获取所述请求中的终端信息;
发送单元42,用于根据所述终端信息发送模拟响应至所述终端。
对每个请求的来源进行区分,针对每个不同类型的请求返回不同的模拟响应,对于各个终端的请求进行独立拦截规则,互不干扰,从而减少配置次数。
在本实施例中,当第一获取单元41确认接收的所述请求来源为A时,所述请求的地址符合预设拦截规则,发送单元42为其发送专门为A准备的预设响应,所述预设响应为符合A的模拟所述目标服务器的响应;当当第一获取单元41确认接收的所述请求来源为B时,所述请求的地址和前述A的请求地址相同,都符合预设拦截规则,发送单元42为其发送专门为B准备的预设响应,所述预设响应为符合B的模拟所述目标服务器的响应。
请参照图10,基于本发明模拟服务器响应***第一实施例,在本发明模拟服务器响应***第五实施例中,所述判断模块包括:
第二获取单元31,用于获取所述请求中的请求地址;
第一判断单元32,用于判断所述请求地址是否包括指定的字段;
第二判断单元33,用于当所述请求地址包括指定的字段时,判断所述请求匹配预设拦截规则;
第三判断单元34,用于当所述请求地址不包括指定的字段时,判断所述请求不匹配预设拦截规则。
通过使用请求中的请求地址作为判断条件,具体在本实施例中,判断所述请求地址中是否包括指定的字段“fastpayment”,例如请求地址为:“www.vip.com/fastpayment/redbonus/pay_success_get_tips.html”,则判断所述请求匹配预设拦截规则;如果请求地址为:“www.vip.com/fastpay_____ment/redbonus/pay_success_get_tips.html”,则判断所述请求不匹配预设拦截规则。通过使用请求地址作为判断条件,加快了对所述请求是否匹配所述预设拦截规则的判断,提高了处理效率。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。