一、介绍
1、什么是mock
1)mock就是对于一些难以构造的对象,使用虚拟的技术来实现测试的过程。 2)mock测试:在测试过程中,对于某些不容易构造或者不容易获取的对象,可以用一个虚拟的对象来代替的测试方 法。 3)接口Mock测试:在接口测试过程中,对于某些不容易构造或者不容易获取的接口,可以用一个模拟接口来代替。2、mock的作用
解除对第三方接口的依赖 替换查询速度较慢的接口 mock难以构造的异常 可以搭建mock服务器,提前编写接口测试用例代码并行进行工作。3、实现方式
1)使用第三方的mock平台来实现mock(收费) 2)自己开发一个mock平台:python + flask 实现mock 3)使用moco工具实现mock平台 注意:本文主要讲解第三种实现方式(使用moco工具实现mock平台)4、moco框架
Moco是一个简单搭建模拟服务器的框架(工具),可以模拟http、https、socket等协议二、安装与启动
1、安装
1、安装jdk1.8并配置环境变量;
2、下载moco-runner-1.1.0-standalone.jar;
3、新建文件夹moco,并将moco-runner-1.1.0-standalone.jar放到文件夹moco中;
4、同级目录moco中,编写测试数据文件test.json
2、启动服务
命令:java -jar moco-runner-1.1.0-standalone.jar http -p 9988 -c test.json
如图:
- java -jar moco-runner-1.1.0-standalone.jar是启动jar;
- moco-runner-1.1.0-standalone.jar 指jar包所在目录(因为jar就在当前目录下所以这里使用的是相对路径);
- http表示进行的是http协议;
- -p后面跟的是端口号,这里端口号指的是9988;
- -c后面跟编写的json文件,这里是test.json,见执行如上的命令后出现的信息
接下来,在浏览器中访问:http://localhost:9988,显示出相关内容即启动成功。
三、常用配置参数
1、定义请求方法
通过在requests中通过method来指定请求方法
注意:在post中
headers:请求头,根据是form还是json格式的请求来填写
from格式:"content-type": "application/x-www-form-urlencoded"
json格式:"content-type": "application/json"
请求参数格式以及数据,对应headers的content-type
form格式关键字为forms
json格式关键字为json
2、定义查询参数
可以通过queries来定制
3、定义请求头
通过headers参数定义
4、定义from格式的请求体
通过forms定义表单格式请求体
5、定义json格式的请求体
可以通过json参数定义请求体
6、设置响应的状态码
7、设置返回json格式的响应体数据
8、解决中文乱码问题
设置响应的Content-Type类型中charset=gbk
9、定制重定向