引子
单位近期要研究应用挡板,找了下开源框架,发现MockServer挺不错,官网介绍很详细,但系统的中文资料比较稀缺,干脆自行翻译一下吧,just do it!
① MockServer是什么
MockServer能用来模拟任何集成了Http或者Https功能的系统
MockServer可以:
- 当接收到一个预期的请求时,返回一个模拟的响应
- 当接收到一个预期的请求时,转发请求(相当于一个用于转发代理的动态端口)
- 当接收到一个预期的请求时,执行一个回调,允许动态创建响应
- 校验发送的请求(在一个测试断言内)
② MockServer代理是什么
MockServer代理能用来透明地录制所有发自测试系统(比如一个应用,或者一组应用)的请求
MockServer代理可以:
-
代理所有使用下列代理方法的请求:
- 端口转发
- 网络代理(也就是HTTP代理)
- HTTPS隧道代理(使用HTTP建立连接)
- SOCKS代理(动态端口转发)
校验发送的请求(在一个测试断言内)
通过录制请求和响应,分析系统行为
MockServer代理提供以下特性:
- 端口转发:
- 所有向指定本地端口的请求都会转发到一个不同的(本地或远程)端口和一个被代理的系统的主机地址
- 对于代理请求,HTTP客户端应该使用MockServer代理的主机名和端口,而不是被代理系统的(主机名和端口)
- 网络代理:(也就是HTTP代理)
- 每个请求都会依据其主机头部信息被动态地转发
- 对于代理请求,HTTP客户端需要配置一个HTTP代理
- 安全隧道代理(也就是HTTPS隧道代理)
- 所有请求都是通过一个设置好的HTTP隧道连接请求进行转发
- 自动生成SSL证书,从而可以透明的录制加密的HTTPS通信
- 对于代理请求,HTTP客户端需要配置一个HTTP代理
- SOCKS代理(也就是动态端口转发)
- 所有请求都是通过一个使用了SOCK CONNECT CMD请求来建立的套接字通道进行转发
- 如果通信被加密,SSL证书会自动创建,从而可以对SSL通信进行透明地录制
- 对于代理请求,操作系统(或者JVM)需要配置一个HTTP代理
- SSL和证书管理
- 所有SSL通信都是由一个自动创建的证书进行管理的
- 证书创建用的是一个单独的MockServer root CA 证书管理中心来管理的,这个管理中心能很便捷地导入根证书
- 统一端口:
- 支持使用相同的端口来所有协议(HTTP、HTTPS/SSL、SOCKS等等)
- MockServer和MockServer代理都能动态检测协议
to be continued...... [Post in CSDN & 简书] =>转载请注明出处, 谢谢!