自动化测试:wiremock api全解析
Posted 毛奇志
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自动化测试: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。
这里queryParameters
和contains
是固定参数,写死的
看一下两个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自动化测试 。
以上是关于自动化测试:wiremock api全解析的主要内容,如果未能解决你的问题,请参考以下文章