自动化测试: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类型

字段名字段类型字段含义解释
urlstring精准匹配的url,path和params直接写在url字段里面
urlPathstring精准匹配的url,path和params通过其他字段指明
urlPatternstring带有正则表达式的url,path和params直接写在urlPattern字段里面
urlPathPatternstring带有正则表达式的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中的优先级

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

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

第一步,设置优先级为5,并测试请求

第二步,设置优先级为2,如下:

第三步,设置优先级为3,如下:

四、尾声

wiremock api全解析,完成了。

天天打码,天天进步!!

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

以上是关于自动化测试:wiremock api全解析的主要内容,如果未能解决你的问题,请参考以下文章

单元测试 - Wiremock 验证失败并出现连接错误

使用WireMock进行更好的集成测试

springboot项目使用WireMock伪造REST服务

在春季启动测试中使用wiremock随机端口设置属性

国产全中文-自动化测试软件Apifox

国产全中文-自动化测试软件Apifox