Mmaiqai.com
🔌 Automation Testing · Chương 7 · Mục 7.3

Gọi GET đơn giản

Tệp tests/test_02_api_co_ban.py:

FILE tests/test_02_api_co_ban.py
"""Demo Playwright cho API testing: APIRequestContext, request.get/post, expect(response), fixture."""
from playwright.sync_api import expect
 
 
def test_ping_xac_nhan_api_con_song(api_context):
"""GET /ping phai tra ve trang thai OK (201) - buoc kiem tra suc khoe co ban truoc khi test sau."""
response = api_context.get("/ping")
expect(response).to_be_ok()
DòngGiải thích
def test_ping_xac_nhan_api_con_song(api_context):api_context là fixture vừa tạo ở mục 7.2 — pytest tự truyền vào
api_context.get("/ping")Gửi HTTP GET tới /ping (ghép với base_url đã gán sẵn)
expect(response).to_be_ok()Kiểm tra response có status thành công (2xx). Chi tiết về expect(response) sẽ học kỹ ở Chương 8

Để ý: docstring ghi "phải trả 201", nhưng to_be_ok() chỉ kiểm tra status nằm trong khoảng 200-299 nói chung — không khẳng định đúng con số 201 cụ thể (200 hay 204 cũng sẽ PASS). Ở đây chỉ cần biết "API còn sống", nên dùng kiểm tra lỏng là đủ. Muốn khẳng định đúng chính xác mã 201, phải dùng assert response.status == 201 — cách làm này học ở Chương 8.

Chạy:

TERMINAL
pytest tests/test_02_api_co_ban.py::test_ping_xac_nhan_api_con_song -v

Kết quả:

KẾT QUẢ
tests/test_02_api_co_ban.py::test_ping_xac_nhan_api_con_song PASSED [100%]
 
============================== 1 passed in 1.58s ==============================