zoukankan      html  css  js  c++  java
  • moco框架的使用

    一、moco简介

    moco框架是github上的一个开源项目,可模拟http,https,Socket协议。

    mock测试就是在测试过程中,对于某些不容易构造  或者  不容易获取的对象  又或者  开发还未完成开发的功能实现,用一个虚拟的对象来创建以便测试的测试方法。

    二、moco框架的下载及启动

    下载:https://github.com/dreamhead/moco

    这里我的moco目录结构是在同一文件夹下,这样的:

    启动:java -jar moco-runner-1.0.0-standalone.jar http -p 2222 -c get_data.json (启动协议为http的mock服务,服务端口2222)

    三、模拟GET请求

    以下是模拟get请求已经写好的要模拟数据,包括请求uri,method,参数,响应内容

     1 [
     2   {
     3     "description":"不带参数的get请求",
     4     "request":{
     5       "uri":"/withGetDemo",
     6       "method":"get"
     7     },
     8     "response":{
     9       "text":"这是不带参数的get请求"
    10     }
    11   },
    12   {
    13     "description":"带参数的get请求,p1,p2分别的参数1,参数2,名称可随便起,个数也可随便加",
    14     "request":{
    15       "uri":"/wihtGetDemobyParam",
    16       "method":"get",
    17       "queries":{
    18         "p1":"hh",
    19         "p2":"good"
    20       }
    21     },
    22     "response":{
    23       "text":"这是带参数的get请求"
    24     }
    25   }
    26 ]

    这里我用浏览器模拟第一个get请求,得到的响应如下:

    这里我用postman模拟第二个带有请求参数的get请求,得到的响应如下:

     四、模拟POST请求

    以下为post请求的几种请求方式:

    1、不带参数的post请求

    2、带参数的post请求

    3、带cookie的post请求

    4、带header的post请求

    模拟的返回响应数据如下

     1 [
     2   {
     3     "description":"不带参数的post请求",
     4     "request":{
     5       "uri":"/postDemo",
     6       "method":"post"
     7     },
     8     "response":{
     9       "text":"这是不带参数的post请求"
    10     }
    11   },
    12   {
    13     "description":"带参数的post请求",
    14     "request":{
    15       "uri":"/postDemoWithParam",
    16       "method":"post",
    17       "forms":{
    18         "param1":"one",
    19         "param2":"two"
    20       }
    21     },
    22     "response":{
    23       "json":{"name":"han","age":30,"address":"beijing daxing"}
    24     }
    25   },
    26   {
    27     "description":"带cookie的Post请求",
    28     "request":{
    29         "uri":"/postDemoWithCookies",
    30         "method":"post",
    31         "cookies":{
    32             "login":"true"
    33         },
    34         "json":{
    35             "name":"hi",
    36             "age":"3"
    37         }
    38     },
    39     "response":{
    40         "status":"200",
    41         "json":{
    42             "name":"success",
    43             "status":"1"
    44         }
    45     }
    46   },
    47 
    48   {
    49     "description":"带header的post请求",
    50     "request":{
    51         "uri":"/withHeader",
    52         "method":"post",
    53         "headers":{
    54             "content-type":"application/json"
    55         },
    56         "json":{
    57             "name":"xiaoming",
    58             "age":"18"
    59         }
    60     },
    61     "response":{
    62         "json":{
    63             "message":"success",
    64             "status":"1"
    65         }
    66     }
    67   }
    68 ]

    以下为用postman模拟请求

    1、不带参数的post请求

     2、带参数的post请求(这里用的application/x-www-form-urlencoded)

     3、带cookie的post请求(虽然模拟请求中写的是cookies,但是在请求的时候一定要写成cookie,不要加“s”)

     4、带header的post请求

    综上,在mock数据时不妨试试moco来模拟请求数据。

  • 相关阅读:
    Linux 下安装 numpy 和 scipy
    排序算法总结
    机器学习&数据挖掘笔记_16(常见面试之机器学习算法思想简单梳理)
    Java读取Excel并解析文本(并格式化输出)
    快捷键记忆
    初级应该学习的
    深入理解加密、解密、数字签名和数字证书
    数据签名和验签
    POI结构与常用类
    exlipse继承反编译插件
  • 原文地址:https://www.cnblogs.com/hanxiaobei/p/12844874.html
Copyright © 2011-2022 走看看