软件测试相关-mock示例篇
目录描述:
注意:下面所有的示例均按照此目录结构进行
示例1:
- get请求
- 无参数
- 响应文本内容
配置文件名称:yfc01.json
配置文件内容:
1 [ 2 { 3 "request" : { 4 "uri" : "/api/get/no_param/resp_text" 5 }, 6 "response" : { 7 "text" : "hello world" 8 } 9 } 10 ]
启动服务命令:
1、终端进入到mock目录下:cd mock (根据自己mock目录所在位置进行修改)
2、执行命令:java -jar moco-runner-0.11.0-standalone.jar http -p 8999 -c ./json/yfc01.json
测试:
示例2:
- get请求
- 有参数,url地址拼接参数
- 响应文本内容
配置文件名称:yfc02.json
配置文件内容:
1 [ 2 { 3 "request" : { 4 "uri" : "/api/get/has_param/resp_text", 5 "queries" : { 6 "param" : "1" 7 } 8 }, 9 "response" : { 10 "text" : "hello world" 11 } 12 } 13 ]
启动服务命令:
1、终端进入到mock目录下:cd mock (根据自己mock目录所在位置进行修改)
2、执行命令:java -jar moco-runner-0.11.0-standalone.jar http -p 8999 -c ./json/yfc02.json
测试:
示例3:
- get请求
- 有参数,url地址拼接参数
- 响应json
配置文件名称:yfc03.json
配置文件内容:
1 [ 2 { 3 "request" : { 4 "uri" : "/api/get/has_param/resp_json", 5 "queries" : { 6 "param" : "1" 7 } 8 }, 9 "response" : { 10 "json":{ 11 "resp_type":"json", 12 "status":200 13 } 14 } 15 } 16 ]
启动服务命令:
1、终端进入到mock目录下:cd mock (根据自己mock目录所在位置进行修改)
2、执行命令:java -jar moco-runner-0.11.0-standalone.jar http -p 8999 -c ./json/yfc03.json
测试:
示例4:
- get请求
- 有参数,json
- 响应json
配置文件名称:yfc04.json
配置文件内容:
1 [ 2 { 3 "request" : { 4 "uri" : "/api/get/has_param_json/resp_json", 5 "json" : { 6 "param" : "1" 7 } 8 }, 9 "response" : { 10 "json":{ 11 "resp_type":"json", 12 "status":200 13 } 14 } 15 } 16 ]
启动服务命令:
1、终端进入到mock目录下:cd mock (根据自己mock目录所在位置进行修改)
2、执行命令:java -jar moco-runner-0.11.0-standalone.jar http -p 8999 -c ./json/yfc04.json
测试:
示例5:
- post请求
- 有参数,json
- 响应json
配置文件名称:yfc05.json
配置文件内容:
1 [ 2 { 3 "request" : { 4 "uri" : "/api/post/has_param_json/resp_json", 5 "method": "POST", 6 "json" : { 7 "param" : "1" 8 } 9 }, 10 "response" : { 11 "json":{ 12 "resp_type":"json", 13 "status":200 14 } 15 } 16 } 17 ]
启动服务命令:
1、终端进入到mock目录下:cd mock (根据自己mock目录所在位置进行修改)
2、执行命令:java -jar moco-runner-0.11.0-standalone.jar http -p 8999 -c ./json/yfc05.json
测试:
示例6:
- post请求
- 有参数,forms表单提交方式
- 响应json
配置文件名称:yfc06.json
配置文件内容:
1 [ 2 { 3 "request" : { 4 "uri" : "/api/post/has_param_forms/resp_json", 5 "method": "POST", 6 "forms" : { 7 "param" : "1" 8 } 9 }, 10 "response" : { 11 "json":{ 12 "resp_type":"json", 13 "status":200 14 } 15 } 16 } 17 ]
启动服务命令:
1、终端进入到mock目录下:cd mock (根据自己mock目录所在位置进行修改)
2、执行命令:java -jar moco-runner-0.11.0-standalone.jar http -p 8999 -c ./json/yfc06.json
测试:
示例7:
- post请求
- 有参数,json
- 指定header
- 指定cookie
- 响应json
配置文件名称:yfc07.json
配置文件内容:
1 [ 2 { 3 "request" : { 4 "uri" : "/api/post/has_param_json/resp_json/has_cookie_header", 5 "method": "POST", 6 "headers":{ 7 "Content-Type":"application/json", 8 "connection":"keep-alive", 9 "content-Encoding":"gzip" 10 }, 11 "cookies" :{ 12 "Session":"111111111111111", 13 "UUID":"2222222222222222" 14 }, 15 "json" : { 16 "param" : "1" 17 } 18 }, 19 "response" : { 20 "json":{ 21 "resp_type":"json", 22 "status":200 23 } 24 } 25 } 26 ]
启动服务命令:
1、终端进入到mock目录下:cd mock (根据自己mock目录所在位置进行修改)
2、执行命令:java -jar moco-runner-0.11.0-standalone.jar http -p 8999 -c ./json/yfc07.json
测试:
示例8:
- get请求,正则匹配符合规则的请求地址
- 有参数,url地址拼接参数
- 响应json
配置文件名称:yfc08.json
配置文件内容:
1 [ 2 { 3 "request" : { 4 "uri" : { "match": "/api/yfc-\\d+" }, 5 "queries" : { 6 "param" : "1" 7 } 8 }, 9 "response" : { 10 "json":{ 11 "resp_type":"json", 12 "status":200 13 } 14 } 15 } 16 ]
启动服务命令:
1、终端进入到mock目录下:cd mock (根据自己mock目录所在位置进行修改)
2、执行命令:java -jar moco-runner-0.11.0-standalone.jar http -p 8999 -c ./json/yfc08.json
测试:
示例9:
- 全局配置文件的方式
- 给yfc01.json请求路径添加前缀
- 给yfc02.json请求路径添加前缀
配置文件名称:config.json
配置文件内容:
1 [ 2 { "context": "/path1", "include": "json/yfc01.json" }, 3 { "context": "/path2", "include": "json/yfc02.json" } 4 ]
启动服务命令:
1、终端进入到mock目录下:cd mock (根据自己mock目录所在位置进行修改)
2、执行命令:java -jar moco-runner-0.11.0-standalone.jar http -p 8999 -g ./config/config.json
测试:
示例10:
- 全局配置文件的方式
- 给yfc01.json请求路径添加前缀
- 给yfc02.json请求路径添加前缀
配置文件名称:config2.json
配置文件内容:
1 [ 2 {"include": "json/yfc01.json"}, 3 {"include": "json/yfc02.json"} 4 ]
启动服务命令:
1、终端进入到mock目录下:cd mock (根据自己mock目录所在位置进行修改)
2、执行命令:java -jar moco-runner-0.11.0-standalone.jar http -p 8999 -g ./config/config2.json
测试:
示例:
1 [ 2 { 3 "response": { 4 "headers": { 5 "Access-Control-Allow-Origin": "*", 6 "Access-Control-Allow-Methods": "*", 7 "Access-Control-Max-Age": "3600", 8 "Access-Control-Allow-Headers": "*", 9 "Access-Control-Allow-Credentials": "true", 10 "Content-Type": "text/html;charset=utf-8" 11 }, 12 "latency": { 13 "duration": 1, 14 "unit": "second" 15 } 16 }, 17 "file_root": "api/sys/login", 18 "include": "login.json" 19 } 20 ]
跨域配置:
-
response.setHeader("Access-Control-Allow-Origin", "*");
-
response.setHeader("Access-Control-Allow-Methods", "POST,OPTIONS,GET");
-
response.setHeader("Access-Control-Max-Age", "3600");
-
response.setHeader("Access-Control-Allow-Headers", "accept,x-requested-with,Content-Type");
-
response.setHeader("Access-Control-Allow-Credentials", "true");
-
response.setHeader("Access-Control-Allow-Origin", "http://192.168.10.118:8070");
注意点:
1、请求接口时,必须保持和配置文件中内容一致,例如接口地址、header内容,cookie内容,参数格式
2、注意启动时配置文件的路径,以及如果使用全局配置文件,则需要注意include对应的文件路径。
3、待完善