Mock接口平台Moco学习

Posted louiezhou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mock接口平台Moco学习相关的知识,希望对你有一定的参考价值。

Mock就是模拟接口的。本文学习Mock的 Moco开源框架。

Moco源码和jar下载地址: git  jar  下载moco-runner-0.12.0-standalone.jar

  • moco的启动及第一个demo

Step1: 在项目中创建一个package:moco,并将下载的jar包放在该package下。

Step2:创建一个json文件,格式如下:

技术图片
[
  {
   "description":"This is my first mock demo",
   "request":{
       "uri":"/demo"
   },
   "response":{
       "text":"This is response"
   }
  }
]
技术图片

Step3:cmd进入到该package下,运行命令:java -jar ./moco-runner-0.12.0-standalone.jar http -p 8888 -c startup1.json

在命令行中出现,则命令运行成功

29 Apr 2019 14:31:54 [main] INFO  Server is started at 8888
29 Apr 2019 14:31:55 [main] INFO  Shutdown port is 52901

Step4:打开浏览器,输入 localhost:8888.在浏览器上就可以看到我们在json文件中定义的数据。

 

  • Moco框架的http协议get方法的Mock实现

1. 不带参数的get实现:

技术图片
[
  {
   "description":"This is Get request without paramter",
   "request":{
       "uri":"/getdemo",
       "method":"get"
   },
   "response":{
       "text":"This is response for Get request without paramter "
   }
  }
]
技术图片

2.带参数的get实现:

技术图片
{
   "description":"This is Get request with paramter",
   "request":{
       "uri":"/getwithparam",
       "method":"get",
       "queries":{
           "name":"zhangsan",
           "age":"18"
       }
   },
   "response":{
       "text":"This is response for Get request with paramter "
   }
  }
技术图片

在浏览器中访问:http://localhost:8888/getwithparam?name=zhangsan&age=18 就可以返回定义的json数据。

 

  • Moco框架的http协议Post方法的Mock实现

1.不带参数的post请求

技术图片
[
  {
   "description":"This is Post request",
   "request":{
       "uri":"/postdemo",
       "method":"post"
   },
   "response":{
       "text":"This is Post response"
   }
  }
]
技术图片

注意的是post请求不能直接在浏览器中访问,这个时候我们就需要借助jmeter postman等测试工具进行post请求的测试了。具体方法这里不演示。

2.带参数的post请求实现

技术图片
 { 
   "description":"This is Post request with paramter",
   "request":{
       "uri":"/postwithparam",
       "method":"post",
       "forms":{
           "name":"zhangsan",
           "age":"18"
       }
   },
   "response":{
       "text":"This is Post response with paramter"
   }
  }
技术图片

 

  • Moco框架如何加入Cookies

1.带cookies信息的get请求

技术图片
  {
   "description":"This is Get request with cookies",
   "request":{
       "uri":"/get/with/cookies",
       "method":"get",
       "cookies":{
          "login":"true"
       }
   },
   "response":{
       "text":"This is get response with cookies"
   }
  }
技术图片

2.带cookies信息的post请求

技术图片
 { 
   "description":"This is Post request with cookies",
   "request":{
       "uri":"/post/with/cookies",
       "method":"post",
       "cookies":{
          "login":"true"
       }
       "json":{
           "name":"zhangsan",
           "age":"18"
       }
   },
   "response":{
       "status":200,
       "json":{
          "zhangsan":"success",
           "status":"1"
       }
   }
  }
技术图片

 

  • Moco框架如何加入Header

Header请求头信息的格式在get和post请求中是一致的。

技术图片
 { 
   "description":"This is Post request with header",
   "request":{
       "uri":"/postwithheader",
       "method":"post",
       "headers":{
           "content-type":"application/json"
       },
       "json":{
           "name":"zhangsan",
           "age":"18"
       }
   },
   "response":{
       "text":"This is Post response with paramter"
   }
  }
技术图片

 

  • Moco框架如何进行重定向

1.重定向到baidu

技术图片
{
   "description":"redirect to www.baidu.com",
   "request":{
       "uri":"/redirect"
    },
   "redirectTo":"http://www.baidu.com"
  }
技术图片

 2.重定向到自己网站的某个地址

技术图片
{
   "description":"redirect to my path",
   "request":{
       "uri":"/redirect2"
    },
   "redirectTo":"redirected"
  },

  {
   "description":"This is my path",
   "request":{
       "uri":"/redirected"
   },
   "response":{
       "text":"redirect success!"
   }
  }
技术图片

 技术图片

关注vx公众号了解更多内容

 

以上是关于Mock接口平台Moco学习的主要内容,如果未能解决你的问题,请参考以下文章

接口测试 mock server 工具moco学习笔记

接口测试Mock利器-moco runner

接口测试Mock利器-moco runner

moco使用

Mock

『居善地』接口测试 — 21.Mock功能介绍(二)