Rest-assured3 - 接口测试断言

0. 知识点

我们将介绍如下知识点: 1. 接口断言使用场景 2. 响应结果类型 3. 响应结果断言 问题: 1. 如何确保接口请求可以发送成功 2. 如何保证符合业务需求 解决方案: 响应断言

1. 响应结果类型

类型 断言方法 含义 状态码 statusCode() 响应状态码 响应头 header() 响应头信息 内容 body() 内容完全匹配

2. 简单断言: 响应状态码

public void testStatusCode(){
        given()
                .log().all()

                .when()
                .get("https://httpbin.ceshiren.com/get")

                .then()
                .log().all()
                .statusCode(200);
    }

3. 简单断言: 响应体

引入新依赖hamcrest-core和hamcrest-library 用于body对比。需要导入

import static org.hamcrest.Matchers.equalTo;
<!-- https://mvnrepository.com/artifact/org.hamcrest/hamcrest-core -->
        <dependency>
            <groupId>org.hamcrest</groupId>
            <artifactId>hamcrest-core</artifactId>
            <version>1.3</version>
            <scope>test</scope>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.hamcrest/hamcrest-library -->
        <dependency>
            <groupId>org.hamcrest</groupId>
            <artifactId>hamcrest-library</artifactId>
            <version>1.3</version>
            <scope>test</scope>
        </dependency>
public void testBody(){
        given()
                .when()
                .get("https://httpbin.ceshiren.com/get")
                .then()
                .log().all()
                .statusCode(200)
//                .body("origin", equalTo("10.7.136.128"));
                .body("origin", equalTo("172.17.56.110"))
                ;
    }

复杂断言 

如果碰到复杂断言应该怎么处理? jsonpath jsonschema 自行编写解析算法
经验分享 程序员 微信小程序 职场和发展