自动化测试(一):wiremock api全解析

一、前言

本文涉及的wiremock安装包以及postman测试用例均在 wiremock自动化测试

二、wiremock常用接口

添加规则 POST /__admin/mappings
参数示例:

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

查询wiremock中所有规则 GET /__admin/mappings
查询wiremock中指定uuid的规则 GET /__admin/mappings/{stubMappingId}

更新wiremock中指定uuid的规则 PUT /__admin/mappings/{stubMappingId}

删除wiremock中所有规则 DELETE /__admin/mappings
删除wiremock中指定uuid规则 DELETE /__admin/mappings/{stubMappingId}

三、wiremock请求响应

首先启动wiremock
在这里插入图片描述

3.1 wiremock中的四个url字段

wiremock中表示url的一共有四个字段,分别是url、urlPath、urlPattern、urlPathPattern,都是string类型

字段名 字段类型 字段含义解释
url string 精准匹配的url,path和params直接写在url字段里面
urlPath string 精准匹配的url,path和params通过其他字段指明
urlPattern string 带有正则表达式的url,path和params直接写在urlPattern字段里面
urlPathPattern string 带有正则表达式的url,path和params通过其他字段指明

我们下面以url和urlPath为例,后面两个都只是说可以在字段值里面带上正则表达式罢了。

3.1.1 url字段

添加规则使用 /__admin/mappings 接口,接口类型是POST类型
在这里插入图片描述
测试规则

在这里插入图片描述

3.1.2 urlPath字段

添加规则
在这里插入图片描述
测试规则
在这里插入图片描述

3.2 queryParameters字段

wiremock的添加规则的/__admin/mappings接口中,其中的request字段是一个jsonObject对象,表示的含义是请求体,里面有一个queryParameters字段,这个字段也是一个jsonObject对象,表示的含义是url中的param参数。

注意:urlPath字段无法直接在字段值指定param,达到 ?key1=value1&key2=value2 的效果,只能通过queryParameters字段来完成,但是url字段可以直接在字段值指定param。

在这里插入图片描述
这里queryParameterscontains是固定参数,写死的

在这里插入图片描述

看一下两个param参数,如下:

添加规则
在这里插入图片描述
测试规则
在这里插入图片描述

3.3 headers

wiremock的添加规则的/__admin/mappings接口中,其中的request字段是一个jsonObject对象,表示的含义是请求体,里面有一个headers字段,这个字段也是一个jsonObject对象,表示的含义请求头信息。

在这里插入图片描述

在这里插入图片描述
也可以添加两个header

在这里插入图片描述
在这里插入图片描述

3.4 bodyPatterns

wiremock的添加规则的/__admin/mappings接口中,其中的request字段是一个jsonObject对象,表示的含义是请求体,里面有一个bodyPatterns字段,这个字段也是一个jsonObject对象,表示的含义请求体信息。

在这里插入图片描述
在这里插入图片描述
body里面可以添加多个键值对

在这里插入图片描述
在这里插入图片描述

另外body体添加的时候也可以写成字符串

在这里插入图片描述
在这里插入图片描述

3.5 批量添加规则

我们使用 /__admin/mappings 添加规则都是添加一个jsonObject对象,添加一条规则,其实,wiremock还提供了批量添加规则的接口 /__admin/mappings/import ,参数中包含一个 jsonArray 数组

在这里插入图片描述
在这里插入图片描述

3.6 wiremock中的优先级

字段名 取值与类型 解释
priority integer >= 1 This stub mapping’s priority relative to others. 1 is highest.

这个优先级字段是越小优先级越高,如下:

第一步,设置优先级为5,并测试请求
在这里插入图片描述
在这里插入图片描述

第二步,设置优先级为2,如下:
在这里插入图片描述
在这里插入图片描述

第三步,设置优先级为3,如下:
在这里插入图片描述
在这里插入图片描述

四、尾声

wiremock api全解析,完成了。

天天打码,天天进步!!

本文涉及的wiremock安装包以及postman测试用例均在 wiremock自动化测试

猜你喜欢

转载自blog.csdn.net/qq_36963950/article/details/123774212