一、介绍

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、定制重定向

 

 

moco工作原理

Moco会根据一些配置,启动一个真正的HTTP服务(会监听本地的某个端口)。当发起的请求满足某个 条件时,就会返回指定的响应数据 
posted on 2022-11-20 18:08  zj8970  阅读(49)  评论(0编辑  收藏  举报