moco 入门及问题解决

废话不多说

下载:

http://repo1.maven.org/maven2/com/github/dreamhead/moco-runner/ 选择最新版本下载jar包

 

启动:

1:在本地jar包所在目录新建json文件,可自由定制request、respond,可选参数列表:"method", "headers", "json", "factory", "uri", "text","cookies", "xpaths", "json_paths", "version", "file", "queries", "path_resource", "forms"

其中request请求可填

uri:请求地址

method:请求类型(get post)

cookies:带有cookies验证

headers:请求头,(例 “content-type”:“application/json”)

queries:填写请求参数,请求类型是get请求是时,使用该字段

Forms:填写请求参数,请求类型是post(类似form表单)请求是时,使用该字段

Json:填写请求参数,数据格式是json, get、post都可以使用

file:请求参数,封装在json文件时(文件地址)

response可填:

status:状态码

text:相应数据为文本数据

json:响应数据为json格式的数据

file:响应的数据是json文件(文件地址)

method = get时,参数提交用queries,=post时,用forms,否则报错

例:

新建文件confirmOrder.json,此为post方式不带参数的:

[{
    "description" : "新订接受",
    "request":{
        "uri":"/test/confirmOrder",
        "method":"post"
    },
    "response":{
        "text":"接受成功~",
        #返回text为中午显示会乱码,故加上headers告诉浏览器编码方式是gbk
        "headers":{
            "Content-Type":"text/html;charset=gbk"
        }
    }
}]

 

2:启动系统命令,cd到jar包所在目录,执行命令:java -jar ./moco-runner-0.12.0-standalone.jar http -p 8888 -c confirmOrder.json

执行成功会显示自定义端口号8888,如图:

 

因为json文件中定义了url ,此时我们访问  http://localhost:8888/test/confirmOrder 就能得到自定义的response返回了。

注意

此时遇到的问题:定义了method = post之后不能直接在浏览器访问该url,浏览器提交是get方式,会报400错误,如图:

 

 解决办法:使用postman或jmeter 用post方式提交请求。

成功后返回如下图:

 

post方式加上参数后,请求:

[{
    "description" : "新订接受",
    "request":{
        "uri":"/test/confirmOrder",
        "method":"post",
        "forms":{
            "orderID":"222",
            "optionID":"111",
            "env":"uat"
        }
    },
    "response":{
        "text":"接受成功~",
        
        "headers":{
            "Content-Type":"text/html;charset=gbk"
        }
    }
}]

请求方式:在form-data中填写参数,请求

 

 

 

重定向:

"request":{...},

"redirectTo":“http://localhost:8888/abc.test.com",

"response":{...}

 

posted @ 2019-09-10 22:16  F_Ichigo  阅读(930)  评论(0编辑  收藏  举报