- vừa được xem lúc

[Playwright] Test API sử dụng Playwright

0 0 43

Người đăng: Phạm Minh Phúc

Theo Viblo Asia

Playwright có thể được sử dụng để test REST API cho ứng dụng của bạn.

Viết API Test

Để thực hiện ví dụ này. Chúng ta sẽ sử dụng mock api từ đây. Công việc của chúng ta sẽ bao gồm.

  • Thêm một user mới
  • Lấy danh sách users
  • Xóa một user

Config

Thông thường, với REST API chúng ta sẽ có một Base URL sử dụng chung cho các endpoints khác nhau. Ngoài ra thông thường với mỗi API đều sử dụng JWT để xác thực và chúng thường được gửi lên theo header.

// playwright.config.ts
import { PlaywrightTestConfig } from '@playwright/test'; const accessToken = 'd0c3893a5ece5088da7cc59b8428e9aa1e04bee496e35ca70387a567004fa4fa'; const config: PlaywrightTestConfig = { use: { // All requests we send go to this API endpoint. baseURL: 'https://gorest.co.in/public/v2', extraHTTPHeaders: { Authorization: `Bearer ${accessToken}`, }, },
}; export default config;

Viết Test

Bây giờ chúng ta sẽ tạo file tests/api.spec.ts để bắt đầu.

test('should create a user', async ({ request }) => { const newUser = await request.post(`/users`, { data: { email: '_@.com', name: 'Demo', gender: 'male', status: 'active', }, }); expect(newUser.ok()).toBeTruthy();
}); test('should get a list users requests', async ({ request }) => { const issues = await request.get(`/users`); expect(issues.ok()).toBeTruthy();
});

Setup and teardown

Chúng ta có thể setup sau khi test xong mỗi test case. Sẽ thực hiện clear data để tránh tình trạng có quá nhiều data rác.

test.afterAll(async ({ request }) => { // Delete a user const response = await request.delete(`/users/13769?access-token=${accessToken}`); expect(response.ok()).toBeTruthy();
});

Tạm kết

Như vậy, chúng ta đã đi qua các ví dụ để có thể tương tác với REST API. Ở các bài tiếp theo, chúng ta sẽ làm việc với các ví dụ phức tạp hơn.

Bình luận

Bài viết tương tự

- vừa được xem lúc

Được rồi, đi thôi!!! VPS free nè (^.^) [P1]

Bạn là sinh viên, bạn là lập trình viên khó khăn về mặt tài chính, bạn không có xiền thuê VPS, được rồi hãy đến đây!!!. Hôm nay mình sẽ hướng dẫn cho các bạn cách tạo VPS free bằng Github Workflow & N

0 0 59

- vừa được xem lúc

[Linux] Iptables trong hệ thống Linux

IPtables là ứng dụng tường lửa miễn phí trong Linux, cho phép thiết lập các quy tắc riêng để kiểm soát truy cập, tăng tính bảo mật. Khi sử dụng máy chủ, tường lửa là một trong những công cụ quan trọng

0 0 44

- vừa được xem lúc

Từ bug format sai chuỗi số khi nhập bằng bàn phím tiếng Nhật, tới IME và các sự kiện composition trong JS

"Tự nhiên tui thấy hiện tượng lạ”. Khi nhập liệu một chuỗi các kí tự vào thẻ input, thông thường chúng ta nhập thế nào thì hiển thị thế ấy, không làm phép biến đổi gì cả.

0 0 48

- vừa được xem lúc

Tạo Rijndael S-box sử dụng trong AES

I. Rijndael S-box là gì .

0 0 37

- vừa được xem lúc

Giới thiệu về lỗ hổng tràn bộ đệm (Buffer Overflow) và cách khai thác

Khái niệm. Lỗ hổng tràn bộ đệm (Buffer Overflow) là lỗ hổng trong lập trình, cho phép dữ liệu được ghi vào một buffer có thể tràn ra ngoài buffer đó, ghi đè lên dữ liệu khác và dẫn tới hoạt động bất t

0 0 42

- vừa được xem lúc

Share Libraries Hijacking trên Linux

1. Cách thức hoạt động của Share Libraries.

0 0 28