博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
wiremock使用入门
阅读量:6266 次
发布时间:2019-06-22

本文共 1841 字,大约阅读时间需要 6 分钟。

wiremock 简介

WireMock是一个开源的测试工具,支持HTTP响应存根、请求验证、代理/拦截、记录和回放。最直接的用法:

  • 为Web/移动应用构建Mock Service
  • 快速创建Web API原型
  • 模拟Web Service中错误返回
  • 录制HTTP请求和回放

生成mock API的方式

生成mock api有两种方式:一种是新建mapping文件,另一种是通过wiremock的api. 其中第一种可以永久保存下来,第二种是暂时生成API,待下次build container后,会被清除. 下面详细介绍一下两种方式:

新建Mapping文件生成mock API

一个Mock的api对应一个json文件,放在mapping/下,文件格式如下:

{"request": {"url": "/QueryPWIDByLoginname","method": "POST","bodyPatterns": [{"equalToJson": "{ \"loginName\":\"17317920860\"}","ignoreArrayOrder": true,"ignoreExtraElements": true}]},"response": {"status": 200,"body": "{\"code\":\"0\",\"data\":{\"AccountID\":\"\",\"LoginNameType\":\"2\",\"LoginStatus\":\"1\",\"PWID\":\"300111000156276629\",\"PWIDType\":\"wanda\",\"Status\":\"1\",\"SysFrom\":\"wandacloud\"},\"msg\":\"success\"}","headers": {"Content-Type": "application/json; charset=utf-8","Date": "Fri, 18 Aug 2017 07:05:05 GMT"}}}

mapping文件可以手动写,也可以通过wiremock的record功能生成.

record 功能生成mapping

wiremock Server提供了record UI, 访问地址: :31703/__admin/recorder/

下面以登录注册模块QueryPWIDByLoginname功能为例,打开record UI, 需要mock的URL填入,:30303,点击 Record按钮. 之后发向:30303的请求,可以用:31703来代理例如,应发送请求:
访问:

curl -X POST "http://10.214.169.111:31703/QueryPWIDByLoginname" -H "accept: application/vnd.response+json" -H "content-type: application/json" -d "{ \"loginName\": \"17317920860\"}"

返回:

{"code":"0","data":{"AccountID":"","LoginNameType":"2","LoginStatus":"1","PWID":"300111000156276629","PWIDType":"wanda","Status":"1","SysFrom":"wandacloud"},"msg":"success"}

点击Stop按钮,结果如下:

图片描述

2.调用wiremock的api获取录制内容:使用curl/浏览器等方式获取::31703/__admin/mappings

3.将request和response部分拷贝到一个mapping目录下的一个新json文件, 上传git,完成.

使用wiremock admin rest api生成mock API

/__admin/mappings

POST :31703/__admin/mappings
body:

{"request": {"method": "GET","url": "/fromAPI"},"response": {"status": 200,"body": "Hello world - API!","headers": {"Content-Type": "text/plain"}}}

图片描述

转载地址:http://lucpa.baihongyu.com/

你可能感兴趣的文章
NYOJ61 传纸条(一) 双线程dp
查看>>
数组拍平最优解
查看>>
leetcode 303. Range Sum Query - Immutable
查看>>
java中的生产者模式
查看>>
Rabin Karp 算法实战
查看>>
IIS7启用静态压缩
查看>>
Scala进阶之路-进程控制之执行shell脚本
查看>>
MySQL高可用架构之Mycat-关于Mycat安装和参数设置详解
查看>>
MapReduce编程模型及其在Hadoop上的实现
查看>>
SEH(__try,__except)
查看>>
Pinterest架构:两年内月PV从零到百亿
查看>>
选择排序
查看>>
关于redis有序集合http://www.runoob.com/redis/redis-sorted-sets.html
查看>>
LESS速查
查看>>
20.pipe
查看>>
.NET Entity Framework入门操作
查看>>
iOS-集成微信支付和支付宝支付
查看>>
SAP
查看>>
读掘金小册组件精讲总结2
查看>>
MVC项目中怎样用JS导出EasyUI DataGrid为Excel
查看>>