首页 > 编程语言 >【Java自动化测试】-Mock操作详解

【Java自动化测试】-Mock操作详解

时间:2023-01-02 15:49:13浏览次数:60  
标签:Java description get request json 详解 post response Mock

一、moco框架

下载地址:https://repo1.maven.org/maven2/com/github/dreamhead/moco-runner/1.3.0/

moco执行:

java -jar ./moco-runner-1.3.0-standalone.jar http -p 8888 -c ./startup1.json

moco:json脚本编写

添加:description、request、response

[
  {
    "description": "这是我们的第一个mokc例子",
    "request": {
      "uri": "/demo"
    },
    "response": {
      "text": "这是moco框架说明"
    }
  }

]

moco模拟不带参数get请求

增加:request-method

[
  {
    "description": "模拟一个没有参数的get请求",
    "request": {
      "uri":"/getdemo",
      "method": "get"
    },
    "response": {
      "text": "get请求的输出结果"
    }
  }
 ]

moco模拟带参数get请求

增加request-queries

[
  {
    "description": "模拟一个没有参数的get请求",
    "request": {
      "uri":"/getdemo",
      "method": "get"
    },
    "response": {
      "text": "get请求的输出结果"
    }
  },
  {
    "description": "模拟一个带参数的get请求",
    "request": {
      "uri": "/getparam",
      "method": "get",
      "queries": {
        "name": "zhangsan",
        "age": "18"
      }
    },
    "response": {
      "text": "这是带参数的get输出"
    }
  }
]

moco模拟不带参数的post请求

[
   {
    "description": "模拟一个post请求",
    "request": {
      "uri": "/postdemo",
      "method": "post"
    },
    "response": {
      "text": "这是post的输出"
    }
  }
]

moco模拟带参数的post请求

增加request-forms

[
   {
    "description": "模拟一个带参数的post请求",
    "request": {
      "uri": "/postparam",
      "method": "post",
      "forms": {
        "name": "zhangsan",
        "age": "18"
      }
    },
    "response": {
      "text": "这是带参数post的输出"
    }
  }
]

带cookie的get请求

添加:request-cookies

[
  {
    "description": "模拟带cookie的get请求",
    "request": {
      "uri": "/getcookie",
      "method": "get",
      "cookies": {
        "login": "true"
      }
    },
    "response": {
      "text": "带cookie的get请求输出"
    }
]

带cookie的post请求

添加:request-cookies

请求json格式及返回格式为json:request-json,response-json

  {
    "description":"模拟带cookie的post请求",
    "request":{
      "uri":"/post/cookie",
      "method": "post",
      "cookies":{
        "login":"true"
      },
      "json":{
        "name":"hanxin",
        "age":"20"
      }
    },
    "response": {
      "status": 200,
      "json": {
        "hanxin": "success",
        "status": "1"
      }
    }
  }

带header的请求

添加:request-header

  {
    "description": "",
    "request": {
      "uri": "/post/header",
      "method": "post",
      "headers": {
        "content-type": "application/json"
      },
      "json": {
        "name": "han",
        "sex": "woman"
      }
    },
    "response": {
      "status": 200,
      "json": {
        "data": "header---success",
        "status": "1"
      }
    }
  }

模拟重定向

使用redirectTo

  {
    "description": "重定向到百度",
    "request": {
      "uri": "/redirect"
    },
    "redirectTo": "http://www.baidu.com"
  }

  

  

  

  

  

  

  

  

  

  

标签:Java,description,get,request,json,详解,post,response,Mock
From: https://www.cnblogs.com/xfbk/p/17019974.html

相关文章

  • JavaScript 流程控制-分支if,三元,Switch
    JavaScript流程控制-分支目录JavaScript流程控制-分支1.流程控制2.顺序流程控制3.分支流程控制if语句3.1分支结构3.2if语句3.3ifelse语句(双分支语句)3.4ife......
  • 开发板测试手册——系统启动、文件传送操作步骤详解(1)
    目录前言41评估板快速测试51.1系统启动测试51.2文件传送测试111.2.1通过Linux系统启动卡111.2.2通过OpenSSH121.3LED测试151.4KEY测试151.......
  • 开发板测试手册——USB 4G 模块、GPS 定位功能操作步骤详解(3)
    目录4USB4G模块测试414.1网络功能测试424.2短信功能测试434.3GPS定位功能测试444.4通话功能测试454.5测试程序编译465USB网口模块测试47 前......
  • Feign挡板和Mock
     挡板测试其实是MOCK程序的一种,用于超大型项目~就是仅提供一个或者几个功能测试的沙盒beta版本首先,挡板测试在测试领域提到的不是很普遍。挡板测试大概就是:在一些跨系统的......
  • Java web
     1.1、WEB开发的相关知识WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源。Internet上供外界访问的Web资源分为:静态web资源(如html......
  • Java Map 集合类简介
    java.util中的集合类包含Java中某些最常用的类。最常用的集合类是List和Map。List的具体实现包括ArrayList和Vector,它们是可变大小的列表,比较适合构建、存储和......
  • 第十三章《集合》第1节:Java集合概述
    ​实际开发过程中,常常需要集中存放多个数据,虽然程序员可以使用数组来保存多个对象,但数组长度不可变化,一旦在初始化数组时指定了数组长度,这个数组长度就是不可变的,如果需要保......
  • 31_Java中的模块化
    Java中的模块化一、模块化概述​ Java语言随着这些年的发展已经成为了一门影响深远的编程语言,无数平台,系统都采用Java语言编写。但是,伴随着发展,Java也越来......
  • java配置环境
    一、jdk下载如果你电脑已经下载了jdk,那就恭喜你可以跳过这一步了jdk的下载路径:https://www.oracle.com/java/technologies/downloads游览进去的页面是这样子的(相比......
  • 第十一章《Java实战常用类》第12节:Formatter类
    ​程序员在控制台上输出文本时很多情况下要控制数据所占宽度,如果使用普通的print()和println()方法输出数据,控制宽度的工作要人工完成,费时费力却效果不理想。为解决这个问题......