接口测试 再次优化下利用 http 代理修改响应的小工具

JoyMao · 2022年06月13日 · 最后由 xyhiacb 回复于 2022年07月03日 · 3474 次阅读

去年有空的时候利用一个 go 端开源代理编写了一个用于替换响应的小工具(http://testerhome.com/topics/31557
其实 fiddler 有类似的功能,但我想针对 URL 进行相应内容、响应头的更新、替换,fiddler 会比较麻烦或不好复用,于是写了个轻量的。
最早的规则是 json 文件,修改后自动更新(10s),但看到一些 web 端的 json 编辑器后,就稍微优化下,使用 jsoneditor,可以在 web 端进行配置修改。

使用说明

【一】添加证书为根路径信任证书

windows 安装 z.x509.cer 证书(双击,不小心删除也没关系会重新生成),选择第三方根证书颁发机构,这样重启浏览器,使用 go_httpmock 的代理时的 https 请求就可信任了。
另外直接访问http://127.0.0.1:8088页面直接提供下载证书,及修改配置

【二】配置上行(upstream)代理

在启动之前配置 upstreamProxyConfig.json 即可设置上行代理,结构如下:

upstreamProxyConfig.json
{
  "proxyActive": false,
  "proxyUrl":"http://192.168.16.67:8080",
  "proxyUser": "",
  "proxyPassword": ""
}
  • proxyActive: false 表示不使用上行代理,true 表示启用
  • proxyUrl:如上格式,表示使用我们的 P 版 67 代理,如想转发到 fiddler 上,可以配置"http://127.0.0.1:8888"
  • proxyUser,proxyPassword:则表示上行代理需要验证的情况,输入对应用户名、密码

【三】规则配置(访问:http://127.0.0.1:8088


主要是利用 jsoneditor 的模板及 json-schema 校验来简化一些配置操作,如某项规则不需要,移除即可

具体功能 (respFiles 文件夹下放用于替换的文件)

  • 可以直接获取提供的响应文件: http://[ip]:8088/respFiles/[文件名]
  • 利用代理,根据 URL 匹配规则,针对对应 URL 进行修改、增加相应头,也可以利用准备好的文件(比如 json、图片)进行替换响应内容
  • 也可利用代理,根据 URL 匹配规则,进行 URL 匹配替换或修改转发到新的地址上

效果演示(替换响应的图片 ---- 恶作剧)

代码及 released 见 github(只编译了 windows 的,其他系统自行编译)

https://github.com/mao303mao/go_httpmock

共收到 1 条回复 时间 点赞

不错的小工具,赞一个

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册