NỘI DUNG BÀI HỌC



Dưới đây là ví dụ về cách upload file sử dụng Rest Assured trong TestNG

import io.restassured.RestAssured;
import io.restassured.http.ContentType;
import org.testng.annotations.Test;
import java.io.File;

public class DemoUploadFile {

    @Test
    public void testUploadFile() {
        // Đường dẫn đến file bạn muốn upload
        File file = new File("path/to/your/file.txt");

        // Cấu hình URL endpoint API và các tham số khác (nếu có)
        RestAssured.baseURI = "https://api.example.com/upload";

        RestAssured
            .given()
                .multiPart("file", file)  // Key "file" tùy thuộc vào API của bạn
                .contentType(ContentType.MULTIPART)
            .when()
                .post()
            .then()
                .statusCode(200) // Kiểm tra mã trạng thái (200 nếu upload thành công)
                .log().all();
    }
}​

 

  • multiPart("file", file): Chỉ định tên key "file" và file cần upload. Tên key có thể thay đổi tùy theo API của bạn.
  • contentType(ContentType.MULTIPART): Đặt Content-Type thành multipart/form-data để hỗ trợ upload file.

Giờ mình chuyển vào project của chúng ta đã xây dựng từ trước để áp dụng. Demo với API của trang api.anhtester.com phần Image Management

[REST Assured] Bài 20 - Upload File qua API với Rest Assured | Anh Tester

import com.anhtester.common.BaseTest;
import com.anhtester.globals.TokenGlobal;
import com.anhtester.helpers.SystemHelper;
import io.restassured.RestAssured;
import io.restassured.http.ContentType;
import io.restassured.response.Response;
import org.testng.annotations.Test;

import java.io.File;

import static io.restassured.RestAssured.given;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.hasKey;

public class DemoUploadFile extends BaseTest {
    @Test
    public void testUploadFile() {
        File file = new File(SystemHelper.getCurrentDir() + "src/test/resources/testdata/image_testing_done.jpg");

        RestAssured.baseURI = "https://api.anhtester.com/api";
        String endpoint = "/image";

        given().header("Authorization", "Bearer " + TokenGlobal.TOKEN)
                .multiPart("image", file)
                .contentType(ContentType.MULTIPART)
                .when().post(endpoint)
                .then().log().all()
                .statusCode(200)
                .body("response", hasKey("path"))
                .body("response", hasKey("id"));

    }
}

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