接口测试 基于 rest-assured 的接口测试工具

xinxi · October 21, 2018 · Last by 走刀口 replied at December 07, 2018 · 1713 hits

愿景

通过配置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,所以定义了这三个模型类.

yaml模版

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失败会有具体的报错信息

共收到 6 条回复 时间 点赞


又是DJI作品?

xinxi #2 · October 22, 2018 作者
尹全旺 回复

参考了httprunner的用例组织

Author only
走刀口 回复

对啊 这个是必要参数,case的路径

Author only
Author only
需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up