moco 入门及问题解决
废话不多说
下载:
http://repo1.maven.org/maven2/com/github/dreamhead/moco-runner/ 选择最新版本下载jar包
启动:
1:在本地jar包所在目录新建json文件,可自由定制request、respond,可选参数列表:"method", "headers", "json", "factory", "uri", "text","cookies", "xpaths", "json_paths", "version", "file", "queries", "path_resource", "forms"
其中request请求可填:
uri:请求地址
method:请求类型(get post)
cookies:带有cookies验证
headers:请求头,(例 “content-type”:“application/json”)
queries:填写请求参数,请求类型是get请求是时,使用该字段
Forms:填写请求参数,请求类型是post(类似form表单)请求是时,使用该字段
Json:填写请求参数,数据格式是json, get、post都可以使用
file:请求参数,封装在json文件时(文件地址)
response可填:
status:状态码
text:相应数据为文本数据
json:响应数据为json格式的数据
file:响应的数据是json文件(文件地址)
method = get时,参数提交用queries,=post时,用forms,否则报错
例:
新建文件confirmOrder.json,此为post方式不带参数的:
[{
"description" : "新订接受",
"request":{
"uri":"/test/confirmOrder",
"method":"post"
},
"response":{
"text":"接受成功~",
#返回text为中午显示会乱码,故加上headers告诉浏览器编码方式是gbk
"headers":{
"Content-Type":"text/html;charset=gbk"
}
}
}]
2:启动系统命令,cd到jar包所在目录,执行命令:java -jar ./moco-runner-0.12.0-standalone.jar http -p 8888 -c confirmOrder.json
执行成功会显示自定义端口号8888,如图:
因为json文件中定义了url ,此时我们访问 http://localhost:8888/test/confirmOrder 就能得到自定义的response返回了。
注意:
此时遇到的问题:定义了method = post之后不能直接在浏览器访问该url,浏览器提交是get方式,会报400错误,如图:
解决办法:使用postman或jmeter 用post方式提交请求。
成功后返回如下图:
post方式加上参数后,请求:
[{
"description" : "新订接受",
"request":{
"uri":"/test/confirmOrder",
"method":"post",
"forms":{
"orderID":"222",
"optionID":"111",
"env":"uat"
}
},
"response":{
"text":"接受成功~", "headers":{
"Content-Type":"text/html;charset=gbk"
}
}
}]
请求方式:在form-data中填写参数,请求
重定向:
"request":{...},
"redirectTo":“http://localhost:8888/abc.test.com",
"response":{...}
moco 入门及问题解决的更多相关文章
- moco入门
前提:moco是什么?有什么用 Moco是针对HTTP集成而生的,不过,现在也有人把它用在其它需要一个模拟服务器的场景中.比如,在移动开发中,有人开发一个移动应用,需要有一个远端服务,但在开发时,这个 ...
- 【测试工具】moco入门(一)
转自:https://www.cnblogs.com/tangqiu/p/9493147.html 简单来说,Moco就是解决了开发前端时没有后端支持,开发接口时依赖没有到位的尴尬场景.当然Moco的 ...
- maven入门问题解决
记录入门使用maven的问题和解决方法: 一.用mvn clean compile编译报错/ 或者在IDE中编译时,Problem视图显示错误:无法从maven服务器或者私有服务器或者某个网站中中下载 ...
- (入门篇 NettyNIO开发指南)第四章-TIP黏包/拆包问题解决之道
熟悉TCP编程的读者可能都知道,无论是服务端还是客户端,当我们读取或者发送消息的时候,都需要考虑TCP底层的粘包/拆包机制.木章开始我们先简单介绍TCP粘包/拆包的基础知识,然后模拟一个没有考虑TCP ...
- MySQL学习入门安装和启动及常见问题解决方法(一)
1.下载MySQL 官网地址:https://www.mysql.com/downloads/ 2.个人学习使用,只有下面这个是免费的 3.下载之后解压到目录中,并加入环境变量,如下 创建MYSQL_ ...
- SpringSecurity入门例子及遇到的问题解决
最近学习<Spring 实战>学习到了SpringSecurity,觉得书本上的例子过于复杂,而且不喜欢它基于java配置,更喜欢用xml文件进行配置 于是在极客学院网上学习,感觉挺不错的 ...
- Spring Boot入门——JDBCTemplate使用及其相关问题解决
1.在pom.xml文件中引入相应依赖 <!-- mysql依赖 --> <dependency> <groupId>mysql</groupId> & ...
- Spring Boot入门——多文件上传大小超限问题解决
多文件上传中遇到上传文件大小的问题 org.apache.tomcat.util.http.fileupload.FileUploadBase$FileSizeLimitExceededExcepti ...
- sublime text 3 入门技巧与常见问题解决
1. 常见问题 - 解决sublime 窗口栏(UNREGISTERED)(未购买)导致的经常性弹窗 解决方法: 点击Help -> About Sublime Text,查看sublimete ...
随机推荐
- 高性能MySQL之基础架构
一.背景 为什么我们需要先学习MYSQL的基础架构先呢? 原因很简单,当我们需要了解一件事物的时候,我们只有站在宏观的层面,才能层层剥丝抽茧的去理解问题.举个例子,我们要看一个框架的源码,一开始就想进 ...
- WEB基础(一)--JSP的9个内置对象
1.request request 对象是 javax.servlet.httpServletRequest类型的对象. 该对象代表了客户端的请求信息,主要用于接受通过HTTP协议传送到服务器的数据. ...
- 一文了解:Redis过期键删除策略
Redis过期键删除策略 Redis中所有的键都可以设置过期策略,就像是所有的键都可以上"生死簿",上了生死簿的键到时间后阎王就会叉掉这个键.同一时间大量的键过期,阎王就会忙不过来 ...
- 洛谷 P2044 [NOI2012]随机数生成器
题意简述 读入X[0], m, a, c, n和g $ X[n+1]=(a*X[n]+c)\mod m $ 求X数列的第n项对g取余的值. 题解思路 矩阵加速 设\[ F=\begin{bmatrix ...
- 使用re.split 按标点+空格的一种分割办法
import re import string t1 = re.split("["+string.punctuation+" ]","(555) 12 ...
- (六)c#Winform自定义控件-单选框
前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. 开源地址:https://gitee.com/kwwwvagaa/net_winform_custom_control ...
- python匿名函数的介绍及用途
匿名函数 用lambda能够创建一个匿名函数,这中函数得名于省略了用def声明函数的标准步骤. 语法 lambda [arg1 [,arg2,.....argn]]:expression 如何使用 我 ...
- django在启动时抛出Error: [WinError 10013] 以一种访问权限不允许的方式做了一个访问套接字的尝试 解决办法
1.适用场景 在启动某个服务的时候,比如python中django启动的时候8000端口被占用,导致无法启动服务. 2.解决办法 通过命令行找出端口对应的PID进程 C:\Users\micha> ...
- LCA最近公共祖先---倍增法笔记
先暂时把模板写出来,A几道题再来补充 此模板也是洛谷上的一道模板题 P3379 [模板]最近公共祖先(LCA) #pragma GCC optimize(2) //o2优化 #include < ...
- Ng-Matero 0.1 发布了!
Ng-Matero 0.1 终于发布了!周末折腾了两天,结果最后发版还是出了点意外,好在今天补了一版. 距离 Ng-Matero 发布第一版已经过去了一个多月,然后很颓废地休息了半个多月,最近项目的关 ...