moco框架的使用

一、moco简介

moco框架是github上的一个开源项目,可模拟http,https,Socket协议。

mock测试就是在测试过程中,对于某些不容易构造  或者  不容易获取的对象  又或者  开发还未完成开发的功能实现,用一个虚拟的对象来创建以便测试的测试方法。

二、moco框架的下载及启动

下载:https://github.com/dreamhead/moco

这里我的moco目录结构是在同一文件夹下,这样的:

启动:java -jar moco-runner-1.0.0-standalone.jar http -p 2222 -c get_data.json (启动协议为http的mock服务,服务端口2222)

三、模拟GET请求

以下是模拟get请求已经写好的要模拟数据,包括请求uri,method,参数,响应内容

 1 [
 2   {
 3     "description":"不带参数的get请求",
 4     "request":{
 5       "uri":"/withGetDemo",
 6       "method":"get"
 7     },
 8     "response":{
 9       "text":"这是不带参数的get请求"
10     }
11   },
12   {
13     "description":"带参数的get请求,p1,p2分别的参数1,参数2,名称可随便起,个数也可随便加",
14     "request":{
15       "uri":"/wihtGetDemobyParam",
16       "method":"get",
17       "queries":{
18         "p1":"hh",
19         "p2":"good"
20       }
21     },
22     "response":{
23       "text":"这是带参数的get请求"
24     }
25   }
26 ]

这里我用浏览器模拟第一个get请求,得到的响应如下:

这里我用postman模拟第二个带有请求参数的get请求,得到的响应如下:

 四、模拟POST请求

以下为post请求的几种请求方式:

1、不带参数的post请求

2、带参数的post请求

3、带cookie的post请求

4、带header的post请求

模拟的返回响应数据如下

 1 [
 2   {
 3     "description":"不带参数的post请求",
 4     "request":{
 5       "uri":"/postDemo",
 6       "method":"post"
 7     },
 8     "response":{
 9       "text":"这是不带参数的post请求"
10     }
11   },
12   {
13     "description":"带参数的post请求",
14     "request":{
15       "uri":"/postDemoWithParam",
16       "method":"post",
17       "forms":{
18         "param1":"one",
19         "param2":"two"
20       }
21     },
22     "response":{
23       "json":{"name":"han","age":30,"address":"beijing daxing"}
24     }
25   },
26   {
27     "description":"带cookie的Post请求",
28     "request":{
29         "uri":"/postDemoWithCookies",
30         "method":"post",
31         "cookies":{
32             "login":"true"
33         },
34         "json":{
35             "name":"hi",
36             "age":"3"
37         }
38     },
39     "response":{
40         "status":"200",
41         "json":{
42             "name":"success",
43             "status":"1"
44         }
45     }
46   },
47 
48   {
49     "description":"带header的post请求",
50     "request":{
51         "uri":"/withHeader",
52         "method":"post",
53         "headers":{
54             "content-type":"application/json"
55         },
56         "json":{
57             "name":"xiaoming",
58             "age":"18"
59         }
60     },
61     "response":{
62         "json":{
63             "message":"success",
64             "status":"1"
65         }
66     }
67   }
68 ]

以下为用postman模拟请求

1、不带参数的post请求

 

 2、带参数的post请求(这里用的application/x-www-form-urlencoded)

 

 3、带cookie的post请求(虽然模拟请求中写的是cookies,但是在请求的时候一定要写成cookie,不要加“s”)

 

 4、带header的post请求

 

 

综上,在mock数据时不妨试试moco来模拟请求数据。

posted @ 2020-05-07 18:49  韩凯1990  阅读(423)  评论(0编辑  收藏  举报