𝗣𝗹𝗮𝘆𝘄𝗿𝗶𝗴𝗵𝘁 𝗕𝗲𝘀𝘁 𝗣𝗿𝗮𝗰𝘁𝗶𝗰𝗲𝘀: 𝟭𝟬 𝗥𝘂𝗹𝗲𝘀 𝗔𝗜 𝗔𝗴𝗲𝗻𝘁𝘀 𝗚𝗲𝘁 𝗪𝗿𝗼𝗻𝗴
Các AI agent có thể viết 50 bài kiểm tra Playwright chỉ trong một phút.
Tốc độ này là một cái bẫy.
Những bài kiểm tra đó thường thất bại mà không có lý do rõ ràng. Các AI agent sao chép các khuôn mẫu cũ từ dữ liệu huấn luyện. Chúng không biết rằng các bài kiểm tra của bạn đã thất bại vào đêm qua. Chúng sử dụng những thói quen lỗi thời.
Hãy tuân thủ 10 quy tắc sau để giữ cho các bài kiểm tra của bạn luôn ổn định.
Sử dụng role-based locators Sử dụng
getByRole,getByLabel, hoặcgetByText. Những phương thức này khớp với những gì một người nhìn thấy. Lỗi của AI: Các agent sử dụng CSS hoặc XPath. Những thứ này sẽ bị hỏng khi bạn thay đổi chỉ một tên class duy nhất.Sử dụng web-first assertions Sử dụng
expect(locator).toBeVisible(). Phương thức này tự động đợi trang web. Lỗi của AI: Các agent thêmawait page.waitForTimeout(3000). Việc đợi cứng (hard waits) gây ra các bài kiểm tra chập chờn (flaky tests).Giữ các bài kiểm tra độc lập Mỗi bài kiểm tra phải bắt đầu ở trạng thái sạch. Sử dụng các hooks để thiết lập trạng thái. Lỗi của AI: Các agent xâu chuỗi các bài kiểm tra với nhau. Nếu bài kiểm tra thứ nhất thất bại, toàn bộ tệp sẽ bị lỗi.
Seed dữ liệu thông qua API Sử dụng
request fixtuređể gửi dữ liệu trực tiếp đến backend của bạn. Lỗi của AI: Các agent click qua mười màn hình UI chỉ để tạo một người dùng. Điều này làm cho các bài kiểm tra trở nên chậm chạp và dễ gãy (brittle).Ưu tiên roles hơn test IDs Sử dụng
getByRoletrước tiên. Chỉ sử dụngdata-testidnhư một phương án dự phòng. Lỗi của AI: Các agent dándata-testidlên mọi thứ. Điều này làm bỏ lỡ các lỗi khi một nút bấm không có nhãn cho trình đọc màn hình (screen readers).Thiết lập trace để ghi lại khi thử lại (retry) Thiết lập
tracethành'on-first-retry'trong cấu hình của bạn. Lỗi của AI: Các agent tắt tracing hoặc bật nó cho mọi lần chạy. Một bên thì thiếu bằng chứng, bên còn lại thì làm chậm mọi thứ.Chạy song song Sử dụng chế độ song song (parallel mode) và sharding để chia nhỏ các bài kiểm tra trên nhiều máy. Lỗi của AI: Các agent viết các bài kiểm tra dùng chung một người dùng duy nhất. Những bài kiểm tra này sẽ xung đột với nhau khi chạy song song.
Loại bỏ các câu lệnh if và các khối try Một bài kiểm tra nên đi theo một lộ trình duy nhất. Nếu một nút bấm đáng lẽ phải ở đó, hãy khẳng định (assert) nó. Lỗi của AI: Các agent bao bọc các lệnh click trong các câu lệnh
ifđể tránh lỗi. Điều này che giấu các lỗi thực sự.Kiểm tra hành vi, không phải nội bộ Kiểm tra kết quả hiển thị trên màn hình. Lỗi của AI: Các agent khẳng định (assert) dựa trên các class CSS hoặc các biến trạng thái. Những thứ này sẽ bị hỏng trong mỗi lần tái cấu trúc mã (code refactor).
Sử dụng projects để bao phủ trình duyệt Sử dụng mảng
projectsđể kiểm tra Chromium, Firefox, và WebKit. Lỗi của AI: Các agent mã hóa cứng (hard-code) một trình duyệt. Bạn sẽ bỏ lỡ các lỗi chỉ xảy ra trên Safari.
AI viết bản thảo đầu tiên rất nhanh. Nhưng nó thiếu sự khôn ngoan.
Một bộ kiểm tra (test suite) hiển thị màu xanh (pass) nhưng không chứng minh được điều gì là rất nguy hiểm. Nó tạo ra sự tin tưởng giả tạo.
Hãy để AI viết bản thảo. Hãy dùng con người để áp dụng các quy tắc này. Agent mang lại tốc độ. Con người mang lại sự ổn định.
Nguồn: https://dev.to/aiwithanton/playwright-best-practices-10-rules-ai-agents-get-wrong-2026-5cii
Cộng đồng học tập tùy chọn: https://t.me/GyaanSetuAi