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

看过乙醇分享的接口测试,自己练习了moco,这里呢,吧一些练习的笔记坐下记录,方便自己查阅。

开源地址https://github.com/dreamhead/moco  ,  到QuickStart 进行下载。

下载就是一个jar包,

新建文件夹,然后看着官网的例子来做第一个接口

创建config.json,

[
    {
        "request":
        {
            "method":"get",
            "uri":"/"
        },
        "response":
        {
            "json":"huanyingni moco"
        }

    }
]

  然后cmd输入

java -jar moco-runner-0.11.1-standalone.jar   http -p 12306 -c config.json

代表已经启动,那么我们在url访问

可以看到我们的server已经启动,我们看下命令行给我们的记录信息。

其实我们还可以吧这个config文件的数据进行数据驱动

[
    {
        "request":
        {
            "method":"get",
            "uri":"/get"
        },
        "response":
        {
            "file":"allpost.json"
        }

    }
]

数据文件如下

[
    {
        "title":‘first1‘,
		‘url‘:‘/post/1‘
    },
	{
        "title":‘first2‘,
		‘url‘:‘/post/2‘
    },
	{
        "title":‘first3‘,
		‘url‘:‘/post/3‘
    }
]

  这样我们保存后,后台检查到变动,就会自动重新加载

访问网址后得到我们在数据驱动文件写入的数据。

其实我们还可以增加请求的参数如:

[
    {
        "request":
        {
            "method":"get",
            "uri":"/get",
            "queries":
            {
                "id":"12306",
                "name":"moco"
            }
        },
        "response":
        {
            "text":"moco get"
        }

    }
]

这样我们的访问必须增加参数才可以访问

还可以约定请求头必须加json格式

[
    {
        "request":
        {
            "method":"post",
            "uri":"/post",
            "text":
            {
                "json":"{\"beijing\":\"2018\",\"shanghai\":\"mocoshanghai\"}"
            }
        },
        "response":
        {
            "status":"200"
        }
    }
]

增加headers

[
    {
        "request":
        {
            "method":"post",
            "uri":"/post",
            "text":
            {
                "json":"{\"beijing\":\"2018\",\"shanghai\":\"mocoshanghai\"}"
            },
			"headers":
            {
                "content-type":"application/json",
                "Connection":"keep-alive",
                "Content-Encoding":"gzip"
            }
        },
        "response":
        {
            "status":"300"
        }
    }
]

  返回文件,

[
    {
        "request":
        {
            "method":"post",
            "uri":"/post"
        },
        "response":
			{
				"file":"allpost.json",
				"version":"HTTP/1.0"
			}
    }
]

加入请求cookie: 

{
  "request" :
    {
      "uri" : "/cookie",
      "cookies" :
        {
          "login" : "true"
        }
    },
  "response" :
    {
      "text" : "success"
    }
}

返回cookie

{
  "request" :
    {
      "uri" : "/cookie"
    },
  "response" :
    {
      "cookies" :
      {
        "login" : "true"
      }
    }
}

  

重定向,

{
  "request" :
    {
      "uri" : "/redirect"
    },
  "redirectTo" : "http://www.github.com"
}

  

https协议的 需要有https证书,其实已经给了说明,

启动命令

java -jar moco-runner-<version>-standalone.jar https -p 12306 -c foo.json --https /path/to/cert.jks --cert mocohttps --keystore mocohttps

需要增加你的证书

很多在github上都有了详细的讲解。看不懂英文吧例子摘抄下来,本地试试,你就知道这是怎么回事了。

时间: 2024-10-10 06:04:35

接口测试 mock server 工具moco学习笔记的相关文章

Apache commons lang工具类学习笔记(2)--StringUtils

StringUtils工具类具有对String具有简单而强大的处理能力,从检查空串到分割字符串,到生成格式化的字符串,使用都很方便简洁,能减少很多代码量; 详细的使用方法可以参考下面的例子或者官方的API(http://commons.apache.org/proper/commons-lang/javadocs/api-release/org/apache/commons/lang3/StringUtils.html#isAlpha(java.lang.CharSequence)) packa

GNU工具链学习笔记

GNU工具链学习笔记 1..so为动态链接库,.a为静态连接库.他们在Linux下按照ELF格式存储.ELF有四种文件类型.可重定位文件(Relocatable file,*.o,*.a),包含代码和数据,可用来连接成可执行文件或共享目标文件;可执行文件(Executable File),ELF可执行文件:共享目标文件(Shared Object File,*.so),包含代码和数据:核心转储文件(Core Dump File),进程意外终止时,系统将该进程的地址空间内容和其他信息保存到该文件中

运维自动化工具ansible学习笔记

利用五一假期的时间学习了下ansible,看了一天的官方文档,对其中需要注意的地方,做下笔记整理下思绪. 一.简介 Ansible是与puppet.saltstack类似的集群管理工具,其优点是仅需要ssh和Python即可使用,而不像puppet.saltstack那样都需要客户端.puppet与saltstack这2个软件都需要安装客户端,而saltstack与ansible很相似,都是属于python流的,但saltstack不是很稳定:puppet虽然稳定,但命令执行的时候,需要配置模块

开源mock server系统——moco简单好用

1.Moco 是什么 Moco是一个简单搭建模拟服务器的程序库/工具,这个基于 Java 开发的开源项目已经在 Github 上获得了不少的关注.该项目的简介是这样描述自己的:Moco 是一个简单搭建 stub 的框架,主要用于测试和集成.这个框架的开发灵感来自 Mock 框架,如 Mockito 和 Playframework. 2.为什么要开发这个框架? 集成,尤其是基于 HTTP 协议的集成--web service.REST 等,在我们的项目开发中被广泛应用.以前,我们每次都要往 Jet

《SQL SERVER 2008数据库学习笔记(一)——Clown》

最近看了一本SQL SERVER2010的教材,顺便记录了一下笔记(PS:此书暂时没有看完.所以暂时更新一下内容)!一下内容为本人自己整理.如有错误还请大家指出以免影响别人的学习. 1. 创建一个表TestDB DROP TABLE TestDB CREATE TABLE TestDB( id varchar(15) NOT NULL, name varchar(15) NOT NULL, sex int NOT NULL, CONSTRAINT pk_id PRIMARY KEY(id) );

LoadRunner工具性能测试学习笔记

性能测试工具基于协议,如loadRunner jmeter 自动化测试工具基于对象识别,如selenium,不能模似大负载 工具选择 1.成本 1)工具成本 2)学习成本 2.通信协议 1)标准协议 2) 自有协议 3.生命力 4.跨平台 常见的性能测试工具:loadRunner(HP商业,免费并发50),Jmeter(开源),Gatling LoadRunner安装 windows平台(略) LoadRunner基本组成 1.Virtual User Generator录制最终用户业务流程,创

cefsharp作为采集工具(学习笔记)

cefsharp(webkit内核)浏览器替代webbrowser用来采集页面数据. 需要在页面form加载完毕,用异步方式自动获取sourcecode. 由于国内cefsharp的资料相对比较少,在google英文资料后得到方法,这里做个笔记备忘: IWebBrowser.cs 这个接口文件里面 36行: event EventHandler<FrameLoadEndEventArgs> FrameLoadEnd; 页面加载完的"事件". 262行:GetSourceAs

jquery 绘图工具 flot 学习笔记

今天想做一个统计图表,像163博客的流量统计一样的,借助 flot 实现了,而且很简单. flot网址:http://code.google.com/p/flot/ 下载 JS 文件,使用方法和 jquery 一样. 注意:flot是自动绘制在画布标签(canvas)内的,IE不支持,需要添加 excanvas.min.js ,此文件可以在上面给出的flot网址中下载 示例网址:http://people.iola.dk/olau/flot/examples/ 参数说明:http://wenku

同步工具Rsync学习笔记

一.RSYNC介绍. 全称Remote Rynchronization. 可以用于主机之间快速复制同步镜像和远程备份,类似于SCP命令,但又优于SCP命令,可以增量拷贝. 同时又类似于CP命令,用于本地不同分区或目录之间的全量或者增量拷贝. 还能实现删除文件和目录的功能,类似于RM命令. 二.RSYNC特性. 1. 支持拷贝特殊类型文件如设备,链接文件. 2. 可以排除指定文件或目录,相当于TAR打包时的排除. 3. 可以保持原文件的属性不变,如属主.属组.修改时间.软硬链接,权限等等. 4.