原创: George555 公众号: 测试江湖路
如果这些内容对你有帮助,也可以打开微信扫一扫,加关注:
之前一直苦恼着,怎么修改接口返回值内容,来模拟一个虚拟假接口协议,供当前业务系统接口配合使用。后来经过查资料,翻百度,发现一个很好用的方法,在这里总结下,防止久而忘之。
修改返回值常用的有3种方法:
1.Map Remote:远端映射,把指定的网络请求(From)重定向(To)到另一个网址上
2.Map Local:本地映射,把指定的网络请求(From)重定向(To)到本地文件上
3.Rewrite:把网络请求进行一下正则替换,可以匹配多个请求
说明:经过这样的重定向后就可以实现,当触发真实业务接口时,只有遇到此处重定向的接口时,会替换掉已重定向接口的请求或返回内容。其他接口还是系统已有的接口。
一、Map Remote:
进入Tools-Map Remote后,弹出如下窗口:
勾选Enable Map Remote-点Add,弹出如下图:
a.Map From:填入你指定的需要修改返回值内容的原始接口信息(http/https、Host、Port、Path、Query)
说明:原始接口信息可以通过在指定接口上右键-选择Viewer Mappings来获取,如下图:
b.Map To:填入你要模拟的虚拟接口的信息的请求部分。当然此接口必须真实可以访问。
特殊说明:比如利用moco手段模拟的接口,这样对应的返回值部分将在moco的接口中提现,如果要修改返回值内容,将moco中的接口返回值进行修改即可。
二、Map Local:
进入Tools-Map Local后,弹出如下窗口:
勾选Enable Map Local-点Add,弹出如下图:
a.Map From:填入你指定的需要修改返回值内容的原始接口信息(http/https、Host、Port、Path、Query) 。原始信息获取同Map Remote方式相同
b.Map To:选择本地存在的接口返回值文件。
说明:返回值文件生成通过以下方式:
接口上右键-Save Response
三、Rewrite:
进入Tools-Rewrite后,弹出如下窗口:
勾选Enable Rewrite后点Add,如下图:
Location-Add点击后,如下图:
此功能同Map Remote/Map Local里的Map From配置类似。
在Rules板块点Add,如下图:
此处是需要修改返回值,模拟的正则匹配规则配置。
Type中有如下选项:
Add Header
Modify Header
Remove Header
Host:修改域名 (最近项目中用到了这个,把所有请求域名都给换掉了)
Path
URL
Add Query Param
Modify Query Param
Remove Query Param
Response Status
Body
说明:表示可以用正则匹配方式替换这些类型中的信息。然后再发送请求出去。
【示例1】:遇到Locations中指定接口返回值中有“测试”两个字的 全部替换成 “修改测试后”。如果未指定Locations,则对所有接口起作用
【示例2】:修改请求的域名
Type中选择Host,Match的value中输入需要替换的原接口域名。
Replace中的value输入新域名即可。点ok后点Apply结束。下图则是业务app发出的请求:
Notes中显示Rewrite Tool: oldhost.com" => "newhost.com"
#####欢迎大家加群交流####
微信群请先加群主微信,群主会拉各位小伙伴进群。