NỘI DUNG BÀI HỌC

✅ Rest Assured là gì
✅ Cài đặt thư viện Rest Assured vào Maven project
✅ Chạy thử test case API với Rest Assured

✅ REST Assured là gì?

REST Assured là một thư viện Java DSL được xây dựng trên nền HTTP Builder (thư viện tạo HTTP request), cho phép thực hiện gửi request và kiểm tra response. Nói đơn giản là một thư viện được xây dựng sẵn để việc thực hiện kiểm thử API tự động trở nên dễ dàng hơn.

Thực tế, có rất nhiều thư viện mà chúng ta có thể dùng, nhưng kinh nghiệm cho thấy Rest Assured dễ dùng hơn hết, nhiều chức năng hơn, và đặc biệt là nó có một cộng đồng hỗ trợ rất lớn. Bản chất Rest Assured nó là một Open Source.

Cái chữ REST là nó đại diện cho tính năng test chuyên API kiểu REST API. Các phương thức hỗ trợ chính như: GET, POST, PUT, PATCH, DELETE.


✅ Cài đặt thư viện Rest Assured vào Maven project

Để cài đặt thư viện Rest Assured thì cũng tương tự như TestNG Framework. Chỉ cần lên mvnrepository.com để copy và dán vào file pom.xml build lại là xong.

https://mvnrepository.com/artifact/io.rest-assured/rest-assured

Chọn bản mới nhất nhen. Hiện tại theo bài viết này (11/11/2023) là bản 5.3.2 (Sep 08, 2023)

<!-- https://mvnrepository.com/artifact/io.rest-assured/rest-assured -->
<dependency>
    <groupId>io.rest-assured</groupId>
    <artifactId>rest-assured</artifactId>
    <version>5.3.2</version>
</dependency>


Khi các bạn copy thư viện Rest Assured từ mvnrepository nhớ bỏ dòng <scope>test</scope> ra nhé. Để sau này dùng bên package main trong maven project vẫn được. Kẻo nó chỉ áp dụng cho mỗi package test.


✅ Chạy thử test case API với Rest Assured

Các bạn tạo một class mới xong dán code An soạn sẵn và chạy thử xem được không.

Tài liệu API: https://api.anhtester.com/swagger/index.html

import io.restassured.RestAssured;
import io.restassured.http.ContentType;
import io.restassured.response.Response;
import io.restassured.specification.RequestSpecification;
import org.testng.annotations.Test;

import static io.restassured.RestAssured.given;
import static org.hamcrest.Matchers.equalTo;

public class ApiTest {
    @Test
    public void testApi01() {
        //Thiết lập cơ sở URL của API
        RestAssured.baseURI = "https://api.anhtester.com/api";

        //Thiết lập cấu trúc đầu vào: EndPoint, Params, Header, Body
        RequestSpecification request = given();
        request.basePath("/books"); //EndPoint
        request.header("Accept", "application/json");

        //Gửi GET request và lưu kết quả vào response
        Response response = request.get();

        //In kết quả từ response dưới dạng JSON đã format
        response.prettyPrint();

        //Verify từng giá trị trong response
        response.then().statusCode(200);
        response.then().statusLine("HTTP/1.1 200 OK");
        response.then().contentType(ContentType.JSON);
        //Verify data từ body dạng JSON
        response.then().body("response[0].name", equalTo("Đất Rừng Phương Nam"));
        response.then().body("response[0].price", equalTo(12000));
    }
}


Kết quả sau khi chạy test cases trên nếu thành công thì:

Teacher

Teacher

Anh Tester

Software Quality Engineer

Đường dẫu khó chân vẫn cần bước đi
Đời dẫu khổ tâm vẫn cần nghĩ thấu

Cộng đồng Automation Testing Việt Nam:

🌱 Telegram Automation Testing:   Cộng đồng Automation Testing
🌱 
Facebook Group Automation: Cộng đồng Automation Testing Việt Nam
🌱 
Facebook Fanpage: Cộng đồng Automation Testing Việt Nam - Selenium
🌱 Telegram
Manual Testing:   Cộng đồng Manual Testing
🌱 
Facebook Group Manual: Cộng đồng Manual Testing Việt Nam

Chia sẻ khóa học lên trang

Bạn có thể đăng khóa học của chính bạn lên trang Anh Tester để kiếm tiền

Danh sách bài học