Kiểm thử

Kiểm thử ứng dụng web local với AI agent và Playwright

Một ảnh chụp màn hình đẹp chưa xác nhận được luồng người dùng hoạt động. Kiểm thử cần đầu vào cụ thể, thao tác có thể lặp lại và bằng chứng cho từng kết luận.

Kết quả cần đạt

Một báo cáo ngắn cho một luồng đã chọn: môi trường, bước thực hiện, kết quả mong đợi, kết quả thực tế và bằng chứng khi lỗi xuất hiện. Skill webapp-testing cung cấp quy trình quan sát ứng dụng, thao tác bằng Playwright, chụp màn hình và đọc browser logs.

Chuẩn bị môi trường

  • Ứng dụng chạy được ở local và có địa chỉ, cổng cụ thể.
  • Môi trường Python với Playwright và trình duyệt tương ứng đã được cấu hình riêng.
  • Dữ liệu thử và tài khoản thử nếu luồng cần đăng nhập; xác định thao tác nào được phép ghi hoặc xóa dữ liệu.
  • Cài đủ tệp của skill, gồm scripts/with_server.py và các ví dụ tham khảo. Đọc LICENSE.txt của skill.

1. Chọn một luồng có tiêu chí rõ ràng

Ví dụ: nhập một từ khóa vào ô tìm kiếm, mở kết quả và quay lại danh sách. Ghi trước điều kiện đạt: kết quả phù hợp xuất hiện, trang chi tiết đúng và bộ lọc không mất khi quay lại.

Áp dụng webapp-testing cho ứng dụng local tại [URL của bạn].
Kiểm tra: tìm kiếm → mở một kết quả → quay lại danh sách.
Nêu dữ liệu thử và tiêu chí đạt trước khi chạy.
Không tạo tài khoản hoặc thay đổi dữ liệu thật.
Báo lỗi kèm bước tái hiện, ảnh hoặc log liên quan.

2. Quan sát trước khi thao tác

Để ứng dụng tải xong, quan sát DOM đã render và các điều khiển đang hiển thị. Chọn selector theo vai trò hoặc nhãn rõ ràng, tránh đoán tọa độ hay dùng selector lấy từ một trạng thái màn hình cũ.

Runbook đề xuất chờ networkidle trước khi quan sát ứng dụng động. Với ứng dụng có kết nối mạng liên tục, cần điều kiện sẵn sàng phù hợp với chính ứng dụng và giới hạn thời gian chờ, thay vì chờ vô hạn.

3. Chạy và ghi nhận từng bước

  1. Chuẩn bị trạng thái ban đầu và dữ liệu thử.
  2. Thao tác trên một điều khiển, chờ điều kiện kết quả tương ứng.
  3. So sánh hành vi thực tế với tiêu chí đã đặt.
  4. Lưu ảnh hoặc log khi cần chứng minh vấn đề; ghi URL và kích thước màn hình thử.

Nếu agent cần tự quản lý server, yêu cầu xem trợ giúp của helper trước:

python3 scripts/with_server.py --help

Chạy lệnh từ thư mục skill đã cài. Chỉ chọn lệnh khởi động server sau khi đã đọc hướng dẫn của dự án; không áp dụng một lệnh mẫu cho mọi repository.

4. Kiểm tra kết luận

Chạy lại đúng bước gây lỗi sau khi đưa ứng dụng về trạng thái ban đầu. Nếu server không lên, trình duyệt thiếu hoặc URL sai, báo lỗi môi trường và phần chưa kiểm tra được; không kết luận chức năng ứng dụng hỏng.

Một báo cáo hữu ích có thể ghi: “Tìm kiếm trả đúng kết quả; sau khi Back, bộ lọc bị xóa. Tái hiện ở màn hình 390 px với cùng truy vấn.” Chỉ ghi kết quả này khi thực sự quan sát được, không dùng làm bằng chứng cho lần chạy chưa thực hiện.

Tiếp theo

Đọc runbook, chọn agent và dùng Copy Agent Prompt trong thư viện. Bắt đầu với một luồng quan trọng; mở rộng phạm vi khi đã có tiêu chí và dữ liệu thử ổn định.