通过配置 yaml 文件就能进行简单的接口测试,降低编写代码的成本,让接口测试更加容易
https://github.com/xinxi1990/HttpTools.git
把该工具打包成jar包,jar包在target目录下
打包命令:mvn package
java -jar HttpTools-1.0-SNAPSHOT.jar
-f /Users/xinxi/get_temp.yaml 测试用例路径
-r /Users/xinxi/Desktop 保存的文件目录
-v ALL 日志等级
使用 rest-assured + junit + extentreports 作为框架
rest-assured 是一款开源的接口测试框架,java 开发的.内置了很多发送请求方法、解析数据方法.
extentreports 作为报告输入的模版,比原生报告和 ReportNG 都要美观.
接口测试无非就三个条件,请求参数、接口名、断言数据
在 rest-assured 框架中,对应的是 give、when、then,所以定义了这三个模型类.
get请求
- info:
name: "查询快递"
given:
queryParam:
type: "shentong"
postid: "111111"
headers:
Accept: "*/*"
request: "get"
when:
url: "http://www.kuaidi100.com/query"
then:
statusCode: 200
body:
- eq : ["message", "ok"]
post请求
- info:
name: "电子书详情页"
given:
body:
bid: 3210
userInfo:
uid: "229461915"
headers:
Content-Type: "application/json"
request: "post"
when:
url: "https://m.igetget.com/hybrid/api/v1/ebook/detail"
then:
statusCode: 200
body:
- eq : ["errCode", "0"]
目前支持 post、get 请求,get 其中 header 和 queryParam 参数可以不写.post 中 body 参数必须写.
1.支持一个请求多次断言,断言失败可以继续后续断言
2.支持等于、不等于、大于、小于方式的断言
使用 jsonpath 语法解析响应
["message", "ok"]
["data.size()", "8"]
根据-r 的入参数路径生成在该文件夹路径下,case 失败会有具体的报错信息