wireMock单机版jar包的使用

wireMock单机版jar包的使用

1.使用场景

  1. 服务模块之间依赖联调,模块开发中
  2. 不同于在线mock需要注册登录
  3. 提供录制功能,可以录制外部接口的请求响应
  4. mock文件在本地,可以快捷修改

2.官网地址

单机版使用指导地址:
https://wiremock.org/docs/running-standalone/

3.jar包启动

  1. 因为jar包启动,所以本地需要提前安装java
  2. 为方便后续启动,新建shell脚本,windows上新建bat命令,逻辑一致

以下为具体实现步骤:

3.1下载jar包

可以通过在项目中依赖相关jar包,用maven下载后,然后在本地仓库中找到该jar包

 		<dependency>
            <groupId>com.github.tomakehurst</groupId>
            <artifactId>wiremock-standalone</artifactId>
            <version>2.18.0</version>
            <scope>test</scope>
        </dependency>

3.2编写启动脚本

java -jar {jar_path}/repository/com/github/tomakehurst/wiremock-standalone/2.18.0/wiremock-standalone-2.18.0.jar --port 21400 —https-port 21500 --verbose --root-dir {mockFile_path}/mockFile

这里我自定义了访问接口,具体的jar启动参数说明详见文档地址:
https://wiremock.org/docs/running-standalone/

这里需要注意的是,jar包的可执行权限需要进行修改
chmod 777 {jar_path}/repository/com/github/tomakehurst/wiremock-standalone/2.18.0/wiremock-standalone-2.18.0.jar

3.3启动脚本

sh mock.sh

在这里插入图片描述

此时在设置的mockfile文件夹中会自动创建两个文件夹
在这里插入图片描述
mappings文件夹后续可以增加要mock的接口文件,文件格式为.json

4.页面地址

http://localhost:21400/__admin/docs/
在这里插入图片描述

点击ui地址跳转
在这里插入图片描述

5.自定义json文件进行mock

在mappings文件夹下创建一个要mock的json文件

在这里插入图片描述

{
    "request": {
        "method": "GET",
        "url": "/api/mytest"
    },
    "response": {
        "status": 200,
        "body": "More content\n"
    }
}

新建文件之后,这里服务需要重启,重新执行下shell启动脚本,访问http://localhost:21400/api/mytest

在这里插入图片描述

6.录制功能

录制地址
http://localhost:21400/__admin/recorder/

在这里插入图片描述

这里以百度为例,将百度的地址填入这里

在这里插入图片描述
然后访问地址http://localhost:21400/,这里的原理是wiremock做了一层代理转发,并将前后拦截的请求和响应都记录下来,存放在mappings文件下的一个新建json文件中,这样后续我们没有网络的时候,直接请求http://localhost:21400/也是可以拿到响应的

在这里插入图片描述

停止录制,可以看到录制的接口数
在这里插入图片描述

查看本地mappings文件
在这里插入图片描述


版权声明:本文为Guesshat原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。