CN107122292A - 一种模拟服务的方法及系统 - Google Patents
一种模拟服务的方法及系统 Download PDFInfo
- Publication number
- CN107122292A CN107122292A CN201610921213.7A CN201610921213A CN107122292A CN 107122292 A CN107122292 A CN 107122292A CN 201610921213 A CN201610921213 A CN 201610921213A CN 107122292 A CN107122292 A CN 107122292A
- Authority
- CN
- China
- Prior art keywords
- analog
- request
- rule
- acquisition
- rules
- 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
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/3664—Environments for testing or debugging software
-
- 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
Abstract
本发明公开了一种模拟服务的方法及系统,所述方法包括:接收客户端发送的请求;根据所述接收的请求获取模拟环境中对应的独立环境名;根据获得的独立环境名获取模拟规则;根据获得的模拟规则返回预定义的模拟响应。通过采用本发明,可解决对后端接口联调调用的依赖,大大提高前后端开发联调效率,更加灵活、简单、方便的管理模拟接口。
Description
技术领域
本发明涉及软件测试技术领域,更为具体而言,涉及一种模拟服务的方法和系统。
背景技术
随着软件开发的不断发展,开发人员正在追求兼容性强、高效、便捷且准确的数据处理方式。然而,如图1所示,现在很多Linux后台服务类模块测试中,经常会遇到被测模块需要通过接口调用其它模块的情况,大多数时候,我们可以直接连接被调用的模块来进行测试。但是,有时这并不是个好主意,例如:被调用的模块部署成本很高、操作比较繁琐、数据构造困难、性能不够好等,更重要的是一些接口的异常情况可能根本无法直接模拟。
所以,在实际测试中,开发人员不得不自己编写一些桩程序来模拟被调用模块的行为。然而,所有的桩程序都大同小异,只是具体的接口协议不同而已,而像链接管理、配置管理、日志管理等工作,完全都是一样的。因此,开发人员正在寻求某种方式,在构造一个桩程序时,将相同的部分抽离出来,只需要考虑接口的逻辑,从而节省大量重复的工作。
发明内容
为了解决现有技术中测试程序开发中对后端接口联调调用的依赖所导致的开发成本高、不易管理和维护的问题,本发明的实施方式提供了一种用于消息处理方法和系统。
一方面,本发明实施方式提供了一种模拟服务的方法,所述方法包括:
接收客户端发送的请求;
根据所述接收的请求获取模拟环境中对应的独立环境名;
根据获得的独立环境名获取模拟规则;
根据获得的模拟规则返回预定义的模拟响应。
在本发明的一些实施方式中,所述模拟环境为根据不同请求的源IP区分的不同的模拟规则分组。
在本发明的一些实施方式中,所述模拟规则定义了请求与相应的模拟响应的描述。
在本发明的一些实施方式中,所述请求的源IP到所述模拟环境的映射存储于模拟配置文件中。
在本发明的一些实施方式中,根据所述请求获取模拟环境中对应的独立环境名包括:
解析所述接收的请求解析出该请求的源IP;
根据所述模拟配置文件中源IP到模拟环境的映射获取所述解析出的源IP对应的模拟环境的独立环境名。
在本发明的一些实施方式中,所述根据获得的独立环境名获取模拟规则包括:
获取所述解析出的源IP对应的模拟环境中的所有模拟规则;
遍历所有模拟规则以查找出与所述接收的请求匹配的模拟规则。
在本发明的一些实施方式中,所述遍历所有模拟规则以查找出与所述接收的请求匹配的模拟规则包括:
选择所有模拟规则中的一条模拟规则;
判断所述接收的请求是否符合所选择的模拟规则;
如果所述接收的请求符合所选择的模拟规则,则执行所述根据获得的模拟规则返回预定义的模拟响应的处理。
在本发明的一些实施方式中,所述遍历所有模拟规则以查找出与所述接收的请求匹配的模拟规则还包括:
如果所述接收的请求不符合所选择的模拟规则,则判断是否还有其他模拟规则;
如果还有其他模拟规则,则选择另一条模拟规则,并回到执行所述判断所述接收的请求是否符合所选择的模拟规则的处理;
如果没有其他模拟规则,则向客户端返回预定义错误的提示。
相应的,本发明实施方式还提供了一种模拟范围系统,所述系统包括:
请求接收模块,用于接收客户端发送的请求;
第一获取模块,用于根据所述接收的请求获取模拟环境中对应的独立环境名;
第二获取模块,用于根据获得的独立环境名获取模拟规则;
响应返回模块,用于根据获得的模拟规则返回预定义的模拟响应。
在本发明的一些实施方式中,所述模拟环境为根据不同请求的源IP区分的不同的模拟规则分组。
在本发明的一些实施方式中,所述模拟规则定义了请求与相应的模拟响应的描述。
在本发明的一些实施方式中,所述请求的源IP到所述模拟环境的映射存储于模拟配置文件中。
在本发明的一些实施方式中,所述第一获取模块包括:
解析单元,用于解析所述接收的请求解析出该请求的源IP;
第一获取单元,用于根据所述模拟配置文件中源IP到模拟环境的映射获取所述解析出的源IP对应的模拟环境的独立环境名。
在本发明的一些实施方式中,所述第二获取模块包括:
第二获取单元,用于获取所述解析出的源IP对应的模拟环境中的所有模拟规则;
查找单元,用于遍历所有模拟规则以查找出与所述接收的请求匹配的模拟规则。
在本发明的一些实施方式中,所述查找单元包括:
第一选择子单元,用于选择所有模拟规则中的一条模拟规则;
第一判断子单元,用于判断所述接收的请求是否符合所选择的模拟规则;
第一执行子单元,用于如果所述接收的请求符合所选择的模拟规则,则执行所述根据获得的模拟规则返回预定义的模拟响应的处理。
在本发明的一些实施方式中,所述查找单元还包括:
第二判断子单元,用于如果所述接收的请求不符合所选择的模拟规则,则判断是否还有其他模拟规则;
第二执行子单元,用于如果还有其他模拟规则,则选择另一条模拟规则,并回到执行所述判断所述接收的请求是否符合所选择的模拟规则的处理;
错误返回子单元,用于如果没有其他模拟规则,则向客户端返回预定义错误的提示。
实施本发明的各种实施方式具有以下有益效果:可解决对后端接口联调调用的依赖,大大提高前后端开发联调效率,更加灵活、简单、方便的管理模拟接口。
附图说明
图1是现有技术中被测系统与各依赖服务的联调关系图;
图2是应用本发明所述模拟服务的方法时被测系统与各依赖服务的联调关系图;
图3是根据本发明一种实施方式的模拟服务方法的流程示意图;
图4是根据本发明实施例二的模拟服务方法的流程示意图;
图5是根据本发明实施例三的模拟服务方法的流程示意图;
图6是根据本发明实施例四的模拟服务方法的流程示意图
图7是根据本发明实施例五的模拟服务方法的流程示意图
图8是根据本发明实施方式的一种模拟服务系统的结构示意图;
图9是图8所示系统中所述第一获取模块的结构示意图;
图10是图8所示系统中所述第二获取模块的结构示意图;
图11是图8所示系统中所述查找单元的结构示意图。
具体实施方式
以下结合附图和具体实施方式对本发明的各个方面进行详细阐述。其中,众所周知的模块、单元及其相互之间的连接、链接、通信或操作没有示出或未作详细说明。并且,所描述的特征、架构或功能可在一个或一个以上实施方式中以任何方式组合。本领域技术人员应当理解,下述的各种实施方式只用于举例说明,而非用于限制本发明的保护范围。还可以容易理解,本文所述和附图所示的各实施方式中的模块或单元或处理方式可以按各种不同配置进行组合和设计。
术语解释:
Stub:桩程序,指用来替换一部分功能的程序段。桩程序可以用来模拟已有程序的行为(比如一个远端机器的过程)或是对将要开发的代码的一种临时替代。因此,打桩技术在程序移植、分布式计算、通用软件开发和测试中用处很大。
Mock:模拟,是以可控的方式模拟真实对象行为的假的对象。通常创造模拟对象来测试其他对象的行为。
Mock规则:定义HTTP/HTTPS API请求及相应模拟响应的一份描述。
Mock环境:根据请求来源IP来区分的Mock规则分组。Mock Server可以定义多套Mock环境,各套环境间相互隔离。同一个IP只能对应一个Mock环境,不同的IP可以对应同一个Mock环境。
Nginx:一个高性能的HTTP和反向代理服务器。
图2是应用本发明所述模拟服务的方法时被测系统与各依赖服务的联调关系图;参见图2可知,Mock Server是一个模拟的服务器,能针对不同接口构建各种假数据(即属被测系统与依赖服务的中间层,提供依赖服务的模拟构造),再利用构建的假数据进行开发,最终帮助开发工程师实现低成本、高回报的前后端分离开发工程。Mock Server的前端应用HTML/CSS/JS,而后端逻辑主要应用Java+Apache Http Client实现,包含几个核心组件:协议(HTTP/HTTPS/RPC)、存储,编译成War包部署在Tomcat运行提供服务。开发Mock Server,提供基于Request(请求)及相应Response(响应)的灵活配置方法,丰富的Mock规则,真实的请求延时,不同的Mock环境,实现通用的Mock服务,例如:模拟请求、模拟请求延时、模拟请转发和模拟回调等。
在实际应用中,对于某些不容易构造、获取的对象,创建一个虚拟的对象调用以便测试的方法。Mock Server由Admin管理配置Web页面和通用Stub组成。Admin提供Web UI配置页面,增加/删除请求源IP到Mock环境的映射关系,对不同环境中的Mock规则提供增删改查操作。Stub提供通用桩服务,对被测系统的各类HTTP API请求调用,返回预先定义的模拟响应。为了提高桩服务的通吐能力,让桩服务能在被测系统压力测试中有好的性能表现,可开启多个桩服务,通过Nginx做负载均衡。
实施例1:
图3是根据本发明一种实施方式的模拟服务方法的流程示意图;参见图3,所述方法包括:
步骤S11,接收客户端发送的请求;
步骤S12,根据所述接收的请求获取模拟环境中对应的独立环境名;
步骤S13,根据获得的独立环境名获取模拟规则;
步骤S14,根据获得的模拟规则返回预定义的模拟响应。
在本发明的一些实施方式中,所述模拟环境为根据不同请求的源IP区分的不同的模拟规则分组。
在本发明的一些实施方式中,所述模拟规则定义了请求与相应的模拟响应的描述。
在本发明的一些实施方式中,所述请求的源IP到所述模拟环境的映射存储于模拟配置文件中。将请求源IP到Mock环境的映射存储到mockEnv.conf中,mockEnv.conf的每一行定义了一条映射,如:10.0.0.1测试环境这条映射表明来源是10.0.0.1的请求,使用Mock环境名为test的测试环境的Mock规则。将配置的Mock规则存放到<对应Mock环境名>.xml中,如:test.xml规则的存储的是test环境的Mock规则。
在实际应用中,模拟(Mock)规则包含规则名称、请求、响应、环境等,请求需关联URL、Method。对于请求,如果是符合特定规则的请求才被Mock,则需定义匹配的Headers/Parameters/Body,以正则匹配的形式。对于响应,如果选择“返回真实响应”,则需要关注延时(返回请求所需的sleep时间,单位毫秒)。Status Code对应返回码,如200、404。Format指数据返回格式,如json、html、xml等。Mock规则是自定义且丰富的,即接口数据定义的规则,具体的计算机编译程序如下:
Mock规则的名称是test,URL匹配路径是/api/test/.*,请求方法包含GET/POST/PUT/DELETE,Paramters参数的名称是name,值是test.*,请求header名称是nb_testid,值是1B[0-9a-zA-Z]+,Reponse请求响应时间延迟1000ms,请求响应状态码为200,返回数据格式为json。定义规则,生成标准的xml格式文件。规则适应于各种数据类型接口,只需在如上图xml文件定义即可。
实施例2:
图4是根据本发明实施例二的模拟服务方法的流程示意图;参见图4,根据本实施例,所述模拟服务方法包括:
步骤S21,接收客户端发送的请求;
步骤S221,解析所述接收的请求解析出该请求的源IP;
步骤S222,根据所述模拟配置文件中源IP到模拟环境的映射获取所述解析出的源IP对应的模拟环境的独立环境名;
步骤S23,根据获得的独立环境名获取模拟规则;
步骤S24,根据获得的模拟规则返回预定义的模拟响应。
实施例3:
图5是根据本发明实施例三的模拟服务方法的流程示意图。根据本实施例,所述模拟服务方法包括:
步骤S31,接收客户端发送的请求;
步骤S32,根据所述接收的请求获取模拟环境中对应的独立环境名;
步骤S331,获取所述解析出的源IP对应的模拟环境中的所有模拟规则;
步骤S332,遍历所有模拟规则以查找出与所述接收的请求匹配的模拟规则
步骤S34,根据获得的模拟规则返回预定义的模拟响应。
当一个请求发送到Mock Stub时,Mock Stub会根据请求的源IP找到匹配的独立环境名,再根据独立环境名获取所有预定义的Mock规则,遍历这些Mock规则,如果找到一条规则与接受的请求匹配,那么返回预定义的模拟响应。如果找不到规则匹配,则返回404错误。规则匹配是根据请求中的uri/method/headers/parameters/body是否与Mock规则中定义的对应字段正则匹配来定的。
实施例4:
图6是根据本发明实施例四的模拟服务方法的流程示意图,参见图6,根据本实施例,所述模拟服务方法包括:
步骤S41,接收客户端发送的请求;
步骤S42,根据所述接收的请求获取模拟环境中对应的独立环境名;
步骤S431,选择所有模拟规则中的一条模拟规则;
步骤S432,判断所述接收的请求是否符合所选择的模拟规则;
步骤S433,如果所述接收的请求符合所选择的模拟规则,则执行所述根据获得的模拟规则返回预定义的模拟响应的处理;步骤S44,根据获得的模拟规则返回预定义的模拟响应。
实施例5:
图7是根据本发明实施例五的模拟服务方法的流程示意图,参见图7,其中,根据本实施例,所述模拟服务方法包括:
步骤S51,接收客户端发送的请求;
步骤S52,根据所述接收的请求获取模拟环境中对应的独立环境名;
步骤S531,如果所述接收的请求不符合所选择的模拟规则,则判断是否还有其他模拟规则;
步骤S532,如果还有其他模拟规则,则选择另一条模拟规则,并回到执行所述判断所述接收的请求是否符合所选择的模拟规则的处理;
步骤S533,如果没有其他模拟规则,则向客户端返回预定义错误的提示;
步骤S54,根据获得的模拟规则返回预定义的模拟响应。
在实际应用中,客户端发送HTTP请求至Mock Server,解析请求来源ip,获取MockServer本地对应的独立环境。获取环境定义的所有Mock规则,默认选择第一条Mock规则。判断HTTP请求是否符合第一条规则,符合,则返回预先定义的模拟响应。不符合,则返回预定义错误,如:404。对于Mock规则的创建、删除,除页面配置外,Mock Server提供SDK方式,用户可通过编码方式调用Mock Server。
实施本发明所述方法的实施方式,可得到如下有益效果:解决前后端分离开发中接口调用和数据构造依赖,将大大提高前后端开发的效率;化繁为简,将复杂繁琐的桩模块开发变得简单、灵活和配置管理化。
实施例6:
图8是根据本发明实施方式的模拟服务系统的结构示意图;参见图8,所述系统包括:
请求接收模块100,用于接收客户端发送的请求;
第一获取模块200,用于根据所述接收的请求获取模拟环境中对应的独立环境名;
第二获取模块300,用于根据获得的独立环境名获取模拟规则;
响应返回模块400,用于根据获得的模拟规则返回预定义的模拟响应。
在本发明的实施方式中,所述模拟环境为根据不同请求的源IP区分的不同的模拟规则分组。
在本发明的实施方式中,所述模拟规则定义了请求与相应的模拟响应的描述。
在本发明的实施方式中,所述请求的源IP到所述模拟环境的映射存储于模拟配置文件中。将请求源IP到Mock环境的映射存储到mockEnv.conf中,mockEnv.conf的每一行定义了一条映射,如:10.0.0.1测试环境这条映射表明来源是10.0.0.1的请求,使用Mock环境名为test的测试环境的Mock规则。将配置的Mock规则存放到<对应Mock环境名>.xml中,如:test.xml规则的存储的是test环境的Mock规则。
在实际应用中,模拟(Mock)规则包含规则名称、请求、响应、环境等,请求需关联URL、Method。对于请求,如果是符合特定规则的请求才被Mock,则需定义匹配的Headers/Parameters/Body,以正则匹配的形式。
对于响应,如果选择“返回真实响应”,则需要关注延时(返回请求所需的sleep时间,单位毫秒)。Status Code对应返回码,如200、404。Format指数据返回格式,如json、html、xml等。Mock规则是自定义且丰富的,即接口数据定义的规则,如下:
Mock规则的名称是test,URL匹配路径是/api/test/.*,请求方法包含GET/POST/PUT/DELETE,Paramters参数的名称是name,值是test.*,请求header名称是nb_testid,值是1B[0-9a-zA-Z]+,Reponse请求响应时间延迟1000ms,请求响应状态码为200,返回数据格式为json。定义规则,生成标准的xml格式文件。规则适应于各种数据类型接口,只需在如上图xml文件定义即可。
实施例7:
根据本实施例,所述模拟服务系统包括:
请求接收模块100,用于接收客户端发送的请求;
第一获取模块200,用于根据所述接收的请求获取模拟环境中对应的独立环境名;
第二获取模块300,用于根据获得的独立环境名获取模拟规则;
响应返回模块400,用于根据获得的模拟规则返回预定义的模拟响应。
图9是图8所示系统中所述第一获取模块的结构示意图;其中,如图9所示,所述第一获取模块200包括:
解析单元210,用于解析所述接收的请求解析出该请求的源IP;
第一获取单元220,用于根据所述模拟配置文件中源IP到模拟环境的映射获取所述解析出的源IP对应的模拟环境的独立环境名。
实施例8:
根据本实施例,所述模拟服务系统包括:
请求接收模块100,用于接收客户端发送的请求;
第一获取模块200,用于根据所述接收的请求获取模拟环境中对应的独立环境名;
第二获取模块300,用于根据获得的独立环境名获取模拟规则;
响应返回模块400,用于根据获得的模拟规则返回预定义的模拟响应。
图10是图8所示系统中所述第二获取模块的结构示意图;其中,如图10所示,所述第二获取模块300包括:
第二获取单元310,用于获取所述解析出的源IP对应的模拟环境中的所有模拟规则;
查找单元320,用于遍历所有模拟规则以查找出与所述接收的请求匹配的模拟规则。
实施例9:
根据本实施例,所述模拟服务系统包括:
请求接收模块100,用于接收客户端发送的请求;
第一获取模块200,用于根据所述接收的请求获取模拟环境中对应的独立环境名;
第二获取模块300,用于根据获得的独立环境名获取模拟规则;
响应返回模块400,用于根据获得的模拟规则返回预定义的模拟响应。
其中,所述根据获得的独立环境名获取模拟规则可包括:
获取所述解析出的源IP对应的模拟环境中的所有模拟规则;遍历所有模拟规则以查找出与所述接收的请求匹配的模拟规则。当一个请求发送到Mock Stub时,Mock Stub会根据请求的源IP找到匹配的独立环境名,再根据独立环境名获取所有预定义的Mock规则,遍历这些Mock规则,如果找到一条规则与接受的请求匹配,那么返回预定义的模拟响应。如果找不到规则匹配,则返回404错误。规则匹配是根据请求中的uri/method/headers/parameters/body是否与Mock规则中定义的对应字段正则匹配来定的。
实施例10:
根据本实施例,所述模拟服务系统包括:
请求接收模块100,用于接收客户端发送的请求;
第一获取模块200,用于根据所述接收的请求获取模拟环境中对应的独立环境名;
第二获取模块300,用于根据获得的独立环境名获取模拟规则;
响应返回模块400,用于根据获得的模拟规则返回预定义的模拟响应。
其中,所述第二获取模块300包括:
第二获取单元310,用于获取所述解析出的源IP对应的模拟环境中的所有模拟规则;
查找单元320,用于遍历所有模拟规则以查找出与所述接收的请求匹配的模拟规则。
图11是图5所示系统中所述查找单元320的结构示意图,其中,如图11所示,所述查找单元320包括:
第一选择子单元321,用于选择所有模拟规则中的一条模拟规则;
第一判断子单元322,用于判断所述接收的请求是否符合所选择的模拟规则;
第一执行子单元323,用于如果所述接收的请求符合所选择的模拟规则,则执行所述根据获得的模拟规则返回预定义的模拟响应的处理。
另外,所述查找单元还可包括:
第二判断子单元,用于如果所述接收的请求不符合所选择的模拟规则,则判断是否还有其他模拟规则;
第二执行子单元,用于如果还有其他模拟规则,则选择另一条模拟规则,并回到执行所述判断所述接收的请求是否符合所选择的模拟规则的处理;
错误返回子单元,用于如果没有其他模拟规则,则向客户端返回预定义错误的提示。
需要说明的是,在实际应用中,客户端发送HTTP请求至Mock Server,解析请求来源ip,获取Mock Server本地对应的独立环境。获取环境定义的所有Mock规则,默认选择第一条Mock规则。判断HTTP请求是否符合第一条规则,符合,则返回预先定义的模拟响应。不符合,则返回预定义错误,如:404。对于Mock规则的创建、删除,除页面配置外,Mock Server提供SDK方式,用户可通过编码方式调用Mock Server。
实施本发明所述方法的实施方式,可得到如下有益效果:解决前后端分离开发中接口调用和数据构造依赖,将大大提高前后端开发的效率;化繁为简,将复杂繁琐的桩模块开发变得简单、灵活和配置管理化。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件结合硬件平台的方式来实现,当然也可以全部通过硬件来实施。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,智能手机或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本发明说明书中使用的术语和措辞仅仅为了举例说明,并不意味构成限定。本领域技术人员应当理解,在不脱离所公开的实施方式的基本原理的前提下,对上述实施方式中的各细节可进行各种变化。因此,本发明的范围只由权利要求确定,在权利要求中,除非另有说明,所有的术语应按最宽泛合理的意思进行理解。
Claims (16)
1.一种模拟服务的方法,其特征在于,所述方法包括:
接收客户端发送的请求;
根据所述接收的请求获取模拟环境中对应的独立环境名;
根据获得的独立环境名获取模拟规则;
根据获得的模拟规则返回预定义的模拟响应。
2.根据权利要求1所述的方法,其特征在于,所述模拟环境为根据不同请求的源IP区分的不同的模拟规则分组。
3.根据权利要求1或2所述的方法,其特征在于,所述模拟规则定义了请求与相应的模拟响应的描述。
4.根据权利要求2所述的方法,其特征在于,所述请求的源IP到所述模拟环境的映射存储于模拟配置文件中。
5.根据权利要求1所述的方法,其特征在于,根据所述请求获取模拟环境中对应的独立环境名包括:
解析所述接收的请求解析出该请求的源IP;
根据所述模拟配置文件中源IP到模拟环境的映射获取所述解析出的源IP对应的模拟环境的独立环境名。
6.根据权利要求4所述的方法,其特征在于,所述根据获得的独立环境名获取模拟规则包括:
获取所述解析出的源IP对应的模拟环境中的所有模拟规则;
遍历所有模拟规则以查找出与所述接收的请求匹配的模拟规则。
7.根据权利要求6所述的方法,其特征在于,所述遍历所有模拟规则以查找出与所述接收的请求匹配的模拟规则包括:
选择所有模拟规则中的一条模拟规则;
判断所述接收的请求是否符合所选择的模拟规则;
如果所述接收的请求符合所选择的模拟规则,则执行所述根据获得的模拟规则返回预定义的模拟响应的处理。
8.根据权利要求7所述的方法,其特征在于,所述遍历所有模拟规则以查找出与所述接收的请求匹配的模拟规则还包括:
如果所述接收的请求不符合所选择的模拟规则,则判断是否还有其他模拟规则;
如果还有其他模拟规则,则选择另一条模拟规则,并回到执行所述判断所述接收的请求是否符合所选择的模拟规则的处理;
如果没有其他模拟规则,则向客户端返回预定义错误的提示。
9.一种模拟服务系统,其特征在于,所述系统包括:
请求接收模块,用于接收客户端发送的请求;
第一获取模块,用于根据所述接收的请求获取模拟环境中对应的独立环境名;
第二获取模块,用于根据获得的独立环境名获取模拟规则;
响应返回模块,用于根据获得的模拟规则返回预定义的模拟响应。
10.如权利要求9所述的系统,其特征在于,所述模拟环境为根据不同请求的源IP区分的不同的模拟规则分组。
11.如权利要求9或10所述的系统,其特征在于,所述模拟规则定义了请求与相应的模拟响应的描述。
12.如权利要求10所述的系统,其特征在于,所述请求的源IP到所述模拟环境的映射存储于模拟配置文件中。
13.如权利要求7所述的系统,其特征在于,所述第一获取模块包括:
解析单元,用于解析所述接收的请求解析出该请求的源IP;
第一获取单元,用于根据所述模拟配置文件中源IP到模拟环境的映射获取所述解析出的源IP对应的模拟环境的独立环境名。
14.如权利要求12所述的系统,其特征在于,所述第二获取模块包括:
第二获取单元,用于获取所述解析出的源IP对应的模拟环境中的所有模拟规则;
查找单元,用于遍历所有模拟规则以查找出与所述接收的请求匹配的模拟规则。
15.如权利要求14所述的系统,其特征在于,所述查找单元包括:
第一选择子单元,用于选择所有模拟规则中的一条模拟规则;
第一判断子单元,用于判断所述接收的请求是否符合所选择的模拟规则;
第一执行子单元,用于如果所述接收的请求符合所选择的模拟规则,则执行所述根据获得的模拟规则返回预定义的模拟响应的处理。
16.如权利要求14所述的系统,其特征在于,所述查找单元还包括:
第二判断子单元,用于如果所述接收的请求不符合所选择的模拟规则,则判断是否还有其他模拟规则;
第二执行子单元,用于如果还有其他模拟规则,则选择另一条模拟规则,并回到执行所述判断所述接收的请求是否符合所选择的模拟规则的处理;
错误返回子单元,用于如果没有其他模拟规则,则向客户端返回预定义错误的提示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610921213.7A CN107122292A (zh) | 2016-10-21 | 2016-10-21 | 一种模拟服务的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610921213.7A CN107122292A (zh) | 2016-10-21 | 2016-10-21 | 一种模拟服务的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107122292A true CN107122292A (zh) | 2017-09-01 |
Family
ID=59717137
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610921213.7A Pending CN107122292A (zh) | 2016-10-21 | 2016-10-21 | 一种模拟服务的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107122292A (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107659455A (zh) * | 2017-10-16 | 2018-02-02 | 武汉斗鱼网络科技有限公司 | 一种iOS端Mock数据的方法、存储介质、设备及系统 |
CN107733866A (zh) * | 2017-09-12 | 2018-02-23 | 阿里巴巴集团控股有限公司 | Rpc请求、rpc请求处理方法、装置以及设备 |
CN108563567A (zh) * | 2018-04-09 | 2018-09-21 | 平安普惠企业管理有限公司 | 自动化测试方法、装置、设备及计算机可读存储介质 |
CN108563578A (zh) * | 2018-04-20 | 2018-09-21 | 平安科技(深圳)有限公司 | Sdk兼容性检测方法、装置、设备及可读存储介质 |
CN108897691A (zh) * | 2018-06-29 | 2018-11-27 | 百度在线网络技术(北京)有限公司 | 基于接口模拟服务的数据处理方法、装置、服务器和介质 |
CN109213487A (zh) * | 2018-08-22 | 2019-01-15 | 郑州云海信息技术有限公司 | 一种数据获取方法及其相关设备 |
CN109768951A (zh) * | 2018-08-17 | 2019-05-17 | 付东光 | 远程模拟数据方法及远程虚拟服务器 |
CN110162464A (zh) * | 2019-04-19 | 2019-08-23 | 平安普惠企业管理有限公司 | Mcok测试方法及系统、电子设备及可读存储介质 |
CN110389751A (zh) * | 2019-07-17 | 2019-10-29 | 北京海致星图科技有限公司 | 一种应用于知识图谱的数据接口mock方法 |
CN110727524A (zh) * | 2019-10-17 | 2020-01-24 | 广州欢聊网络科技有限公司 | 一种实现远程过程调用的方法及装置 |
CN110798380A (zh) * | 2019-10-23 | 2020-02-14 | 北京奇艺世纪科技有限公司 | 一种数据获取方法、系统、装置、测试设备及测试服务器 |
CN111045943A (zh) * | 2019-12-11 | 2020-04-21 | 广州品唯软件有限公司 | Mock数据的生成方法、测试系统及可读存储介质 |
CN112181824A (zh) * | 2020-09-25 | 2021-01-05 | 中国建设银行股份有限公司 | 系统开发辅助平台及方法 |
CN112383434A (zh) * | 2020-11-17 | 2021-02-19 | Oppo广东移动通信有限公司 | 网络请求的接口模拟方法、装置、电子设备和存储介质 |
CN112445700A (zh) * | 2019-09-05 | 2021-03-05 | 腾讯科技(深圳)有限公司 | 测试方法和装置 |
CN113746851A (zh) * | 2021-09-08 | 2021-12-03 | 上海幻电信息科技有限公司 | 一种支持实时解析grpc请求的代理系统和方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103297475A (zh) * | 2012-03-01 | 2013-09-11 | 阿里巴巴集团控股有限公司 | Mock服务系统及Mock服务的处理方法 |
CN103399776A (zh) * | 2013-05-02 | 2013-11-20 | 携程计算机技术(上海)有限公司 | 可重用mock创建方法及系统 |
CN103580937A (zh) * | 2012-07-24 | 2014-02-12 | 阿里巴巴集团控股有限公司 | 一种Web 服务模拟的方法及其系统和服务代理系统 |
CN104618433A (zh) * | 2014-12-26 | 2015-05-13 | 国家电网公司 | 一种基于eca规则的服务组合方法 |
CN104683386A (zh) * | 2013-11-26 | 2015-06-03 | 腾讯科技(深圳)有限公司 | 可定制响应的桩服务实现方法及装置 |
CN104834590A (zh) * | 2014-02-11 | 2015-08-12 | 腾讯科技(深圳)有限公司 | 软件测试方法和系统 |
CN105099801A (zh) * | 2014-05-07 | 2015-11-25 | 中国电信股份有限公司 | 信息管理系统的测试系统和测试环境模拟方法 |
CN105302721A (zh) * | 2015-10-29 | 2016-02-03 | 普元信息技术股份有限公司 | 云计算平台中实现集中模拟服务器集成测试的系统及方法 |
-
2016
- 2016-10-21 CN CN201610921213.7A patent/CN107122292A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103297475A (zh) * | 2012-03-01 | 2013-09-11 | 阿里巴巴集团控股有限公司 | Mock服务系统及Mock服务的处理方法 |
CN103580937A (zh) * | 2012-07-24 | 2014-02-12 | 阿里巴巴集团控股有限公司 | 一种Web 服务模拟的方法及其系统和服务代理系统 |
CN103399776A (zh) * | 2013-05-02 | 2013-11-20 | 携程计算机技术(上海)有限公司 | 可重用mock创建方法及系统 |
CN104683386A (zh) * | 2013-11-26 | 2015-06-03 | 腾讯科技(深圳)有限公司 | 可定制响应的桩服务实现方法及装置 |
CN104834590A (zh) * | 2014-02-11 | 2015-08-12 | 腾讯科技(深圳)有限公司 | 软件测试方法和系统 |
CN105099801A (zh) * | 2014-05-07 | 2015-11-25 | 中国电信股份有限公司 | 信息管理系统的测试系统和测试环境模拟方法 |
CN104618433A (zh) * | 2014-12-26 | 2015-05-13 | 国家电网公司 | 一种基于eca规则的服务组合方法 |
CN105302721A (zh) * | 2015-10-29 | 2016-02-03 | 普元信息技术股份有限公司 | 云计算平台中实现集中模拟服务器集成测试的系统及方法 |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107733866A (zh) * | 2017-09-12 | 2018-02-23 | 阿里巴巴集团控股有限公司 | Rpc请求、rpc请求处理方法、装置以及设备 |
CN107659455A (zh) * | 2017-10-16 | 2018-02-02 | 武汉斗鱼网络科技有限公司 | 一种iOS端Mock数据的方法、存储介质、设备及系统 |
WO2019075994A1 (zh) * | 2017-10-16 | 2019-04-25 | 武汉斗鱼网络科技有限公司 | 一种iOS端Mock数据的方法、存储介质、设备及系统 |
CN107659455B (zh) * | 2017-10-16 | 2020-01-03 | 武汉斗鱼网络科技有限公司 | 一种iOS端Mock数据的方法、存储介质、设备及系统 |
CN108563567A (zh) * | 2018-04-09 | 2018-09-21 | 平安普惠企业管理有限公司 | 自动化测试方法、装置、设备及计算机可读存储介质 |
CN108563567B (zh) * | 2018-04-09 | 2023-07-14 | 绍兴君鸿智能科技有限公司 | 自动化测试方法、装置、设备及计算机可读存储介质 |
CN108563578A (zh) * | 2018-04-20 | 2018-09-21 | 平安科技(深圳)有限公司 | Sdk兼容性检测方法、装置、设备及可读存储介质 |
CN108897691A (zh) * | 2018-06-29 | 2018-11-27 | 百度在线网络技术(北京)有限公司 | 基于接口模拟服务的数据处理方法、装置、服务器和介质 |
CN108897691B (zh) * | 2018-06-29 | 2022-02-15 | 百度在线网络技术(北京)有限公司 | 基于接口模拟服务的数据处理方法、装置、服务器和介质 |
CN109768951A (zh) * | 2018-08-17 | 2019-05-17 | 付东光 | 远程模拟数据方法及远程虚拟服务器 |
CN109213487A (zh) * | 2018-08-22 | 2019-01-15 | 郑州云海信息技术有限公司 | 一种数据获取方法及其相关设备 |
CN110162464A (zh) * | 2019-04-19 | 2019-08-23 | 平安普惠企业管理有限公司 | Mcok测试方法及系统、电子设备及可读存储介质 |
CN110389751B (zh) * | 2019-07-17 | 2022-02-08 | 北京海致星图科技有限公司 | 一种应用于知识图谱的数据接口mock方法 |
CN110389751A (zh) * | 2019-07-17 | 2019-10-29 | 北京海致星图科技有限公司 | 一种应用于知识图谱的数据接口mock方法 |
CN112445700A (zh) * | 2019-09-05 | 2021-03-05 | 腾讯科技(深圳)有限公司 | 测试方法和装置 |
CN112445700B (zh) * | 2019-09-05 | 2023-10-13 | 腾讯科技(深圳)有限公司 | 测试方法和装置 |
CN110727524A (zh) * | 2019-10-17 | 2020-01-24 | 广州欢聊网络科技有限公司 | 一种实现远程过程调用的方法及装置 |
CN110798380A (zh) * | 2019-10-23 | 2020-02-14 | 北京奇艺世纪科技有限公司 | 一种数据获取方法、系统、装置、测试设备及测试服务器 |
CN111045943A (zh) * | 2019-12-11 | 2020-04-21 | 广州品唯软件有限公司 | Mock数据的生成方法、测试系统及可读存储介质 |
CN112181824A (zh) * | 2020-09-25 | 2021-01-05 | 中国建设银行股份有限公司 | 系统开发辅助平台及方法 |
CN112383434A (zh) * | 2020-11-17 | 2021-02-19 | Oppo广东移动通信有限公司 | 网络请求的接口模拟方法、装置、电子设备和存储介质 |
CN112383434B (zh) * | 2020-11-17 | 2023-08-08 | Oppo广东移动通信有限公司 | 网络请求的接口模拟方法、装置、电子设备和存储介质 |
CN113746851A (zh) * | 2021-09-08 | 2021-12-03 | 上海幻电信息科技有限公司 | 一种支持实时解析grpc请求的代理系统和方法 |
CN113746851B (zh) * | 2021-09-08 | 2023-08-18 | 上海幻电信息科技有限公司 | 一种支持实时解析grpc请求的代理系统和方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107122292A (zh) | 一种模拟服务的方法及系统 | |
Kaiser et al. | Kinesthetics extreme: An external infrastructure for monitoring distributed legacy systems | |
CN106776313A (zh) | 一种模拟服务的方法、装置及集中管理平台 | |
US20050125771A1 (en) | System and method for dynamic generation and customization of web service client applications for terminals | |
CN102609409B (zh) | 一种在线翻译方法、装置、系统及服务器 | |
JP2011086291A (ja) | システムランドスケープ対応アプリケーション間通信インフラストラクチャ | |
CN103023708A (zh) | 通信协议接口的测试方法及系统 | |
Speiser et al. | Taking the lids off data silos | |
CN107872437A (zh) | 一种用于业务请求的方法、装置及服务器 | |
US20210034338A1 (en) | Communications Enablement Platform, System, and Method | |
CN107665237A (zh) | 数据结构分类装置、非结构化数据的发布订阅系统及方法 | |
CA2527447A1 (en) | Message oriented construction of web services | |
Möller et al. | HLA evolved–a summary of major technical improvements | |
CN105407163B (zh) | 应用于反洗钱处理的数据处理系统及方法 | |
Padgham et al. | A unified graphical notation for AOSE | |
CN107733716A (zh) | 分布式文件系统日志分析方法、系统、设备及存储介质 | |
Pullen et al. | Multi-Schema and Multi-Server Advances for C2-Simulation Interoperation in MSG-085 | |
CN101924815A (zh) | 3g moa 手机中间件嵌入式系统 | |
CN110020261A (zh) | 文档转换分享方法、装置、设备及可读存储介质 | |
CN111562964A (zh) | 一种基于规则引擎的结算业务系统模拟器实现方法 | |
ITPN20100067A1 (it) | Procedimento per la trasmissione selettiva e personalizzata di dati ad un dispositivo mobile e sistema client/server che attua il procedimento | |
US20060242629A1 (en) | Systems and methods for remote cross-platform instructions | |
KR20020085985A (ko) | 리치 미디어의 실시간 전송 시스템 | |
CN104239068B (zh) | 多维度语义web服务开发方法 | |
Thomas et al. | Net-centric adapter for legacy systems |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 100085 Beijing, Haidian District on the road to the information on the ground floor of the 1 to the 3 floor of the 2 floor, room 11, 202 Applicant after: Beijing Xingxuan Technology Co.,Ltd. Address before: 100085 Beijing, Haidian District on the road to the information on the ground floor of the 1 to the 3 floor of the 2 floor, room 11, 202 Applicant before: Beijing Xiaodu Information Technology Co.,Ltd. |
|
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170901 |