moco-runner的使用方法
一、挡板测试介绍
一般是前端开发人员可以在不实际启动后端服务器的情况下,使用挡板服务,模拟后台服务器的响应数据。
二、挡板测试要求
接口定义的入参、出参的数据格式的与被测试接口的入参、出参保持一致。
三、测试使用工具-moco-runner
- 安装jdk工具并进行配置,moco-runner工具下载地址:
https://repo1.maven.org/maven2/com/github/dreamhead/moco-runner/
下载保存jar包,我保存的地址是E:\Tool\NetworkTool\MockTest,自己可以找到就可以,我的位置图片如下:
ps:关于图片中的文件会一个一个在下边讲解
- 模拟带有参数的query请求
创建一个result.json文件,我使用的是Notepad++,创建一个json文件
[
{
"description": "这是一个query_demo",
"request": {
"uri": "/test",
"method": "get",
"queries": {
"name":"name",
"password":"123"
}
},
"response": {
"status": 200,
"headers": {
"Content-Type": "application/json;charset=UTF-8"
},
"json": {
"name": "name",
"age": "19",
"addr": "测试地址",
"tel": "12626373829",
"lastlogin": "2023-10-01 10:55:23"
}
}
}
]
名称 | 使用 |
---|---|
uri | 后边是接口名称 |
method | 是指get请求,如果是post请求改为post |
queries | 指参数在qurey中;若参数在body中,使用json代替queries |
request | query放的是入参 |
response | json放的是返回的参数 |
- 模拟带有参数的json请求
[
{
"description": "这是一个post_demo",
"request": {
"uri": "/test",
"method": "post",
"header":{"token":"testtoken"}
"json": {
"header": {
"tellerInfo": "111"
},
"data":"222"
}
},
"response": {
"status": 200,
"headers": {
"Content-Type": "application/json;charset=UTF-8"
},
"json": {
"data": "哈哈哈哈返回啦",
"header": "00"
}
}
}
]
- http请求执行命令
(1)cmd命令行执行:E:\Tool\NetworkTool\MockTest文件夹下,运行命令:java -jar moco-runner-1.4.0-standalone.jar http -p 80 -c result.json
(2)或者将上述 命令号保存在文件中,保存后修改文件类型为.bat文件,以后每次运行时可以双击.bat文件,如上边位置图片中的http.bat
出现一下信息则表示运行成功;
名称 | 使用方法 |
---|---|
-jar | 引用的下载的jar包版本,我这个使用的是1.4.0 |
http | 使用的是http请求 |
-p | 后加端口,我这边设置的是80 |
-c | json文件名+后缀:result.json |
(3)启动成功后,在网页端直接打开http://127.0.0.1:80/test1?name=name&password=123
或者在apipost中调用接口,在header中存放headers中的参数以及参数值(没有headers的不需要填写):
query中存放queries中的参数
body中存放json入参(无参数的时候不需要写queries以及对应的入参)
可正常调用成功
- https请求执行命令
(1)首先需要生成https证书(keytool),在安装的java-bin文件夹下 ,执行命令行,找不到对应的文件夹克使用keytool进行全局搜索,打开文件位置,在文件位置 文件夹下运行下述命令:
.\keytool -genkey -keyalg RSA -keysize 1024 -validity 365 -dname "CN=hustzw, OU=hust,O=zw, L=zhuhai, ST=guangdong, C=CN" -alias my_key -keypass 123456 -keystore my.jks -storepass 123456
在找到的keytool文件夹中会生成一个my.jks
(2)在E:\Tool\NetworkTool\MockTest文件夹下,运行命令:java -jar moco-runner-1.4.0-standalone.jar https -p 443 -c result.json --https my.jks --cert 123456 --keystore 123456
运行成功后,使用apipost同样的方法调用https请求,请求成功