Playwright 1.56 đi kèm với ba tác nhân AI tích hợp sẵn giúp lập kế hoạch cho một bộ kiểm thử, viết các kịch bản TypeScript tương ứng và sửa lỗi các bộ định vị (locators) ngay lập tức. Kết quả là: công việc kiểm thử thủ công nặng nề trở thành một quy trình làm việc có sự hỗ trợ của AI.
Tại sao sự thay đổi này lại quan trọng
Các kỹ sư tự động hóa từ lâu đã phải tuân theo một vòng lặp lặp đi lặp lại: chuyển đổi các yêu cầu thành các trường hợp kiểm thử (test cases), viết mã kịch bản bằng tay, chạy chúng, rồi sau đó lại phải đi tìm các selector không ổn định (flaky selectors) mỗi khi giao diện UI thay đổi. Chi phí bảo trì có thể vượt xa thời gian tiết kiệm được nhờ tự động hóa, đặc biệt là trong các giao diện front-end thay đổi nhanh chóng. Bằng cách tích hợp trực tiếp các tác nhân AI vào framework kiểm thử, Playwright cắt giảm chu kỳ "sửa và chạy" và cho phép các kỹ sư tập trung vào chiến lược kiểm thử cấp cao thay vì việc săn tìm selector.
Giải thích về ba tác nhân
- Planner Agent – Tiếp nhận mô tả bằng ngôn ngữ tự nhiên về những gì ứng dụng nên thực hiện, khám phá trang web đang chạy và đưa ra một kế hoạch Markdown có cấu trúc. Kế hoạch này liệt kê các luồng người dùng chính và các kịch bản trường hợp biên (edge-case), tạo ra một bản thiết kế rõ ràng trước khi bất kỳ dòng mã nào được viết.
- Generator Agent – Tiếp nhận kế hoạch Markdown và tạo ra mã kiểm thử TypeScript có thể thực thi. Nó tương tác với trình duyệt đang chạy để xác minh rằng các selector là ổn định, và có thể tuân theo Page Object Model (một mẫu thiết kế tách biệt cấu trúc trang khỏi logic kiểm thử) nếu được hướng dẫn.
- Healer Agent – Theo dõi các lượt chạy kiểm thử; khi một lỗi được xác định là do thay đổi UI, nó sẽ chạy lại các bước bị lỗi, kiểm tra DOM đã được cập nhật và đề xuất một selector hoặc locator đã được sửa. Đề xuất này xuất hiện dưới dạng một bản vá nháp (draft patch) mà nhà phát triển có thể chấp nhận hoặc tinh chỉnh.
Các tác nhân hoạt động trong một "vòng lặp tác nhân" (agentic loop): Planner → Generator → Healer. Mỗi bước sẽ cung cấp dữ liệu cho bước tiếp theo, tạo ra một đường ống tự điều chỉnh để luôn đồng bộ với ứng dụng đang được kiểm thử.
Sự khác biệt so với các công cụ AI thông thường
Các mô hình dạng chat hoặc các tiện ích mở rộng hoàn thiện mã (code-completion) có thể tạo ra các đoạn mã ngắn, nhưng chúng thiếu khả năng truy cập trực tiếp vào DOM đang chạy và cấu hình cụ thể của dự án. Các tác nhân của Playwright sử dụng Model Context Protocol để truyền cấu trúc trang hiện tại và các thiết lập framework kiểm thử vào mô hình, cho phép AI suy luận về chính xác các phần tử mà nó sẽ tương tác. Mã mà nó tạo ra không chỉ đúng về mặt cú pháp mà còn gắn liền với giao diện UI thực tế tại thời điểm tạo.
Bắt đầu chỉ với vài câu lệnh
- Thiết lập một dự án Node và thêm Playwright làm một dependency.
- Chạy
npx playwright init-agents --loop=vscodeđể khởi tạo vòng lặp AI ngay trong trình soạn thảo của bạn. - Viết một bài kiểm thử "seed" tối giản để tải ứng dụng; điều này cung cấp cho các tác nhân một ngữ cảnh cụ thể.
- Đưa ra các câu lệnh (prompt) bằng ngôn ngữ tự nhiên (ví dụ: “Create a checkout flow covering discount codes”) để kích hoạt Planner, để Generator tạo kịch bản, và để Healer giữ cho kịch bản luôn hoạt động ổn định.
Các mẹo để các tác nhân hoạt động hiệu quả hơn
- Bài kiểm thử seed rõ ràng – Bài kiểm thử ban đầu nên khởi chạy ứng dụng một cách đáng tin cậy và hiển thị các phần tử UI chính; các điểm bắt đầu mơ hồ sẽ làm Planner bị bối rối.
- Dữ liệu seed có cấu trúc – Cung cấp các JSON fixtures mô tả các đầu vào dự kiến sẽ giúp Generator chọn được các selector phù hợp.
- Yêu cầu sử dụng Page Object Model – Việc yêu cầu rõ ràng Generator xây dựng khung (scaffold) cho các page object sẽ tạo ra mã sạch hơn và dễ bảo trì hơn.
- Coi đầu ra của AI là bản nháp – Hãy xem xét lại các kịch bản đã được tạo trước khi commit; các tác nhân vẫn có thể bỏ lỡ các sắc thái của logic nghiệp vụ hoặc tạo ra các selector quá chung chung.
