WireMock简单使用
傅越
2023-12-01
WireMock 是一个灵活的库用于 Web 服务测试,和其他测试工具不同的是,WireMock 创建一个实际的 HTTP服务器来运行你的 Web 服务以方
便测试。
支持 HTTP 响应存根、请求验证、代理/拦截、记录和回放。
你可以去github上面下载最新版本的wiremock
https://github.com/tomakehurst/wiremock
如果只要使用不用源码可以直接下载standalone.jar
本人下载的是wiremock-1.38-standalone.jar
下载完成后,新建2个bat
record
java -jar wiremock-1.38-standalone.jar --proxy-all="http://127.0.0.1:8088" --record-mappings --verbose
start
java -jar wiremock-1.38-standalone.jar --verbose
使用时,先启动record,指定代理http://127.0.0.1:8088
发送到8080端口的数据都会代理转发到代理服务并记录
录制完毕后,修改一下\mappings目录下面对应的文件
例如:
{
"request" : {
"urlPattern" : "/mockHelloWorldImplServiceSoapBinding",
"method" : "POST",
"bodyPatterns": [
{ "matches": ".*sayHi.*" }
]
},
"response" : {
"status" : 200,
"bodyFileName" : "body-mockHelloWorldImplServiceSoapBinding-111.json",
"headers" : {
"Content-Type" : "text/xml; charset=utf-8",
"Content-Encoding" : "gzip",
"Transfer-Encoding" : "chunked",
"Server" : "Jetty(6.1.26)"
}
}
}
"urlPattern" 模糊匹配url
"bodyPatterns": 模糊匹配post内容
"bodyFileName" 指定匹配成功后返回的body内容,该内容在__files文件夹中可以找到并修改
修改完成后,使用start启动服务
然后发送对应交易到mock服务,就可以模拟返回设置好的响应数据啦
详细使用可以参考http://wiremock.org/index.html