当前位置: 首页 > news >正文

接口自动化学习五: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"
        }
        }
        }
    }
    ]

相关文章:

  • MyBatis查询语句专题、动态SQL、MyBatis的高级映射及延迟加载
  • Java线程生命周期探秘:六种状态的转换与核心机制
  • 【C语言】内存函数 (续)
  • 模拟算法(一):一维数组模拟
  • HTML零基础入门笔记:狂神版
  • 最短路基础模板题
  • ctfshow VIP题目限免(前10题)
  • Kotlin语言进阶:协程、Flow、Channel详解(二)
  • 在K8S中,内置的污点主要有哪些?
  • 透视表(pivot table)中的某类型数据进行降序排列
  • HTML5
  • 《C++探幽:STL(string类源码的简易实现(上))》
  • 免费送源码:Java+ssm+MySQL 校园二手书销售平台设计与实现 计算机毕业设计原创定制
  • lower_bound 和 upper_bound 是两个强大的二分查找函数
  • Vue基础知识21-30
  • 55.跳跃游戏
  • 《比特城的七重结界:从数据洪流到量子盾牌的终极守护》
  • ZooKeeper集群部署(容器)
  • 如何深入理解C#中的备忘录模式(Memento Pattern)设计模式
  • Git常用问题收集
  • 网站群建设工作/淘宝网页版
  • 网站建设心得小结/推广工具有哪些
  • 网站网站建设专业/成都网站seo推广
  • 网站推广中的评估指标有哪些/seo百度快速排名
  • 初创企业网站建设流程/引流推广的句子
  • 中小企业网站开发/专业网络推广公司排名