Mock服务moco系列- 简介第一个DemoGet请求Post请求

Posted 小洁码很快!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mock服务moco系列- 简介第一个DemoGet请求Post请求相关的知识,希望对你有一定的参考价值。

目录

  • 1、简介

  • 2、下载

  • 3、第一个Demo

    • 3.1、配置文件

    • 3.2、启动moco

    • 3.3、访问moco

  • 4、Get请求

  • 5、Post请求

 

1、简介

 

1、什么是mock?

mock翻译过来有模拟的意思。

 

2、什么是moco?

moco是一个简单搭建的Stub框架。Stub可翻译为桩,指用来替换一部分功能的程序段。桩程序可以用来模拟已有程序的行为(比如一个远端机器的过程)或是对将要开发的代码的一种临时替代。简单来说,moco就是解决了开发前端时没有后端支持,开发接口时依赖没有到位的尴尬场景等。

 

主要特点:

(1)只需要简单的配置request、response等即可满足要求,支持http、https、socket等。

(2)支持在request 中设置headers、cookies等。

(3)对GET、POST、PUT、DELETE等请求方式均支持,很适合web开发。

(4)无需环境配置,有Java环境即可。

(5)修改配置后,立刻生效。只需要维护接口,也就是契约即可。

(6)对可能用到的数据格式都支持,如json、text、xml、file等。

 

官方网址:

https://github.com/dreamhead/moco

2、下载

官方下载地址:

https://repo1.maven.org/maven2/com/github/dreamhead/moco-runner/

图片

 

下载相应版本即可,本篇使用0.12.0版本,下载moco-runner-0.12.0-standalone.jar文件。

 

 

3、第一个Demo

 

 

3.1、配置文件

moco配置文件格式必须是json格式。配置文件是个数组,也就是说,可以在一个文件中配置多个接口的请求和响应。

 

1、配置文件常用字段:

description:用来描述这个会话的目的,它只是用作注释,在运行时将被忽略。
request:请求内容。
response:响应内容。
uri:请求关注点。
method:基于指定的HTTP方法(get、post、put、delete、HEAD)。
queries:get请求参数。
forms:post请求参数。
text:文本。
json:Json格式。
file:文件。
headers:信息头。
cookies:cookie信息。
status:响应状态代码。
redirectTo:将请求重定向到指定的url上。
match:正则表达式。
latency:延迟。
template:模板。

 

2、创建一个Demo示例(01Demo.json)。

description为此接口描述。

请求内容填写在request里,响应内容填写在response里。

响应内容格式为text文本格式。

请求地址格式为:IP+端口号+uri拼接而成(例如http://10.106.29.102:8083/demo)

内容如下:

[
    {
        "description":"Moco Demo",
        "request":{
            "uri":"/demo"
        },
        "response":{
            "text":"Hello Moco"
        }
    }
]

 

3.2、启动moco

命令行进入下载完成的moco-runner-0.12.0-standalone.jar包的目录。

输入启动moco服务命令:

java -jar moco-runner-0.12.0-standalone.jar http -p 8083 -c <配置文件路径>/XXX.json
注:
-p 指定moco服务端口
-c 配置文件路径及文件名

 

例如:

java -jar moco-runner-0.12.0-standalone.jar http -p 8083 -c 01Demo.json

如图所示:moco服务启动,端口号为8083。

图片

 

3.3、访问moco

1、打开浏览器访问moco服务地址。

(1)本地访问:

http://localhost:8083/demo

或者:

http://127.0.0.1:8083/demo

(2)远程访问(IP为10.106.29.102):

http://10.106.29.102:8083/demo

 

2、访问结果显示。

图片

 

3、控制台显示moco服务请求与响应的信息。

图片

 

 

4、Get请求

 

 

1、创建02Get.json配置文件。

该配置文件有2个接口(没有参数的Get请求、有参数的Get请求)。

"method":"get"为Get请求,如果不添加此字段,接口默认也是Get请求。

queries为Get请求参数(添加2个参数username、password与其对应值)。

内容如下:

[
    {
        "description":"Get请求(没有参数)",
        "request":{
            "uri":"/getdemo",
            "method":"get"
        },
        "response":{
            "text":"Moco Get"
        }
    },
    {
        "description":"Get请求(有参数)",
        "request":{
            "uri":"/getdemo2",
            "method":"get",
            "queries":{
                "username":"admin",
                "password":"123456"
            }
        },
        "response":{
            "text":"admin,123456"
        }
    }
]

 

2、输入启动moco服务命令。

java -jar moco-runner-0.12.0-standalone.jar http -p 8083 -c 02Get.json

 

3、浏览器访问moco服务地址。

(1)Get请求(没有参数)

访问地址:

http://localhost:8083/getdemo

访问结果显示:

图片

 

(2)Get请求(有参数)

访问地址:

http://localhost:8083/getdemo2?username=admin&password=123456

访问结果显示:

图片

 

 

5、Post请求

 

 

1、创建03Post.json配置文件。

该配置文件有2个接口(没有参数的Post请求、有参数的Post请求)。

"method":"post"为Post请求。

forms为Post请求参数(添加2个参数username、password与其对应值)。

内容如下:

[
    {
        "description":"Post请求(没有参数)",
        "request":{
            "uri":"/postdemo",
            "method":"post"
        },
        "response":{
            "text":"Moco Post"
        }
    },
    {
        "description":"Post请求(有参数)",
        "request":{
            "uri":"/postdemo2",
            "method":"post",
            "forms":{
                "username":"admin",
                "password":"123456"
            }
        },
        "response":{
            "text":"admin,123456"
        }
    }
]

 

2、输入启动moco服务命令。

java -jar moco-runner-0.12.0-standalone.jar http -p 8083 -c 03Post.json

 

3、Postman访问moco服务地址。

打开已安装好的Postman。

(1)Post请求(没有参数)

协议类型选为POST

访问地址:http://localhost:8083/postdemo

图片

 

点击Send,访问结果显示:

图片

 

(2)Post请求(有参数)

协议类型选为POST

访问地址:http://localhost:8083/postdemo2

Body添加参数(参数名与参数值)。

图片

 

点击Send,访问结果显示:

图片

如果您觉得文章还不错,请 点赞、分享、在看、收藏 一下,因为这将是我持续输出更多优质文章的最强动力!

在这里推荐一个我自己创建的软件测试交流群,QQ:642830685,群中会不定期的分享软件测试资源,测试面试题以及测试行业资讯,大家可以在群中积极交流技术,还有大佬为你答疑解惑。

以上是关于Mock服务moco系列- 简介第一个DemoGet请求Post请求的主要内容,如果未能解决你的问题,请参考以下文章

Mock服务moco系列- 重定向正则表达式延迟模板事件分模块设计

接口测试 mock server 工具moco学习笔记

Mock接口平台Moco学习

Mock接口框架的应用实战

moco框架的使用

moco框架的使用