CN111708702A - 模拟测试方法、客户端、服务端、***与可读存储介质 - Google Patents
模拟测试方法、客户端、服务端、***与可读存储介质 Download PDFInfo
- Publication number
- CN111708702A CN111708702A CN202010559834.1A CN202010559834A CN111708702A CN 111708702 A CN111708702 A CN 111708702A CN 202010559834 A CN202010559834 A CN 202010559834A CN 111708702 A CN111708702 A CN 111708702A
- Authority
- CN
- China
- Prior art keywords
- request
- test
- simulation
- test request
- client
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种模拟测试方法,包括:若拦截到测试请求,则基于所述测试请求的服务标识,确定所述测试请求是否需要模拟;若需要模拟,则确定所述测试请求的请求类型;若所述请求类型为中间件请求,则基于所述测试请求的报文信息,将所述测试请求的请求类型转换成约定请求,并将转换后的所述测试请求发送至服务端;接收所述服务端基于所述测试请求返回的模拟对象。本发明还公开了一种客户端、服务端、***和计算机可读存储介质。本发明在进行模拟测试过程中,通过协议转换,将测试请求的请求类型统一转换成约定请求,使得服务端不需要再针对不同的消息中间件部署不同的规则,提高模拟测试的通用性。
Description
技术领域
本发明涉及金融科技(Fintech)技术领域,尤其涉及模拟测试方法、客户端、服务端、***与可读存储介质。
背景技术
近年来,随着金融科技(Fintech),尤其是互联网金融的不断发展,测试技术被引入银行等金融机构的日常开发中。在银行等金融机构的日常开发过程中,由于业务原因,业务***很少有孤立存在的,它们或多或少需要使用其他***提供的服务,因此,在对开发的业务***进行测试的过程中,会因为业务***依赖其他***,而其他***构造复杂、耗时或者根本无法构造的情况,使得测试难以进行,如A***的服务需要B***的服务支持,但B***还未搭建成功,此时,A***的服务是否正常的测试无法进行,因此,如何使依赖外部服务对象,且外部服务对象不容易构造或者不容易获取的测试顺利进行,是银行等金融机构需要解决的技术问题。
现有技术中,一般是采用mock测试(在测试过程中,对于一些不容易构造/获取的对象,创建一个mock对象来模拟对象的行为),如搭建Mock Server(专门实现mock功能的一个服务),在测试客户端测试被测***时,通过模拟被测***依赖的外部服务对象,对测试进行响应,从而解除测试过程中被测***与外部服务对象之间的依赖,使得测试顺利进行。
但目前Mock Server支持的协议是固定的,在面对使用消息中间件进行通信的场景时,由于消息中间件不统一,需要针对每一种消息中间件部署一套规则,较为死板,无法适用更多的应用场景。
发明内容
本发明的主要目的在于提出一种模拟测试方法、客户端、服务端、***与计算机可读存储介质,旨在提高模拟测试的通用性。
为实现上述目的,本发明提供一种模拟测试方法,所述模拟测试方法应用于客户端,所述模拟测试方法包括如下步骤:
若拦截到测试请求,则基于所述测试请求的服务标识,确定所述测试请求是否需要模拟;
若需要模拟,则确定所述测试请求的请求类型;
若所述请求类型为中间件请求,则基于所述测试请求的报文信息,将所述测试请求的请求类型转换成约定请求,并将转换后的所述测试请求发送至服务端;
接收所述服务端基于所述测试请求返回的模拟对象。
优选地,所述若拦截到测试请求,则基于所述测试请求的服务标识,确定所述测试请求是否需要模拟的步骤包括:
若拦截到所述测试请求,则基于所述测试请求的请求类型,确定所述测试请求对应的拦截规则;
基于所述拦截规则和所述测试请求的服务标识,确定所述测试请求是否需要模拟。
优选地,所述若所述请求类型为中间件请求,则基于所述测试请求的报文信息,将所述测试请求的请求类型转换成约定请求的步骤包括:
若所述请求类型为中间件请求,则确定所述服务端的配置参数,并基于所述测试请求的报文信息,确定所述测试请求的主题信息和属性信息;
基于所述配置参数、所述主题信息和所述属性信息,将所述测试请求的请求类型转换成约定请求。
优选地,所述基于所述配置参数、所述主题信息和所述属性信息,将所述测试请求的请求类型转换成约定请求的步骤包括:
基于所述配置参数,构建所述测试请求约定的路径地址;
将所述主题信息和所述属性信息拼接到所述路径地址中,得到请求类型为约定请求的测试请求。
此外,为实现上述目的,本发明还提供一种客户端,所述客户端包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的模拟测试程序,所述模拟测试程序被所述处理器执行时实现如上所述的模拟测试方法的步骤。
此外,为实现上述目的,本发明还提供一种模拟测试方法,所述模拟测试方法应用于服务端,所述模拟测试方法包括如下步骤:
若接收到客户端发送的测试请求,则基于所述测试请求的服务标识和属性信息,确定所述测试请求对应的目标模拟规则;
基于所述目标模拟规则,生成所述测试请求对应的模拟对象,并将所述模拟对象返回所述客户端。
优选地,所述基于所述目标模拟规则,生成所述测试请求对应的模拟对象的步骤包括:
基于所述目标模拟规则中的动态脚本,生成返回主体内容;
基于所述测试请求的请求类型,构建所述目标模拟规则对应的响应报文;
基于所述返回主体内容和所述响应报文,生成模拟对象。
优选地,所述若接收到客户端发送的测试请求,则基于所述测试请求的服务标识和属性信息,确定所述测试请求对应的目标模拟规则的步骤包括:
若接收到客户端发送的测试请求,则基于所述服务标识和所述属性信息,在缓存的模拟规则中确定与所述测试请求匹配的目标模拟规则;
若所述缓存中不存在所述目标模拟规则,则基于所述服务标识和所述属性信息,在数据库的模拟规则中确定与所述测试请求匹配的目标模拟规则。
优选地,所述模拟测试方法还包括:
若在显示界面接收到基于所述目标模拟规则触发的修改指令,则基于所述修改指令对应的修改信息,更新所述目标模拟规则,并将更新后的所述目标模拟规则储存于所述数据库中;
基于所述数据库中的所述目标模拟规则,对所述缓存中的模拟规则进行热更新。
此外,为实现上述目的,本发明还提供一种服务端,所述服务端包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的模拟测试程序,所述模拟测试程序被所述处理器执行时实现如上所述的模拟测试方法的步骤。
此外,为实现上述目的,本发明还提供一种模拟测试方法,所述模拟测试方法应用于测试***,所述测试***包括客户端和服务端,所述模拟测试方法包括如下步骤:
若在客户端拦截到测试请求,则基于所述测试请求的服务标识,确定所述测试请求是否需要模拟;
若需要模拟,则确定所述测试请求的请求类型;
若所述请求类型为中间件请求,则基于所述测试请求的报文信息,控制所述客户端将所述测试请求的请求类型转换成约定请求,并将转换后的所述测试请求发送至服务端;
控制所述服务端基于所述测试请求的服务标识和属性信息,确定所述测试请求对应的目标模拟规则;
控制所述服务端按照所述模拟规则生成所述测试请求对应的模拟对象,并将所述模拟对象返回所述客户端。
此外,为实现上述目的,本发明还提供一种测试***,所述测试***包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的模拟测试程序,所述模拟测试程序被所述处理器执行时实现如上所述的模拟测试方法的步骤。
本发明提出的模拟测试方法,若拦截到测试请求,则基于所述测试请求的服务标识,确定所述测试请求是否需要模拟;若需要模拟,则确定所述测试请求的请求类型;若所述请求类型为中间件请求,则基于所述测试请求的报文信息,将所述测试请求的请求类型转换成约定请求,并将转换后的所述测试请求发送至服务端;接收所述服务端基于所述测试请求返回的模拟对象。本发明在进行模拟测试过程中,通过协议转换,将测试请求的请求类型统一转换成约定请求,使得服务端不需要再针对不同的消息中间件部署不同的规则,提高模拟测试的通用性。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图;
图2为本发明模拟测试方法第一实施例的流程示意图;
图3为本发明模拟测试方法第二实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图。
本发明实施例设备可以是客户端或服务端设备。
如图1所示,该设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的设备结构并不构成对设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作***、网络通信模块、用户接口模块以及模拟测试程序。
其中,操作***是管理和控制模拟测试设备与软件资源的程序,支持网络通信模块、用户接口模块、模拟测试程序以及其他程序或软件的运行;网络通信模块用于管理和控制网络接口1002;用户接口模块用于管理和控制用户接口1003。
在图1所示的模拟测试设备中,所述模拟测试设备通过处理器1001调用存储器1005中存储的模拟测试程序,并执行下述模拟测试方法各个实施例中的操作。
基于上述硬件结构,提出本发明模拟测试方法实施例。
参照图2,图2为本发明模拟测试方法第一实施例的流程示意图,所述模拟测试方法应用于客户端,所述模拟测试方法包括:
步骤S10,若拦截到测试请求,则基于所述测试请求的服务标识,确定所述测试请求是否需要模拟;
步骤S20,若需要模拟,则确定所述测试请求的请求类型;
步骤S30,若所述请求类型为中间件请求,则基于所述测试请求的报文信息,将所述测试请求的请求类型转换成约定请求,并将转换后的所述测试请求发送至服务端;
步骤S40,接收所述服务端基于所述测试请求返回的模拟对象。
本实施例的模拟测试方法运用于理财机构或者银行***等金融机构的模拟测试设备中,模拟测试设备在本实施例中为客户端,客户端包括待测应用程序、请求拦截模块、协议转换模块和配置文件,其中,待测应用程序用于响应用户基于客户端触发的测试指令,从而使客户端执行待测应用程序的逻辑,具体为调用下游的服务接口,也即向下游服务接口发起测试请求;而请求拦截模块用于拦截测试请求,并根据配置文件中的配置规则,确定拦截到的测试请求是否需要mock模拟,若需要,则将测试请求发送至协议转换模块进行处理,在具体实施时,客户端需要引入一个jar包,该jar包使用AspectJ(一个面向切面的框架)的切面技术对客户端执行待测应用程序触发的测试请求进行拦截;而协议转换模块用于接收请求拦截模块发送过来的需要mock的测试请求,并确定测试请求的请求类型是否是中间件请求,若是,则将测试请求的请求类型转换为约定请求,并把转换后的测试请求发送给服务端;而配置文件用于提供是否对当前测试请求进行mock的标准,该标准由用户事先进行配置,因此,客户端可根据配置文件中配置的服务标识,确定当前测试请求是否需要mock。
本实施例的客户端若拦截到测试请求,且确定当前拦截到的测试请求需要模拟,则进一步确定测试请求的请求类型,在确定测试请求的请求类型为中间件请求时,对测试请求的通信协议进行转换,具体转换为服务端可接收和响应的约定请求,也即请求类型与通信协议的类型对应,如http协议,则其对应http请求等,最后将测试请求发送至服务端,由服务端模拟外部服务对象进行响应,使得不依赖外部服务对象即可完成测试操作,且由于具备协议转换功能,使得采用不同MQ中间件,如RocketMQ等,进行通信的场景也能适用,提高模拟测试的通用性。
以下将对各个步骤进行详细说明:
步骤S10,若拦截到测试请求,则基于所述测试请求的服务标识,确定所述测试请求是否需要模拟;
在本实施例中,若客户端拦截到测试请求,则根据测试请求的uniqueId服务标识,确定测试请求是否需要模拟,其中,uniqueId为服务的唯一标识,包括请求路径和topic信息(主题信息),具体的,当测试请求的请求类型为约定请求,如http请求时,uniqueId为请求路径;当测试请求的请求类型为中间件请求,如rockermq请求时,uniqueId为topic信息。
也即,若客户端拦截到测试请求,则先确定当前测试请求的请求类型,从而根据请求类型确定当前测试请求的uniqueId,再根据uniqueId确定当前测试请求是否需要模拟。
在具体实施时,客户端引入dummy.jar依赖包,dummy.jar从配置文件的属性信息中读取切入点配置信息和拦截配置信息,生成代理对象,后续对拦截方法的调用将转换为对代理对象中方法的调用,具体的,客户端接收切入点配置信息和拦截配置参数,并基于切入点配置信息和拦截配置参数,生成配置文件。也即客户端根据用户输入的切入点配置信息和拦截配置信息,生成配置文件,以配置文件的方式定义测试请求是否需要mock,配置文件的方式具有低侵入性,不影响客户端代码。
其中,切入点配置信息与aspectj的切入点定义一致,指的是需要应用mock的方法,一种切入点配置信息的表达式如下:
execution(public*org.apache.http.impl.client.*.execute(*))
其中,execution()为表达式主体,public为定义的目标方法的访问修饰符,第一个*号表示返回类型,*号表示所有的类型,org.apache.http.impl.client.表示类全路径名(包名+类名),也即需要拦截的对象,第二个*号表示类名,*号表示所有的类,最后一个*号表示方法名,*号表示所有的方法。
而拦截配置信息的表达式如下:
dummy.[schema].[uniqueId].enable
其中schema为需要拦截的测试请求,其中,对于约定请求,如http请求,schema为http,对于中间件请求,如rocketmq请求,schema为rmb,uniqueId为服务的唯一标识,也即服务标识,当测试请求的请求类型为http请求时,uniqueId为请求路径,当测试请求的请求类型为rockermq请求时,uniqueId为topic信息。配置状态设置为true代表需要进行mock,如果未配置或者配置状态为false则代表不需要mock。
客户端根据切入点配置信息和拦截配置信息,生成配置文件,之后,根据配置文件,以及测试请求的服务标识,对测试请求进行拦截,确定其是否需要mock。
进一步地,在一实施例中,步骤S10包括:
步骤a1,若拦截到所述测试请求,则基于所述测试请求的请求类型,确定所述测试请求对应的拦截规则;
在一实施例中,由于测试请求的请求类型包括约定请求,如http请求,和中间件请求,如rocketMq请求,因此,其拦截规则也不尽相同,具体如前述说明,当测试请求的请求类型为http请求时,拦截配置信息的表达式,也即拦截规则为:dummy.[http].[请求路径].enable;当测试请求的请求类型为rockermq请求时,拦截配置信息的表达式,也即拦截规则为:dummy.[rmb].[topic信息].enable等。
步骤a2,基于所述拦截规则确定待拦截服务标识,并确定所述待拦截服务标识中是否存在与所述测试请求的服务标识匹配的目标服务标识;
然后,客户端根据拦截规则和测试请求的服务标识,确定当前测试请求是否需要模拟。
具体,根据拦截规则,确定待拦截服务标识,也即事先在客户端中配置需要模拟的服务标识作为待拦截服务标识,当客户端响应用户下发的测试指令,执行待测应用程序,从而触发调用下游的服务接口的测试请求时,判断该测试请求是否与待拦截服务标识匹配,也即,确定待拦截服务标识中是否存在与测试请求的服务标识匹配的目标服务标识。
步骤a3,若存在,则确定所述目标服务标识的配置状态,并基于所述配置状态确定所述测试请求是否需要模拟。
若存在,则进一步确定目标服务标识的配置状态,其中,如前所述,配置状态为预设状态,如true代表需要进行mock,如果未配置或者配置状态为false则代表不需要mock,因此,可根据配置状态确定测试请求是否需要模拟。
如事先在配置文件配置调用A***的测试请求都拦截模拟,也即服务标识为A的测试请求都拦截模拟,也即服务标识为A的配置状态为true,则在拦截到测试请求时,判断该测试请求的服务标识是否为A,以此确定是否需要对当前测试请求进行拦截模拟。
步骤S20,若需要模拟,则确定所述测试请求的请求类型。
在本实施例中,若客户端确定当前测试请求需要模拟,则将其发送至协议转换模块,由协议转换模块确定测试请求的请求类型,其中,请求类型包括约定请求和中间件请求,需要解释是,约定请求指的是客户端与服务端约定的通信协议的协议类型,如http协议或https协议等,也即客户端与服务端以约定的通信协议进行通信;而中间件请求指的是客户端与服务端通过消息中间件进行通信,如rockermq,也即以消息队列的方式进行通信,这意味着客户端与服务端并没有按照约定的通信协议进行数据传输,而是按照消息中间件支持的通信协议进行,此类按照消息中间件支持的通信协议进行通信的请求即为中间件请求。
步骤S30,若所述请求类型为中间件请求,则基于所述测试请求的报文信息,将所述测试请求的请求类型转换成约定请求,并将转换后的所述测试请求发送至服务端。
在本实施例中,可以理解的,为了便于异步解耦,目前的分布式***大多采用消息中间件进行***间的数据交换,而目前开源的消息中间件有很多,若要部署的服务端支持所有的消息中间件的通信,则需对服务端做出极大的改造,因此,本实施例采用协议转换的方式进行通用性数据传输,而不需要再对服务端进行改造,因此,若客户端确定当前测试请求的请求类型是中间件请求,则根据测试请求的报文信息,将测试请求的请求类型转换成约定请求,具体的,可对测试请求的报文信息进行拆分和重组装,在具体实施时,可预设一转换模板,提取报文信息中的目标参数,并按照转换模板中,各目标参数的位置,将目标参数放置在相应的位置,即完成报文信息的拆分和重组装,其中,目标参数具体指报文信息中的topic信息。
最后,将请求类型转换为约定请求的测试请求发送至服务端,以供服务端根据测试请求中的属性信息,如***号,以及服务标识,查找到对应的模拟规则,从而根据模拟规则生成模拟对象,再将模拟对象返回客户端。
需要说明的是,是否需要进行协议转换,也是通过配置文件事先设置好的,也即配置文件的属性信息除了包括切入点配置信息和拦截配置信息,还包括转换配置信息,而转换配置信息的表达式如下:
dummy.http.[uniqueId].enable
其中,uniqueId为topic信息,该配置代表中间件消息,如rocketmq消息,需要转换为约定协议格式,如http消息,并发送到服务端。
进一步地,在一实施例中,若所述请求类型为中间件请求,则基于所述测试请求的报文信息,将所述测试请求的请求类型转换成约定请求的步骤包括:
步骤b1,若所述请求类型为中间件请求,则确定所述服务端的配置参数,并基于所述测试请求的报文信息,确定所述测试请求的主题信息和属性信息;
在一实施例中,若客户端确定当前测试请求的请求类型为中间件请求,则读取服务端的配置参数,具体的,服务端的配置参数包括服务器主机、端口、请求路径和协议等,同时,拆分测试请求的报文信息,取出报文信息中的topic信息,以及属性信息,并将属性信息设置到map(临时库)中,其中,属性信息包括客户端的***号等。
步骤b2,基于所述配置参数、所述主题信息和所述属性信息,将所述测试请求的请求类型转换成约定请求;
接着,将配置参数、主题信息和属性信息,按照预设转换模板规定的格式,填入转换模板,即完成测试请求的请求类型转换成约定请求。
具体的,步骤b2包括:
步骤b21,基于所述配置参数,构建所述测试请求约定的路径地址;
在一实施例中,先基于服务端的配置参数,构建测试请求约定的URL路径地址,也即,根据服务端的服务器主机、端口、请求路径和协议,构建URL路径地址。
步骤b22,将所述主题信息和所述属性信息拼接到所述路径地址中,得到请求类型为约定请求的测试请求。
接着,将测试请求中的主题信息和map中的属性信息,作为请求参数,拼接到路径地址中,从而得到请求路径,向该请求路径发送请求,即为请求类型为约定请求的测试请求。
需要说明的是,若当前测试请求的请求类型为约定请求,则直接将其发送至服务端。
步骤S40,接收所述服务端基于所述测试请求返回的模拟对象。
在本实施例中,客户端在将测试请求发送至服务端之后,只需接收服务端基于测试请求返回的模拟对象,即可完成测试,不需要依赖实际的外部服务对象,需要说明的是,模拟对象可以是响应测试请求的期望结果,也即用户希望调用外部服务对象时返回的结果值,即为模拟对象。
本实施例若拦截到测试请求,则基于所述测试请求的服务标识,确定所述测试请求是否需要模拟;若需要模拟,则确定所述测试请求的请求类型;若所述请求类型为中间件请求,则基于所述测试请求的报文信息,将所述测试请求的请求类型转换成约定请求,并将转换后的所述测试请求发送至服务端;接收所述服务端基于所述测试请求返回的模拟对象。本发明在进行模拟测试过程中,通过协议转换,将测试请求的请求类型统一转换成约定请求,使得服务端不需要再针对不同的消息中间件部署不同的规则,提高模拟测试的通用性。
进一步地,基于本发明模拟测试方法第一实施例,提出本发明模拟测试方法第二实施例。
模拟测试方法的第二实施例与模拟测试方法的第一实施例的区别在于,模拟测试方法应用于服务端,模拟测试方法还包括:
步骤S01,若接收到客户端发送的测试请求,则基于所述测试请求的服务标识和属性信息,确定所述测试请求对应的目标模拟规则;
步骤S02,基于所述目标模拟规则,生成所述测试请求对应的模拟对象,并将所述模拟对象返回所述客户端。
本实施例的模拟测试方法运用于理财机构或者银行***等金融机构的模拟测试设备中,模拟测试设备在本实施例中为服务端,服务端包括请求处理模块、mockrule查找模块(模拟规则查找模块)、热更新模块、mockrules(模拟规则库)和mock对象生成模块(模拟对象生成模块),其中,请求处理模块用于接收客户端发送过来的测试请求,模拟规则查找模块则用于在缓存中查找与测试请求匹配的模拟规则,模拟对象生成模块则用于根据模拟规则,生成相应的模拟对象,此外,服务端提供UI界面,用于管理和维护模拟规则库中的模拟规则,热更新模块则用于根据模拟规则库中的模拟规则,对缓存中的模拟规则进行热更新。
在具体实施时,服务端可部署多个实例组成集群,也即部署多个mock服务器,并挂载一个Nginx服务器(代理服务器)进行测试请求的转发,也即客户端直接访问Nginx服务器,再由Nginx服务器根据负载均衡算法,如动态轮询等,将测试请求转发到目标mock服务器上,再由目标mock服务器进行模拟。
本实施例的服务端若接收到客户端发送过来的测试请求,则根据测试请求的服务标识和属性信息,确定测试请求对应的目标模拟规则,使得服务端在确定目标模拟规则的过程中,不会混淆各个客户端的需求,保证多个客户端之间的模拟规则不会相互干扰,然后根据目标模拟规则生成模拟对象,最后将模拟对象返回客户端。
以下将对各个步骤进行详细说明:
步骤S01,若接收到客户端发送的测试请求,则基于所述测试请求的服务标识和属性信息,确定所述测试请求对应的目标模拟规则。
在本实施例中,若服务端接收到客户端发送过来的测试请求,则确定测试请求的服务标识和属性信息,并基于测试请求的服务标识和属性信息,确定测试请求对应的目标模拟规则,其中,属性信息包括***号等唯一表示客户端身份的信息,也即,服务端根据服务标识和***号,去查找对应的目标模拟规则。
进一步地,在一实施例中,步骤S01包括:
步骤c1,若接收到客户端发送的测试请求,则基于所述服务标识和所述属性信息,在缓存的模拟规则中确定与所述测试请求匹配的目标模拟规则;
在一实施例中,服务端包括缓存和数据库,其中缓存中缓存有模拟规则,便于服务端快速查找,而数据库也即模拟规则库,用于存储用户在UI界面导入的模拟规则,缓存中的模拟规则基于数据库中的模拟规则进行更新。
在服务端接收到测试请求时,服务端根据测试请求的服务标识和属性信息,先在缓存中查找是否有与测试请求匹配的模拟规则存在,若有,则确定其为目标模拟规则;若没有,则执行步骤c2。
需要说明的是,服务标识可以确保模拟规则不会出错,***号可以确保不同客户端的模拟规则不会相互干扰,也即服务端是根据服务标识和***号这两个要素去查找匹配的模拟规则的。
步骤c2,若所述缓存中不存在所述目标模拟规则,则基于所述服务标识和所述属性信息,在数据库的模拟规则中确定与所述测试请求匹配的目标模拟规则。
若在缓存中未找到与测试请求匹配的模拟规则,则进一步去数据库,也即模拟规则库中查找,查找方式和查找条件不变,若服务端确定数据库中,存在与测试请求匹配的模拟规则,则确定其为目标模拟规则;若服务端在数据库中也没有找到与测试请求匹配的模拟规则,则认定匹配失败,也即当前没有模拟规则与当前测试请求匹配,此时生成提示信息,以提示用户,或者,生成一个固定模拟规则,以便后续模拟对象生成模块按照固定模拟规则生成固定的模拟对象,如0,最后将固定的模拟对象返回客户端,以提示用户测试异常。
进一步地,在一实施例中,模拟测试方法还包括:
若在显示界面接收到基于所述目标模拟规则触发的修改指令,则基于所述修改指令对应的修改信息,更新所述目标模拟规则,并将更新后的所述目标模拟规则储存于所述数据库中;
在一实施例中,服务端采用springMvc框架(一种基于Java,实现了WebMVC设计模式,请求驱动类型的轻量级Web框架)提供一套UI界面,也即显示界面,用户可在UI界面进行模拟规则的维护管理。
若服务端在UI界面,也即显示界面接收到基于目标模拟规则触发的修改指令,则根据修改指令对应的修改信息,更新目标模拟规则,其中,修改指令包括增、删、改、查等指令,需要说明的是,模拟规则的内容包括服务标识、***号、返回状态、返回报文主体内容、启动状态和动态脚本等,其中,服务标识和***号用于与测试请求中的服务标识和属性信息进行匹配;返回状态用于区分同一测试请求的不同模拟,如同一测试请求的多次模拟等;返回报文主体内容用于表示返回的结果值,可事先自定义;启动状态用于表示模拟规则是否可用,具体包括启动和未启动,因此,在一实施例中,在缓存或数据库中查找是否存在与测试请求匹配的模拟规则时,还需考虑模拟规则的启动状态是否为启动,若是,才确定其为目标模拟规则等;动态脚本具体可为groovy脚本,用于根据***号的不同,将同一测试请求的模拟,生成不同的模拟规则,也即,与现有技术需要编写不同的模拟规则不同,动态脚本可根据***号自动识别同一测试请求的模拟,从而生成对应的模拟规则,提高模拟灵活性,其中,动态脚本中的脚本文件为自定义文件。
最后,将更新后的目标模拟规则存储在数据库,也即模拟规则库中。
基于所述数据库中的所述目标模拟规则,对所述缓存中的模拟规则进行热更新。
之后,根据数据库中目标模拟规则,对缓存中的模拟规则进行热更新,具体的,在服务端启动时创建一个线程安全的数组对象,该数组对象用于在内存中缓存模拟规则。服务端会运行一个基于@Schdule(定时器)的定时任务,该定时任务定时,如每秒,运行一次,从数据库中查询所有的模拟规则,如果数据库中的模拟规则与缓存中的模拟规则不一致,则使用数据库中的模拟规则更新缓存中的模拟规则,如果一致则不做更新。热更新能够让用户从UI界面导入的模拟规则实时生效。
步骤S02,基于所述目标模拟规则,生成所述测试请求对应的模拟对象,并将所述模拟对象返回所述客户端。
在本实施例中,服务端根据目标模拟规则,生成测试请求对应的模拟对象,在一实施例中,可针对测试正常和测试异常设置两种模拟对象,在测试正常,也即有模拟规则匹配时,生成测试正常的模拟对象,在测试异常,也即没有模拟规则匹配时,生成测试异常的模拟对象,最后将模拟对象返回给客户端。
进一步地,在一实施例中,基于所述目标模拟规则,生成所述测试请求对应的模拟对象的步骤包括:
步骤d1,基于所述目标模拟规则中的动态脚本,生成返回主体内容;
在一实施例中,服务端在确定目标模拟规则之后,基于目标模拟规则中的动态脚本,生成返回主体内容,其中,动态脚本中的脚本文件为自定义文件,因此,返回主体内容即为用户期望的结果值,由用户事先定义。
步骤d2,基于所述测试请求的请求类型,构建所述目标模拟规则对应的响应报文;
然后,根据测试请求的请求类型,构建目标模拟规则对应的响应报文,其中,约定请求如http请求,则构建http响应报文;中间件请求如rocketmq请求,则构建rocketmq响应报文,由于请求报文和响应报文都是比较成熟的技术,在此不再详细说明。
步骤d3,基于所述返回主体内容和所述响应报文,生成模拟对象。
最后,将返回主体内容设置到响应报文中,即得到模拟对象,以便于主体内容随响应报文返回到客户端。
进一步地,在将返回主体内容设置到响应报文中时,将返回状态也一并设置到相应报文中,从而得到模拟对象,以便客户端在接收到模拟对象时,可以根据返回状态,区分同一测试的多次模拟。
本实施例的服务端若接收到客户端发送过来的测试请求,则根据测试请求的服务标识和属性信息,确定测试请求对应的目标模拟规则,使得模拟规则的匹配细化到属性信息,如细化到***号,使得服务端在确定目标模拟规则的过程中,不会混淆各个客户端的需求,保证多个客户端之间的模拟规则不会相互干扰,因此可实现单机部署多机使用,也即适用单个服务端集群多个客户端的使用场景;同时提供UI界面而非硬编码的方式管理模拟规则,更加灵活和便捷,用户只需在服务端提供的UI界面上进行配置即可,服务端会生成模拟规则并解析动态脚本,这样用户在新增或修改规则后,可以立即使用,无需重新打包部署编译,最后根据目标模拟规则生成模拟对象,并将模拟对象返回客户端,实现测试的智能模拟。
进一步地,基于本发明模拟测试方法第一、第二实施例,提出本发明模拟测试方法第三实施例。
模拟测试方法的第三实施例与模拟测试方法的第一、第二实施例的区别在于,模拟测试方法应用于测试***,模拟测试方法还包括:
步骤e,若在客户端拦截到测试请求,则基于所述测试请求的服务标识,确定所述测试请求是否需要模拟;
步骤f,若需要模拟,则确定所述测试请求的请求类型;
步骤g,若所述请求类型为中间件请求,则基于所述测试请求的报文信息,控制所述客户端将所述测试请求的请求类型转换成约定请求,并将转换后的所述测试请求发送至服务端;
步骤h,控制所述服务端基于所述测试请求的服务标识和属性信息,确定所述测试请求对应的目标模拟规则;
步骤i,控制所述服务端按照所述模拟规则生成所述测试请求对应的模拟对象,并将所述模拟对象返回所述客户端。
本实施例的模拟测试方法运用于理财机构或者银行***等金融机构的模拟测试设备中,模拟测试设备在本实施例中为测试***,具体包括客户端和服务端,其中,客户端包括待测应用程序、请求拦截模块、协议转换模块和配置文件;服务端包括请求处理模块、mockrule查找模块、热更新模块、mockrules和mock对象生成模块。在具体实施时,测试***通过协调客户端与服务端的数据传输,实现模拟测试。
以下将对各个步骤进行详细说明:
步骤e,若在客户端拦截到测试请求,则基于所述测试请求的服务标识,确定所述测试请求是否需要模拟。
在本实施例中,若测试***在客户端拦截到测试请求,则根据测试请求的uniqueId,确定测试请求是否需要模拟,其中,uniqueId包括请求路径和topic信息,具体的,当测试请求的请求类型为约定请求,如http请求时,uniqueId为请求路径;当测试请求的请求类型为中间件请求,如rockermq请求时,uniqueId为topic信息。
也即,若在客户端拦截到测试请求,则先确定当前测试请求的请求类型,从而根据请求类型确定当前测试请求的uniqueId,再根据uniqueId确定当前测试请求是否需要模拟。
在具体实施时,测试***在客户端中引入dummy.jar依赖包,dummy.jar从配置文件的属性信息中读取切入点配置信息和拦截配置信息,生成代理对象,后续对拦截方法的调用将转换为对代理对象中方法的调用,具体的,客户端接收切入点配置信息和拦截配置参数,并基于切入点配置信息和拦截配置参数,生成配置文件。也即测试***控制客户端根据用户输入的切入点配置信息和拦截配置信息,生成配置文件,以配置文件的方式定义测试请求是否需要mock,配置文件的方式具有低侵入性,不影响客户端代码。
其中,切入点配置信息如上一实施例所述,在此不再赘述。
测试***控制客户端根据切入点配置信息和拦截配置信息,生成配置文件,之后,根据配置文件,以及测试请求的服务标识,对测试请求进行拦截,确定其是否需要mock。
步骤f,若需要模拟,则确定所述测试请求的请求类型。
在本实施例中,测试***若确定当前测试请求需要模拟,则将其发送至客户端的协议转换模块,在通过协议转换模块确定测试请求的请求类型,其中,请求类型包括约定请求和中间件请求。
步骤g,若所述请求类型为中间件请求,则基于所述测试请求的报文信息,控制所述客户端将所述测试请求的请求类型转换成约定请求,并将转换后的所述测试请求发送至服务端。
在本实施例中,测试***若确定当前测试请求的请求类型是中间件请求,则控制客户端根据测试请求的报文信息,将测试请求的请求类型转换成约定请求,具体方式如上一实施例所述,在此不再赘述。
最后,控制客户端将请求类型转换为约定请求的测试请求发送至服务端。
步骤h,控制所述服务端基于所述测试请求的服务标识和属性信息,确定所述测试请求对应的目标模拟规则。
在本实施例中,测试***控制服务端根据测试请求的服务标识和属性信息,确定测试请求对应的目标模拟规则,其中,属性信息包括***号等唯一表示客户端身份的信息,也即,控制服务端根据服务标识和***号,去查找对应的目标模拟规则,具体的查找方式如上一实施例所述,在此不再赘述。
步骤i,控制所述服务端按照所述模拟规则生成所述测试请求对应的模拟对象,并将所述模拟对象返回所述客户端。
在本实施例中,测试***控制服务端根据目标模拟规则,生成测试请求对应的模拟对象,具体的生成过程如上一实施例所述,在此不再赘述,最后控制服务端将模拟对象返回给客户端。
本实施例通过协调客户端与服务端的数据传输,具体控制客户端进行协议转换,控制服务端进行模拟对象的生成,实现模拟测试的通用测试。
本发明还提供一种计算机可读存储介质。
本发明计算机可读存储介质上存储有模拟测试程序,所述模拟测试程序被处理器执行时实现如上所述的模拟测试方法的步骤。
其中,在所述处理器上运行的模拟测试程序被执行时所实现的方法可参照本发明模拟测试方法各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者***不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者***所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者***中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书与附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (12)
1.一种模拟测试方法,其特征在于,所述模拟测试方法应用于客户端,所述模拟测试方法包括如下步骤:
若拦截到测试请求,则基于所述测试请求的服务标识,确定所述测试请求是否需要模拟;
若需要模拟,则确定所述测试请求的请求类型;
若所述请求类型为中间件请求,则基于所述测试请求的报文信息,将所述测试请求的请求类型转换成约定请求,并将转换后的所述测试请求发送至服务端;
接收所述服务端基于所述测试请求返回的模拟对象。
2.如权利要求1所述的模拟测试方法,其特征在于,所述若拦截到测试请求,则基于所述测试请求的服务标识,确定所述测试请求是否需要模拟的步骤包括:
若拦截到所述测试请求,则基于所述测试请求的请求类型,确定所述测试请求对应的拦截规则;
基于所述拦截规则确定待拦截服务标识,并确定所述待拦截服务标识中是否存在与所述测试请求的服务标识匹配的目标服务标识;
若存在,则确定所述目标服务标识的配置状态,并基于所述配置状态确定所述测试请求是否需要模拟。
3.如权利要求1或2所述的模拟测试方法,其特征在于,所述若所述请求类型为中间件请求,则基于所述测试请求的报文信息,将所述测试请求的请求类型转换成约定请求的步骤包括:
若所述请求类型为中间件请求,则确定所述服务端的配置参数,并基于所述测试请求的报文信息,确定所述测试请求的主题信息和属性信息;
基于所述配置参数、所述主题信息和所述属性信息,将所述测试请求的请求类型转换成约定请求。
4.如权利要求3所述的模拟测试方法,其特征在于,所述基于所述配置参数、所述主题信息和所述属性信息,将所述测试请求的请求类型转换成约定请求的步骤包括:
基于所述配置参数,构建所述测试请求约定的路径地址;
将所述主题信息和所述属性信息拼接到所述路径地址中,得到请求类型为约定请求的测试请求。
5.一种模拟测试方法,其特征在于,所述模拟测试方法应用于服务端,所述模拟测试方法包括如下步骤:
若接收到客户端发送的测试请求,则基于所述测试请求的服务标识和属性信息,确定所述测试请求对应的目标模拟规则;
基于所述目标模拟规则,生成所述测试请求对应的模拟对象,并将所述模拟对象返回所述客户端。
6.如权利要求5所述的模拟测试方法,其特征在于,所述基于所述目标模拟规则,生成所述测试请求对应的模拟对象的步骤包括:
基于所述目标模拟规则中的动态脚本,生成返回主体内容;
基于所述测试请求的请求类型,构建所述目标模拟规则对应的响应报文;
基于所述返回主体内容和所述响应报文,生成模拟对象。
7.如权利要求5或6所述的模拟测试方法,其特征在于,所述若接收到客户端发送的测试请求,则基于所述测试请求的服务标识和属性信息,确定所述测试请求对应的目标模拟规则的步骤包括:
若接收到客户端发送的测试请求,则基于所述服务标识和所述属性信息,在缓存的模拟规则中确定与所述测试请求匹配的目标模拟规则;
若所述缓存中不存在所述目标模拟规则,则基于所述服务标识和所述属性信息,在数据库的模拟规则中确定与所述测试请求匹配的目标模拟规则。
8.如权利要求7所述的模拟测试方法,其特征在于,所述模拟测试方法还包括:
若在显示界面接收到基于所述目标模拟规则触发的修改指令,则基于所述修改指令对应的修改信息,更新所述目标模拟规则,并将更新后的所述目标模拟规则储存于所述数据库中;
基于所述数据库中的所述目标模拟规则,对所述缓存中的模拟规则进行热更新。
9.一种模拟测试方法,其特征在于,所述模拟测试方法应用于测试***,所述测试***包括客户端和服务端,所述模拟测试方法包括如下步骤:
若在客户端拦截到测试请求,则基于所述测试请求的服务标识,确定所述测试请求是否需要模拟;
若需要模拟,则确定所述测试请求的请求类型;
若所述请求类型为中间件请求,则基于所述测试请求的报文信息,控制所述客户端将所述测试请求的请求类型转换成约定请求,并将转换后的所述测试请求发送至服务端;
控制所述服务端基于所述测试请求的服务标识和属性信息,确定所述测试请求对应的目标模拟规则;
控制所述服务端按照所述模拟规则生成所述测试请求对应的模拟对象,并将所述模拟对象返回所述客户端。
10.一种客户端,其特征在于,所述客户端包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的模拟测试程序,所述模拟测试程序被所述处理器执行时实现如权利要求1至4中任一项所述的模拟测试方法的步骤。
11.一种服务端,其特征在于,所述服务端包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的模拟测试程序,所述模拟测试程序被所述处理器执行时实现如权利要求5至8中任一项所述的模拟测试方法的步骤。
12.一种测试***,其特征在于,所述测试***包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的模拟测试程序,所述模拟测试程序被所述处理器执行时实现如权利要求9所述的模拟测试方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010559834.1A CN111708702A (zh) | 2020-06-18 | 2020-06-18 | 模拟测试方法、客户端、服务端、***与可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010559834.1A CN111708702A (zh) | 2020-06-18 | 2020-06-18 | 模拟测试方法、客户端、服务端、***与可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111708702A true CN111708702A (zh) | 2020-09-25 |
Family
ID=72541522
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010559834.1A Pending CN111708702A (zh) | 2020-06-18 | 2020-06-18 | 模拟测试方法、客户端、服务端、***与可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111708702A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112069015A (zh) * | 2020-11-10 | 2020-12-11 | 鹏城实验室 | 指令模拟器指令执行方法、装置、终端设备以及存储介质 |
CN112162926A (zh) * | 2020-09-30 | 2021-01-01 | 新华三大数据技术有限公司 | 一种自动化测试方法及装置 |
CN112306864A (zh) * | 2020-10-19 | 2021-02-02 | 北京健康之家科技有限公司 | 基于微服务的Mock测试方法和***、存储介质、计算设备 |
CN112333206A (zh) * | 2020-12-24 | 2021-02-05 | 长沙树根互联技术有限公司 | 安全测试方法、装置及电子设备 |
CN112650689A (zh) * | 2020-12-31 | 2021-04-13 | 五八有限公司 | 测试方法、装置、电子设备及存储介质 |
CN113010411A (zh) * | 2020-12-15 | 2021-06-22 | 云智慧(北京)科技有限公司 | 基于mock服务返回数据的方法、***和模拟测试方法 |
CN113238886A (zh) * | 2021-05-12 | 2021-08-10 | 深圳前海微众银行股份有限公司 | 功能服务的测试方法、***以及终端设备 |
CN113760715A (zh) * | 2020-11-12 | 2021-12-07 | 北京京东振世信息技术有限公司 | 一种对***进行测试的方法和装置 |
CN113761418A (zh) * | 2021-01-06 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种缓存命中率确定方法和装置 |
CN114422487A (zh) * | 2021-12-08 | 2022-04-29 | 联动优势电子商务有限公司 | 应用响应模拟方法及装置 |
CN115801652A (zh) * | 2022-11-21 | 2023-03-14 | 中国民航信息网络股份有限公司 | 一种航空***测试方法、***及相关装置 |
CN116303062A (zh) * | 2023-03-27 | 2023-06-23 | 广州钛动科技股份有限公司 | 服务接口的测试方法、装置、终端设备和可读存储介质 |
-
2020
- 2020-06-18 CN CN202010559834.1A patent/CN111708702A/zh active Pending
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112162926A (zh) * | 2020-09-30 | 2021-01-01 | 新华三大数据技术有限公司 | 一种自动化测试方法及装置 |
CN112306864A (zh) * | 2020-10-19 | 2021-02-02 | 北京健康之家科技有限公司 | 基于微服务的Mock测试方法和***、存储介质、计算设备 |
CN112069015A (zh) * | 2020-11-10 | 2020-12-11 | 鹏城实验室 | 指令模拟器指令执行方法、装置、终端设备以及存储介质 |
CN113760715A (zh) * | 2020-11-12 | 2021-12-07 | 北京京东振世信息技术有限公司 | 一种对***进行测试的方法和装置 |
CN113010411A (zh) * | 2020-12-15 | 2021-06-22 | 云智慧(北京)科技有限公司 | 基于mock服务返回数据的方法、***和模拟测试方法 |
CN112333206A (zh) * | 2020-12-24 | 2021-02-05 | 长沙树根互联技术有限公司 | 安全测试方法、装置及电子设备 |
CN112333206B (zh) * | 2020-12-24 | 2021-03-30 | 长沙树根互联技术有限公司 | 安全测试方法、装置及电子设备 |
CN112650689A (zh) * | 2020-12-31 | 2021-04-13 | 五八有限公司 | 测试方法、装置、电子设备及存储介质 |
CN113761418A (zh) * | 2021-01-06 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种缓存命中率确定方法和装置 |
CN113238886A (zh) * | 2021-05-12 | 2021-08-10 | 深圳前海微众银行股份有限公司 | 功能服务的测试方法、***以及终端设备 |
CN114422487A (zh) * | 2021-12-08 | 2022-04-29 | 联动优势电子商务有限公司 | 应用响应模拟方法及装置 |
CN115801652A (zh) * | 2022-11-21 | 2023-03-14 | 中国民航信息网络股份有限公司 | 一种航空***测试方法、***及相关装置 |
CN115801652B (zh) * | 2022-11-21 | 2024-05-03 | 中国民航信息网络股份有限公司 | 一种航空***测试方法、***及相关装置 |
CN116303062A (zh) * | 2023-03-27 | 2023-06-23 | 广州钛动科技股份有限公司 | 服务接口的测试方法、装置、终端设备和可读存储介质 |
CN116303062B (zh) * | 2023-03-27 | 2023-12-19 | 广州钛动科技股份有限公司 | 服务接口的测试方法、装置、终端设备和可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111708702A (zh) | 模拟测试方法、客户端、服务端、***与可读存储介质 | |
CN104823163B (zh) | 基于元数据的虚拟机配置 | |
EP3011442B1 (en) | Method and apparatus for customized software development kit (sdk) generation | |
US7823023B2 (en) | Test framework for testing an application | |
CN110334297B (zh) | 终端页面的加载方法、终端、服务器及存储介质 | |
CN110365724B (zh) | 任务处理方法、装置及电子设备 | |
EP3128416A1 (en) | Sdn application integration, management and control method, system and device | |
CN110011875B (zh) | 拨测方法、装置、设备及计算机可读存储介质 | |
CN107276842B (zh) | 接口测试方法、装置及电子设备 | |
US20150149888A1 (en) | Systems and methods for executing aspects of a document | |
CN112231230A (zh) | 一种测试用例管理方法、装置、电子设备及存储介质 | |
CN111200523A (zh) | 中台***配置方法、装置、设备及存储介质 | |
CN115525533A (zh) | 信息处理方法、装置、计算机设备及存储介质 | |
CN115168162A (zh) | 容器环境基于ingress控制器多灰度发布方法、设备及存储介质 | |
US11243755B1 (en) | Resource aware patching service | |
CN113179269B (zh) | 基于物联网的协议数据解析方法、***、介质 | |
US20220038444A1 (en) | Cloud device, application processing method, electronic device and storage medium | |
WO2015183235A1 (en) | Response based on browser engine | |
CN112491940B (zh) | 代理服务器的请求转发方法及装置、存储介质及电子设备 | |
WO2021093672A1 (zh) | 外部***的嵌入方法、工作流***、设备及计算机可读存储介质 | |
CN115758334A (zh) | 云应用的访问方法、装置、电子设备及存储介质 | |
CN110674435A (zh) | 页面访问方法、服务器、终端、电子设备及可读存储介质 | |
CN114443215A (zh) | 业务应用部署方法、装置、计算机设备和存储介质 | |
CN114610446A (zh) | 一种自动注入探针的方法、装置及*** | |
CN113268360A (zh) | 请求处理方法、装置、服务器及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |