IT nói tiếng người
Kiểm thửMốc 2 · Tự viết được cái đầu tiên

🎬 Playwright là gì?

Công cụ đời mới, chạy nhanh và ít lỗi vặt.

1
Hiểu nó là gì

Playwright do Microsoft làm, điều khiển được Chromium, Firefox và WebKit, có sẵn cơ chế tự chờ nên đỡ hẳn lỗi do canh thời gian thiếu.

Nói theo đời thường:
Cùng việc như Selenium nhưng như xe đời mới có trợ lái: đỡ phải tự canh từng thao tác một.

⚠ Chỗ ẩn dụ này hỏng

“Có trợ lái” không có nghĩa không bao giờ đâm. Tự chờ chỉ giải quyết chờ phần tử hiện ra, không giải quyết được dữ liệu chưa sẵn sàng.

Test vẫn chập chờn như thường nếu đơn hàng bạn vừa tạo chưa kịp đồng bộ, hoặc hai ca test dùng chung một tài khoản. Công cụ tốt hạ thấp mặt sàn chứ không xoá được flaky test.

2
Code trông thế nào
// Không cần khai báo chờ — Playwright tự đợi nút bấm được
await page.getByRole('button', { name:'Đăng nhập' }).click()

// Tự đợi tới khi chữ xuất hiện, tối đa 5 giây
await expect(page.getByRole('alert')).toBeVisible()

So với Selenium ở trên: cùng việc, không dòng chờ nào phải tự viết.

3
Khi nào bạn dùng nó

✓ Dùng khi

  • Dự án mới, đội dùng JS/TS hoặc Python
  • Cần chạy cả Chrome, Firefox, Safari
  • Muốn xem lại chính xác chuyện gì xảy ra khi test đỏ (trace viewer)

✗ Đừng dùng khi

  • Đội đã đầu tư sâu vào Selenium và không có lý do đổi
  • Cần hỗ trợ trình duyệt rất cũ
Chưa cần biết: fixture, tái dùng trạng thái đăng nhập, chia shard, component testing.
Để dành tới Mốc 3 — Tự sửa được khi nó hỏng: Test đỏ trên CI mà xanh ở máy bạn, và bạn biết bắt đầu tìm từ đâu.
Dấu hiệu bạn đã cần học nó: Khi mỗi ca test của bạn đều mất 8 giây chỉ để đăng nhập lại từ đầu.
4
Đi đâu tiếp

🧪 Thử 2 phút, không cần cài gì

Không cần cài: vào playwright.dev, mục “Getting started”. Đọc đúng đoạn code đầu tiên và so với ví dụ Selenium ở trang bên cạnh. Khác biệt nằm ở chỗ không có dòng nào tên là wait.

⚖ Hay bị nhầm với thuật ngữ khác

← Xem tất cả thuật ngữ