-
Notifications
You must be signed in to change notification settings - Fork 27
AnyMockWeb管理后台
ReneJiang edited this page Apr 3, 2019
·
1 revision
AnyMock提供一个开源的接口管理后台,它提供节点空间的管理、Mock接口查看、修改和创建。这里,我们将会详细讲述如何通过简单的步骤就可以使用这些功能。
AnyMock平台有空间和项目的概念,接口在创建时要设置所属项目,项目在空间管理中新建。可以创建多个空间,一个空间下可以创建多个项目,项目中不可再创建项目。
注 AnyMock保留空间下的项目和接口不可修改。
接口:在AnyMock平台,接口是Mock的具体实现,包含Mock的各个属性的定义
配置模式:AnyMock支持3种响应配置模式:static静态文本、groovy自定义脚本、groovy多路由码预设。用户可以根据需要灵活选择。
响应:AnyMock平台最终返回的mock内容。选择不同的配置模式,响应设置也会随之不同。
接口配置页面有3部分,第一部分是基础设置,是接口相关属性的设置。第二部分是同步响应设置,是接口同步响应内容的设置。第三部分是异步请求设置,默认不显示,只有“异步请求”开关开启才会显示。
基础设置:
- 接口名称 :起一个符合接口内容的名字,便于大家维护和使用。没有限制,自己了解即可。
- 请求类型:分为POST和GET两种请求类型。
- 项目:一条项目包含0个或多个接口,用于对接口进行分类管理。单击选择下拉列表的空间项目树,填充该“项目”的字段值。
- 接口URL:指Mock接口接受请求的地址,其格式为不包含IP的URL,在AnyMock平台全局唯一。 形如:/mymock/test,要确保这个URL在平台上没有被其他接口所使用,否则接口无法保存成功。
- 配置模式:默认选择静态文本,指AnyMock平台通过何种脚本语言来解析请求参数。选择groovy指的是响应内容由groovy脚本编写,把groovy脚本执行的结果作为输出。这种基本能支持所有的mock配置需求。
- 异步请求:默认开关是关闭状态,指该接口是同步请求类型,Mock同步返回响应内容。开关设置为开启,指接口是异步请求类型,Mock同步返回一个响应报文后,会再发起一个异步的通知到回调地址上。若配置成异步回执的方式,页面会扩展出“异步请求”设置tab。
- 是否启用:默认开关是开启状态,指该接口可访问。开关关闭,指该接口不可访问。
同步响应:
- 延迟:接口延迟响应时间,比如希望在Mock在收到请求3秒钟之后再响应,就可以配置为3000。以毫秒为单位。
- 响应头:设置同步返回的http响应头,比如content-type。
- 响应内容:使用配置模式中设置的类型,返回报文内容的模板,用请求数据填充该模板计算出来的内容作为最后返回内容。
- static静态文本:选择这种配置模式,平台会将配置的响应内容作为静态文本直接返回。
- groovy自定义脚本:选择这种配置模式,要求响应中的脚本使用groovy语法编写,核心服务core系统使用groovy脚本引擎解析配置的响应内容。
- groovy多路由码预设:选择这种配置模式,要求基础设置里使用groovy语法编写路由规则,在响应中配置多个响应模板。
- 路由解析规则(Switch)& 响应路由码:配置模式选groovy多路由码预设时出现,输出值用于匹配响应模板的路由码。这2个字段比较重要,也相对有一些费解。 通过一个例子来说明,比如银行支付接口,响应的内容区分支付成功和支付失败的两种接口,两种响应报文也有差异。对于测试,当然需要覆盖两种情况,所以需要在平台两种报文都需要配置,平台是通过模板来支持的。支付成功的响应报文由支付成功的模板来生成,支付失败的响应报文有支付失败的模板来生成。对于一次请求,平台怎么判断要用支付成功的模板还是支付失败的模板呢?就需要先设置一些规则,比如支付接口请求里会传递卡号(cardno)字段,可以设置cardno==A时返回成功,cardno== B 时返回失败。那就把A设置为支付成功的响应协议码,把B作为支付失败的响应协议码,协议码解析规则则是从请求里获取cardno的值得过程。如此,当一次银行支付请求到平台后,先根据协议码解析规则计算出模板的协议码,再根据协议码来选择模板。
异步响应:
- 请求类型:分为POST和GET两种请求类型。
- 延迟:接口异步请求的延迟响应时间,比如希望在Mock在同步响应3秒钟之后再响应,就可以配置为3000。以毫秒为单位。
- 响应头:设置异步请求的http响应头,比如content-type。
- 异步URL:是接收异步回执请求的地址。此处应该是HTTP请求的完整URL,包括协议、IP、Port、PATH及querystring.