1.  Moco部署

5.1         运行环境

ü   Java运行环境

ü   moco-runner-0.11.0-standalone.jar

jar包:

Windows Java环境配置

5.2         模拟一个HTTP的post请求

Json文件说明

Moco服务启动会读取对应的JSON文件信息,这里我们先一起看一下我本地的JSON文件

.

根据上图,我们可以观察到

第一层结构中由下面三个对象组成

ü   description : 自定义的备注信息

ü   request :  请求信息集合

ü   response :  回执信息集合

第二层结构中:

ü   Request 集合包含 Uri , method , headers , json

Uri : 自定义的访问地址;按照上面配置,访问启动后,我们可以直接使用http://localhost:{Port}后续启动自定义/ api/1.0/internalPerson 进行访问。

Method:请求方法; 如 get , post 等。

Headers: 请求头信息 集合; 这里我们定义了连接类型为json格式,根据项目需要可增加其他字段信息,如 Cookie ,

JSON:请求协议boby;根据项目协议进行配置,注意不得含中文

ü   Response集合包含 JSON

JSON:回执信息boby;根据项目协议进行配置。

实例文件:

启动moco服务

将jar包与JSON文件在某个目录文件夹内

shift+鼠标右键点击所在目录空白处,点击“在此打开命令窗口”

命令窗口输入启动命令

java -jar ./moco-runner-0.11.0-standalone.jar http -p 8821 -c testdome22.json

说明:

ü   HTTP :当前使用传输协议

ü   -p 8821:运行使用的自定义端口号

ü   -c testdome22.json:运行服务读取的指定JSON文件

使用命令后,可以看到;服务在8821端口正常启动

验证接口协议

这里我们使用Postman来验证;Postman软件包见附件

打开Postman,根据上述JSON文件说明信息,填写如下:

请求方式选择post,URL 输入 http://本地IP:{$启动端口号}{ JSON文件中的Uri }

由于是JSON传输,这里headers里面设置传输格式为application/json

Boby选项中选择raw,并将格式选择为json; 内容为JSON文件说明中"request"集合对象的JSON内容

配置完成后,点击send;返回请求后的JSON信息。返回的信息为JSON文件中"response"集合对象的JSON

这里模拟向后台发送的post请求回执就完成了。方便快捷吧!

5.3         模拟一个HTTP的get请求

操作步骤同模拟一个HTTP的post请求,只是在JSON配置文件中,"method"方法写成”get”即可。

5.4         模拟一个HTTPS的post请求

证书制作

HTTPS在传输数据之前需要客户端(浏览器)与服务端(网站)之间进行一次握手,在握手过程中将确立双方加密传输数据的密码信息。此时这里需要证书作为公钥,我们先制作一个证书。

进入本地JAVA_HOME路径的bin目录下,shift+右键选择“在此打开命令窗口”

使用jdk自带的证书工具生成证书,输入以下命令

keytool -genkey -alias zhwei -keypass 123456 -keyalg RSA -keysize 1024 -validity 365 -keystore e:/zhengshu.keystore

storepass 123456

说明:

ü   -alias zhwei (别名)

ü   -keypass 123456(别名密码)

ü   -keyalg RSA(生证书的算法名称,RSA是一种非对称加密算法)

ü   -keysize 1024(密钥长度,证书大小)

ü   -validity 365(证书有效期,天单位)

ü   -keystore e:/zhengshu.keystore (指定生成证书的位置和证书名称)

ü   -storepass 123456(获取keystore信息的密码)

到E盘下可以看到生成的keystore文件

JSON文件说明

无需任何配置,可直接使用Json文件说明中的JSON文件

启动moco服务

将证书拷贝到JSON文件,jar包所在的目录下,命令窗口运行以下命令

java -jar ./moco-runner-0.11.0-standalone.jar https -p 443 -c startup2.json --https zhengshu.keystore --cert 123456 --keystore 123456

说明:

https :协议改为了HTTPS

-p 443:HTTPS默认请求端口号

-c startup2.json :指定读取的JSON文件

--https zhengshu.keystore : 指定读取的证书路径和证书名

--cert 123456 :秘钥的密码

--keystore 123456:指定秘钥库的密码

Moco服务在443端口正常启动

验证接口协议

由于在是采用的之前http post请求的JSON文件,这里我们在Postman做下修改

这里我们才用HTTPS请求,请求端口改为443,其他内容参考验证接口协议中的内容,不做修改。Send以后我们观察返回值

命令窗口打印信息

5.5         模拟一个HTTPS的get请求

操作步骤同模拟一个HTTPS的post请求,只是在JSON配置文件中,"method"方法写成”get”即可。

2.  小结

目前调研的内容已经满足常规的应用场景,后续学习到新的知识点会不断更新补充,欢迎各种同僚在使用中针对出现的问题进行积极反馈,便于整理加入到FAQ章节中。

3.  FAQ

6.1Moco交互过程中字符串乱码问题答疑

启动命令中加入-Dfile.encoding=UTF-8 进行强制转换

如:

java -jar -Dfile.encoding=UTF-8 ./moco-runner-0.11.0-standalone.jar http -p 8821 -c startup2.json

图1为gbk格式

图2为强制转换后

4.  参考文档

https://blog.csdn.net/ibelieve1974/article/details/70142176

https://www.cnblogs.com/hanschen-coder/p/6528829.html

https://blog.csdn.net/lluozh2015/article/details/79133892

https://www.cnblogs.com/hua198/p/5226219.html

https://www.jianshu.com/p/9846e30081e1

https://blog.csdn.net/dwyane__wade/article/details/80350548

moco框架应用一步到位的更多相关文章

  1. Mock1 moco框架的基本介绍

    前言: Mock就是模拟接口的,一般在开发人员还没有开发完接口,但是有接口文档,这个时候就可以执行接口测试,前端同学也可以用mock功能给自己使用. 功能:可以模拟http协议发送请求 下载链接:ht ...

  2. 郑晔谈 Moco 框架的开发:写一个好的内部 DSL ,写一个表达性好的程序

    作者:张龙 出处:http://www.infoq.com/cn/news/2013/07/zhengye-on-moco 郑晔谈Moco框架的开发:写一个好的内部DSL,写一个表达性好的程序 作者  ...

  3. Moco 框架以及其在 Web 集成测试的应用

    转自:https://www.ibm.com/developerworks/cn/web/1405_liugang_mocowebtest/ Moco 框架以及其在 Web 集成测试的应用 我们往往将 ...

  4. Mockserver之Moco框架搭建使用

    客户要求进行完整的产品展示,人员和时间都有限,来不及开发后端服务... 工期比较紧的项目,前端已开发完成,需要调试,后端接口还未开发完成... 公司某个项目依赖于第三方服务,但是第三方服务不方便频繁调 ...

  5. 『居善地』接口测试 — 12、Moco框架介绍

    目录 1.Mock功能介绍 2.Moco框架介绍 3.Moco框架在接口测试中的作用 4.Moco框架的优点 5.Moco框架的下载与启动 (1)Moco框架的下载 (2)Moco框架的启动 1.Mo ...

  6. 『居善地』接口测试 — 13、Moco框架的使用

    目录 1.Moco框架第一个练习 2.Get方法的Mock实现 3.Post方法的Mock实现 4.请求中加入Cookies 5.请求中加入Header 6.Moco模拟重定向 7.综合练习 8.总结 ...

  7. Mock8 moco框架如何返回一个cookie信息

    还是用之前的startupWithCookies.json这个文件,直接往里面添加上面的一个代码: [ { "description":"这是一个会返回cookies信息 ...

  8. Mock7 moco框架重定向

    新建一个startupWithRedirect.json [ { "description": "重定向到百度", "request": { ...

  9. Mock6 moco框架中如何加入header

    新建一个 startupWithHeader.json,这次在request里面添加了headers属性 [ { "description": "这是一个带header的 ...

随机推荐

  1. 设计模式C++描述----10.装饰(Decorator)模式

    一. 举例 我之前做过一个文件系统就叫 MyFileSys 吧,后来的话,客户想加入一些附加功能,比如压缩.加密.杀毒之类的操作,这些附加操作没有先后顺序,比如你可以先压缩再加密,也可以先杀毒再压缩, ...

  2. 2019年Unity学习资源指南[精心整理]

    前言 进入一个领域,最直接有效的方法就是,寻找相关综述性文章,首先你需要对你入门的领域有个概括性的了解,这些包括: 1.主流的学习社区与网站. 2.该领域的知名大牛与热心分享的从业者. 3.如何有效的 ...

  3. [springboot 开发单体web shop] 2. Mybatis Generator 生成common mapper

    Mybatis Generator tool 在我们开启一个新项目的研发后,通常要编写很多的entity/pojo/dto/mapper/dao..., 大多研发兄弟们都会抱怨,为什么我要重复写CRU ...

  4. 【XSY2505】tree

    Description 机房断网了!xj轻而易举地撬开了中心机房的锁,拉着zwl走了进去.他们发现中心主机爆炸了. 中心主机爆炸后分裂成了 n 块碎片,但碎片仍然互相连接,形成一个树的结构.每个碎片有 ...

  5. CAT客户端如何从Apollo中读取配置?

    运行环境 以下就是这个示例的运行环境,如果版本号不一样,区别也应该不会很大,可以根据实际情况做相应调整. JDK 8 spring boot 2.0.7.RELEASE cat-client 3.0. ...

  6. Vue学习笔记(五)——配置开发环境及初建项目

    前言 在上一篇中,我们通过初步的认识,简单了解 Vue 生命周期的八个阶段,以及可以应用在之后的开发中,针对不同的阶段的钩子采取不同的操作,更好的实现我们的业务代码,处理更加复杂的业务逻辑. 而在这一 ...

  7. 真正的打包scrapy单文件(不包含cfg)

    前置:https://www.cnblogs.com/luocodes/p/11827850.html 解决最后一个问题,如何将scrapy真正的打包成单文件 耗了一晚上时间,今天突然有灵感了 错误分 ...

  8. Android开发中常用的设计模式

    首先需要说明的是,这篇博文灵感来自于 http://www.cnblogs.com/qianxudetianxia/archive/2011/07/29/2121547.html ,在这里,博主已经很 ...

  9. MapReduce任务提交源码分析

    为了测试MapReduce提交的详细流程.需要在提交这一步打上断点: F7进入方法: 进入submit方法: 注意这个connect方法,它在连接谁呢?我们知道,Driver是作为客户端存在的,那么客 ...

  10. MySql: AUTO_INCREMENT

    首先要在Column使用AUTO_INCREMENT (每张表只有一个列可以AUTO_INCREMENT): 以下示例取自MySql官网(http://dev.mysql.com/doc/refman ...