3. REST-assured响应操作及用例设计原则

一、获取响应数据

REST-assured获取接口响应时间、响应状态码、响应头字段值:

Response res=
given().
    contentType("application/x-www-form-urlencoded").
    body(jsonData).
when().
    post("http://httpbin.org/post").
then().
    extract().response();
//获取接口响应状态码
System.out.println(res.getStatusCode());
//获取接口响应时间
System.out.println(res.time());
//获取响应头字段值
System.out.println(res.getHeader("Content-Type"));

二、响应体数据解析获取

REST-assured内置了GPath解析器,通过它可以方便解析获取对应响应体字段值,官网对Gpath的说明:

GPath is a path expression language integrated into Groovy which
allows parts of nested structured data to be identified. In this
sense, it has similar aims and scope as XPath does for XML. The two
main places where you use GPath expressions is when dealing with
nested POJOs or when dealing with XML

简单来说 GPath 是一种路径表达式语言,类似于 xpath,GPath 不仅可以应用于 XML,还可以应用于JSON、HTML。

处理JSON

res.jsonPath().get("XXX.XXX.XXX");

处理XML

res.xmlPath().get("XXX.XXX.XXX");

处理html

res.htmlPath().get("XXX.XXX.XXX");

GPath表达式语法

1、绝对路径写法:

AA.BB.CC

2、索引定位:

AA.BB[0].CC

3、条件筛选

AA.BB.find{it.DD == '值'}.CC
AA.BB.findAll{it.DD == '值'}.CC

find:查找符合条件的单个字段(如果有多个字段符合条件,那么默认使用第一个)
findAll:查找符合条件的所有字段

4、属性选择定位(只针对HTML/XML,JSON没有属性)

AA.BB.CC.@属性名

三、接口响应断言

断言就是判断实际的结果是否符合预期,从而判定测试用例是否执行通过。

TestNG测试框架自带了AssertXXX断言方法,通过提取响应字段值即可通过AssertXXX进行断言

  • 响应状态码断言
  • 响应头断言
  • 响应体数据断言
  • 响应时间断言

四、测试用例设计原则

  • 每条测试用例都可以单独运行,测试用例之间没有相互依赖;
  • 一个测试用例包含一个或多个测试步骤(一个接口请求即为一个测试步骤);
  • 测试用例集(或者可以称之为测试套件)是多个测试用例的集合;

1、单接口的测试用例

根据接口文档对单个接口设计测试用例,有正向和异常,边界值测试

2、业务场景组合测试用例

通过多个接口的串联操作完成业务逻辑,重点在于业务流程是否能跑通

五、常见面试题

  1. 接口自动化的接口依赖/接口关联处理方法?

  2. post请求有哪些传参形式?

  3. form表单传参 json传参 xml传参 multipart多参数表单传参

  4. 接口自动化测试怎么校验结果?

  5. 响应数据断言(响应状态码、响应头字段、响应体字段)

  6. 数据库断言–》后续会将

六、作业

完成登录->搜索产品->商品详情页->添加购物车->提交下单业务流程用例编写

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值