MockServer学习

来源:互联网 发布:java制作骰子 编辑:程序博客网 时间:2024/06/07 03:22

引子

单位近期要研究应用挡板,找了下开源框架,发现MockServer挺不错,官网介绍很详细,但系统的中文资料比较稀缺,干脆自行翻译一下吧,just do it!


① 什么是MockServer

MockServer能用来模拟任何集成了Http或者Https功能的系统

MockServer可以:

  • 当接收到一个预期的请求时,返回一个模拟的响应
  • 当接收到一个预期的请求时,转发请求(相当于一个用于转发代理的动态端口)
  • 当接收到一个预期的请求时,执行一个回调,允许动态创建响应
  • 校验发送的请求(在一个测试断言内)

② 什么是MockServer代理

MockServer代理能用来透明地录制所有发自测试系统(比如一个应用,或者一组应用)的请求

MockServer代理可以:

  • 代理所有使用下列代理方法的请求:

    1. 端口转发
    2. 网络代理(也就是HTTP代理)
    3. HTTPS隧道代理(使用HTTP建立连接)
    4. 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 & 简书] **=>转发请注明出处, 谢谢!**
原创粉丝点击