侧边栏壁纸
博主头像
一朵云的博客博主等级

拥抱生活,向阳而生。

  • 累计撰写 67 篇文章
  • 累计创建 25 个标签
  • 累计收到 7 条评论

目 录CONTENT

文章目录

RestAssured -- 基本介绍与使用

一朵云
2021-04-15 / 0 评论 / 2 点赞 / 7588 阅读 / 5410 字

介绍

  RestAssured 是基于java开发的开源测试框架,用于简化构建在 HTTP Builder 之上的基于 REST 服务的测试。它支持 POST、GET、PUT、DELETE、OPTIONS、PATCH 和 HEAD 请求,可用于验证和验证这些请求的响应。

github地址:
https://github.com/rest-assured/rest-assured

使用

1、环境准备

  提供服务端jar包、接口文档的下载、访问地址,需下载jar运行在本地,供后续示例使用。

  jar包下载地址:https://cdn.yiduoyun.space/server-0.0.1-SNAPSHOT.jar

  服务端接口文档:https://console-docs.apipost.cn/preview/40d39bd75ff83aea/33534bca09371fd6

1、引入maven依赖

 	<!-- RestAssured 依赖 -->
        <dependency>
            <groupId>io.rest-assured</groupId>
            <artifactId>rest-assured</artifactId>
            <version>5.0.1</version>
        </dependency>

       <!-- TestNG 依赖 -->
        <dependency>
            <groupId>org.testng</groupId>
            <artifactId>testng</artifactId>
            <version>7.5</version>
        </dependency>

	<!-- 日志 依赖 -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.16.10</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.7.28</version>
        </dependency>

2、GET 请求


import lombok.extern.slf4j.Slf4j;
import org.testng.annotations.Test;
import static io.restassured.RestAssured.given;

/**
 * @author xcj
 */
@Slf4j
public class HttpRequest {

    @Test
    public void getInfo(){
        given().param("productName","咖啡")
                .param("number","1").log().all()
                .when().get("http://localhost:8080/checkStock")
                .then().log().all().statusCode(200);
    }
    
}

3、POST 请求

import lombok.extern.slf4j.Slf4j;
import org.testng.annotations.Test;
import java.util.HashMap;
import java.util.Map;
import static io.restassured.RestAssured.given;

/**
 * @author xcj
 */
@Slf4j
public class HttpRequest {

    @Test
    public void addInfo(){
        Map map = new HashMap();
        map.put("name","咖啡");
        map.put("number","8");
        given().header("Content-Type","application/json")
                .body(map).log().headers().log().body()
                .when().post("http://localhost:8080/addProductStock")
                .then().log().body().statusCode(200);
    }
}

4、PUT 请求

import lombok.extern.slf4j.Slf4j;
import org.testng.annotations.Test;
import java.util.HashMap;
import java.util.Map;
import static io.restassured.RestAssured.given;

/**
 * @author xcj
 */
@Slf4j
public class HttpRequest {

    @Test
    public void putInfo(){
        Map map = new HashMap();
        map.put("name","牛奶");
        map.put("number","8");
        String msg = given().header("Content-Type", "application/json")
                .body(map).log().all()
                .when().put("http://localhost:8080/updateProductStock")
                .then().log().all().statusCode(200).extract().path("msg");

        log.info("提取的接口响应信息:{}",msg);
    }
}

5、DELETE 请求

import lombok.extern.slf4j.Slf4j;
import org.testng.annotations.Test;
import static io.restassured.RestAssured.given;

/**
 * @author xcj
 */
@Slf4j
public class HttpRequest {

    @Test
    public void deleteInfo(){

        given().param("productName","牛奶").log().all()
                .when().delete("http://localhost:8080/removeProductStock")
                .then().log().all().statusCode(200);

    }
}
2

评论区