Mock接口框架的应用实战
Posted heyuling
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mock接口框架的应用实战相关的知识,希望对你有一定的参考价值。
一.Mock平台功能介绍
Mock平台可以帮助前端人员进行接口的模拟,本文介绍Moco框架
二.Moco框架基本介绍
Moco框架其实就是一个jar包,到 http://repo1.maven.org/maven2/com/github/dreamhead/moco-runner/0.11.0 网站上去获得,下载moco-runner-0.11.0-standalone.jar
三.Moco的启动及第一个demo
1.创建文件夹MocoDemo
2.将下载的moco-runner-standalone.jar放到MocoDemo文件夹下
3.jar的启动命令
java -jar ./moco-runner-0.11.0-standalone.jar http -p 8888 -c json配置文件路径
http表示协议
-p表示端口号
-c表示json配置文件
4.编写startup.json文件
[ { "description":"这是我们的第一个mock例子", "request":{ "uri":"/demo" }, "response":{ "text":"第一个moco框架demo" } } ]
5.运行jar:java -jar ./moco-runner-0.11.0-standalone.jar http -p 8888 -c startup.json
后,访问localhost:8888/demo
页面上会打印第一个moco框架demo
四.Moco框架的http协议get方法Moco实现
1.模拟不带参数的get方法实现,访问地址:http://localhost:8888/getDemo
1 [ 2 { 3 "description":"模拟不带参数的get请求", 4 "request":{ 5 "uri":"/getDemo", 6 "method":"get" 7 }, 8 "response":{ 9 "text":"这是一个没有参数的get请求" 10 } 11 } 12 ]
2.模拟带参数的get方法实现,访问地址:http://localhost:8888/getWithParam?name=huhansan&age=23
1 [ 2 { 3 "description":"模拟带参数的get请求", 4 "request":{ 5 "uri":"/getWithParam", 6 "method":"get", 7 "queries":{ 8 "name":"huhansan", 9 "age":"23" 10 } 11 }, 12 "response":{ 13 "text":"这是一个带参数的get请求" 14 } 15 } 16 ]
五.Moco框架的http协议post方法Moco实现
1.模拟不带参数的post请求的实现:
1 [ 2 { 3 "description":"模拟不带参数的post请求", 4 "request":{ 5 "uri":"/postDemo", 6 "method":"post" 7 }, 8 "response":{ 9 "text":"这是一个不带参数的post请求" 10 } 11 } 12 ]
2.模拟带参数的post请求,注意:携带参数的为forms,不是queries
[ 2 { 3 "description":"模拟带参数的post请求", 4 "request":{ 5 "uri":"/postWithParam", 6 "method":"post", 7 "forms":{ 8 "name":"huhansan", 9 "sex":"man" 10 } 11 }, 12 "response":{ 13 "text":"这是一个带参数post的请求" 14 } 15 } 16 ]
六.Moco框架的http协议带cookies信息的实现
1.带cookies信息的get请求
[ { "description":"模拟带cookies的get请求", "request":{ "uri":"/getWithCookies", "method":"get", "cookies":{ "login":"true" } }, "response":{ "text":"这是一个需要携带cookie才能访问的get请求" } } ]
2.带cookies信息的post请求
1 [ 2 { 3 "description":"模拟带cookies的post请求", 4 "request":{ 5 "uri":"/postWithCookies", 6 "method":"post", 7 "cookies":{ 8 "login":"true" 9 }, 10 "json":{ 11 "name":"huhansan", 12 "age":"18" 13 } 14 }, 15 "response":{ 16 "status":200, 17 "json":{ 18 "huhansan":"success", 19 "status":1 20 } 21 } 22 } 23 ]
七.带有headers信息的mock请求
1 [ 2 { 3 "description":"模拟带headers的post请求", 4 "request":{ 5 "uri":"/postWithHeaders", 6 "method":"post", 7 "headers":{ 8 "content-type":"application/json" 9 }, 10 "json":{ 11 "name":"huhansan", 12 "age":"18" 13 } 14 }, 15 "response":{ 16 "status":200, 17 "json":{ 18 "huhansan":"success", 19 "status":2 20 } 21 } 22 } 23 ]
八.实现请求重定向
1 [ 2 { 3 "description":"重定向到百度", 4 "request":{ 5 "uri":"/redirect" 6 }, 7 "redirectTo":"http://www.baidu.com" 8 } 9 ]
以上是关于Mock接口框架的应用实战的主要内容,如果未能解决你的问题,请参考以下文章
Python接口测试实战5(下) - RESTfulWeb Service及Mock Server
Express实战 - 应用案例- realworld-API - 路由设计 - mongoose - 数据验证 - 密码加密 - 登录接口 - 身份认证 - token - 增删改查API(代码片段