接口自动化学习五:mock工具使用
Moco简介:
Mock是一个简单搭建模拟服务器的框架,可以用来模拟http、https、socket等协议。
原理: Mock会根据一些配置,启动一个真正的HTTP服务(会监听本地的某个端口),当发起的请求满足某个条件时,就会返回指定的响应数据。
实现步骤:
1.创建配置文件
2.启动http服务
3.接口访问
启动命令:
java -jar <path-to-moco-runner>http -p <monitor-port> -c <configuration-file> 示例: java -jar moco-runner-1.1.0-standalone.jar http -p 9090 -c test.json
< path-to-moco-runner>:jar包路径
< monitor-port>:监听端口
< configuration-file>:配置文件路径
网上下载mock的jar包,创建json文件,和jar包放在一个目录下,可以通过jemter调用接口访问,也可以在浏览器中访问。
[
{
"description":"这是mock的第一个接口",
"request":{
"uri":"/testUrl"
},
"response":{
"text":"Hello,World!"
}
},
{
"description":"这是mock的第二个接口",
"request":{
"method":"POST",
"uri":"/demo3",
"forms":{
"key1":"abc"
}
},
"response":{
"text":"Hello,bady"
}
},
{
"description":"json传参",
"request":{
"method":"POST",
"uri":"/demo3",
"headers":{
"Content-Type":"application/json"
},
"json":{
"username":"abc",
"password":"123456"
}
},
"response":{
"text":"Hello,bady"
}
}
]
在cmd中运行命令:java -jar moco-runner-1.5.0-standalone.jar http -p 7080 -c test1.json,能够看到运行成功的日志打印出来了。
在浏览器中输入http://localhost:端口(cmd上运行时指定的端口)/调用的url
运行结果如下所示:
在cmd中可以开多个窗口,模拟调用多个接口,只需要改成不同的端口号即可。如果要传json数据、form表单格式数据,需要通过postman、jemter等接口调用工具去进行调用,不能通过浏览器进行访问。
使用mock工具可以模拟任何响应数据:
[{
"description":"json传参",
"request":{
"uri":"/api/login",
"forms":{
"keyword":"admin",
"password":"123456"
},
"method":"POST",
"json":{
"username":"abc",
"password":"123456"
}
},
"response":{
"status":201,
"headers":{
"Content-Type":"application/json;charset=UTF-8"
},
"json":{
"code":"200",
"msg":"登录成功",
"data":{
"uid":1,
"token":"xxx"
}
}
}
}
]