霍格沃兹测试开发

接口测试框架

霍格沃兹测试开发

ceshiren.com

目录

  • REST-assured 简介
  • REST-assured 接口测试实战

REST-assured 简介

  • 是由 Java 实现的 REST API 测试框架
  • 支持发起 POST,GET,PUT,DELETE 等请求
  • 可以用来验证和校对响应信息

官网地址: http://rest-assured.io/

REST-assured 优势

  • 简约的接口测试 DSL
  • 支持 xml/json 的结构化解析
  • 支持xpath/jsonpath/gpath解析方式
  • 对 spring 的支持比较全面
  • 符合契约编程思想

{style=zoom:30%}

REST-assured 环境准备

  • 基于 JDK 11、JUnit5
  • 创建 maven 项目
  • pom.xml 添加 rest-assured 的依赖
<dependency>
    <groupId>io.rest-assured</groupId>
    <artifactId>rest-assured</artifactId>
    <version>4.4.0</version>
    <scope>test</scope>
</dependency>

REST-assured 实战

  • 新建一个测试类 TestRestAssured.java
  • 新建一个测试方法 fun
  • 调用 REST-assured 方法发起请求
import org.junit.jupiter.api.Test;
import static io.restassured.RestAssured.given;

public class TestRestAssured {

    @Test
    void fun(){

        given()
            // given 设置测试预设(请求头、请求参数、请求体等等)
            .header("Hello", "Hogwarts")
        .when()
            // when 所要执行的请求动作
            .get("https://httpbin.ceshiren.com/get")
        .then()
            // then 解析结果、断言
            .log().all();  // 打印全部响应信息(响应头、响应体、状态等等)
    }
}

附录:JUnit5 依赖配置

  • pom.xml中添加配置信息
<!--   JUnit5     -->
<dependency>
    <groupId>org.junit.platform</groupId>
    <artifactId>junit-platform-launcher</artifactId>
    <version>1.5.2</version>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>org.junit.jupiter</groupId>
    <artifactId>junit-jupiter-engine</artifactId>
    <version>5.5.2</version>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>org.junit.vintage</groupId>
    <artifactId>junit-vintage-engine</artifactId>
    <version>5.5.2</version>
    <scope>test</scope>
</dependency>