NỘI DUNG BÀI HỌC
✅ 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ì: