测试基础-11-Moco配置文件启动并测试moco接口

前言

前面我们使用的都是单个配置文件(test.json),这样针对单个接口操作是没问题的,当然我们也可以将所有接口都放在一个配置文件中,因为配置文件的格式为一个数组类型的 JSON 格式,数组的每一个元素是一个 request/response 的配对。还有一种方式我们设置全局配置文件,即在文件中引入其他配置文件的方式,最后启动时,只针对全局配置文件启动,比较方便

 

单文件配置

1)我们可以不定义request,访问http://localhost:12306/时,Moco 就会直接将配置的 response 中的内容返回。

//test.json
[
   {
      "response": "welcome"
   }
]

浏览器访问:

2)因为配置文件是一个数组格式,所以我们可以在一个配置文件中定义多个request/response对

//test.json
[
   {
      "request": {
         "uri": "/register"
      },
      "response": {
         "text": "register page"
      }
   },
   {
      "request": {
         "uri": "/login"
      },
      "response": {
         "text": "login page"
      }
   }
]

浏览器访问:

 全局配置文件

Moco 支持在全局的配置文件中引入其他配置文件,这样就可以分服务定义配置文件,便于管理。

1)以上方注册、登录为例,定义两个json文件,分别为register.json和login.json

//register.json
[
  {
    "request": {
      "uri": "/register",
      "method": "post",
      "json": {
        "name": "suner",
        "phone": "18200000000",
        "pwd": "123"
      }
    },
    "response": {
      "json": {
        "msg": "register success",
        "status": 200
      }
    }
  }
]
//login.json
[
  {
    "request": {
      "uri": "/login",
      "method": "post",
      "json": {
        "username": "suner",
        "pwd": "123"
      }
    },
    "response": {
      "json": {
        "msg": "login success",
        "status": 200
      }
    }
  }
]

2)新建一个config.json文件,引用register.json和login.json

//config.json 
[
  {"include": "register.json"},   //include后面接的是以当前文件所在目录的相对路径,三个在同一目录下,所以这里直接是文件名
  {"include": "login.json"}
]

3)启动moco(这里指定配置文件用-g,全局的意思,如截图启动成功)

 

简单地启动 moco 服务时是通过命令来启动的:

【java -jar moco-runner-<version>-standalone.jar http -p 12306 -c test.json 】

切换到moco的jar包所在目录,java -jar为固定格式,执行时,<version>替换为自己下载的版本即可,-p为本地服务器指定端口(不可有冲突),-c 指定moco的配置文件。(此处test.json是单个文件配置用-c指定,如果是全局配置文件,即在全局配置文件中再引入其他配置文件,需要用-g来指定)

 

4)打开jmeter测试

register请求

register响应

 

login请求

 login响应

在moco服务端也可以看到我们的参数(moco是动态获取数据的,即我们改变配置文件后无需重启moco)

至此,moco简单的模拟接口请求与响应完成,有了这个可以很好为我们提供数据,而无需一定要部署好接口服务器,也无需后台(或者第三方接口)必须提供返回的接口数据,我们只需要知道返回的格式就可以moco我们想要的数据

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章