Playwright Là Gì?
Playwright là một open-source framework dùng để kiểm thử đầu cuối (end-to-end testing) đáng tin cậy cho các ứng dụng web hiện đại. Dù mới phát hành lần đầu vào năm 2020, nhưng với lịch phát hành tích cực, thêm các tính năng mới và sửa lỗi với tốc độ nhanh chóng. Xu hướng kiểm thử StateOfJS năm 2024 cho thấy Playwright đang ngày càng phổ biến. Playwright chiếm 36% thị phần vượt qua cả Selenium (34%) và có tốc độ phát triển lớn thứ 2 chỉ sau Vitest trong 5 năm trở lại đây.

Tại Sao Nên Sử Dụng Playwright?
Khi xem xét chọn Playwright làm framework kiểm thử tự động, bạn có thể lưu tâm đến 4 lý do sau đây:
- API hợp nhất: Playwright hoạt động trên tất cả các công cụ trình duyệt hiện đại (Chromium, WebKit, Firefox) và hỗ trợ mô phỏng trên cả thiết bị di động. Nó bao gồm cả tùy chọn headed và headless browser, cho phép các nhà phát triển ưu tiên giữa sự tiện lợi khi debug và thực thi CI/Cloud.
- Kiểm thử linh hoạt: Playwright triển khai “auto-wait” và “auto-retry”, loại bỏ các nguyên nhân chính gây ra các thử nghiệm không ổn định. Các tùy chọn công cụ phong phú (tracing, time-travel) giúp dễ dàng gỡ lỗi và khắc phục sự cố nếu xảy ra lỗi.
- Cô lập kiểm thử: Mỗi thử nghiệm chạy trong một BrowserContext riêng, độc lập với các thử nghiệm khác chạy cùng lúc. Các thử nghiệm được chạy song song (để tối ưu hóa) và một lỗi thử nghiệm không ảnh hưởng đến các thử nghiệm khác (để đảm bảo độ tin cậy).
- Công cụ mạnh mẽ: Playwright hợp lý hóa trải nghiệm của nhà phát triển từ việc biên soạn thử nghiệm đến thực thi, gỡ lỗi, báo cáo và lập hồ sơ, với các tùy chọn sử dụng CLI hoặc tiện ích mở rộng Visual Studio Code.
Cô Lập Kiểm Thử Trong Playwright
Playwright sử dụng cô lập kiểm thử để cải thiện khả năng tái tạo và tính hiệu quả, đồng thời giảm lỗi kiểm tra theo tầng. Trong mỗi lần chạy kiểm thử, mỗi bài kiểm tra hoàn toàn tách biệt với nhau. Nếu một bài kiểm tra không thành công, nó sẽ không can thiệp vào bất kỳ bài kiểm tra nào khác.

Tính Năng Của Playwright
Playwright không chỉ áp dụng phương pháp tiếp cận đơn giản, nó còn cung cấp nhiều tính năng khiến nó trở nên độc đáo nhưng có tính cạnh tranh với một số công cụ kiểm thử tự động hàng đầu khác, như Cypress và Puppeteer. Một số tính năng đáng chú ý bổ sung bao gồm:
- Cho phép mô phỏng thiết bị di động để kiểm thử ứng dụng của bạn cho Google Chrome dành cho Android và Mobile Safari.
- Tạo bản ghi video về các phiên trình duyệt.
- Thực hiện kiểm tra khả năng hành động thành phần trước khi thực hiện kiểm thử để đảm bảo hoạt động như mong đợi. Chỉ sau khi tất cả các bước kiểm tra có liên quan vượt qua thì hành động yêu cầu mới được thực hiện.
- Cho phép xem và lưu dấu vết thực hiện kiểm thử dưới dạng logs, video, snapshots và screenshots.
- Cho phép tuỳ chỉnh cấu hình để tự động chạy lại thử nghiệm khi thử nghiệm không thành công.
- Chạy thử nghiệm ngoài quy trình để phù hợp với kiến trúc trình duyệt web hiện đại. Nó có thể tự động hóa các tình huống ứng dụng web bằng nhiều trang và do đó, không bị giới hạn bởi phạm vi thực thi JavaScript trong trang.
- Hỗ trợ stub và mock network requests bằng cách sử dụng chức năng chặn mạng theo ngữ cảnh. Bạn có thể sửa đổi và giám sát lưu lượng mạng, bao gồm XHRS và các yêu cầu fetch.
- Mỗi bài kiểm tra đều nhận được ngữ cảnh trình duyệt riêng. Điều này cung cấp khả năng cô lập bài kiểm tra hoàn toàn, nhanh chóng và nhẹ.
- Trình kiểm tra Playwright cho phép bạn inspect trang web của mình, tạo selector, thực hiện từng bước kiểm tra và khám phá nhật ký thực hiện.
Ngôn ngữ sử dụng Playwright
Có rất nhiều lựa chọn ngôn ngữ khi bạn muốn tìm hiểu và áp dụng Playwright vào dự án của mình. Bởi Playwright được biết bằng Typescript, nhưng nó cũng hỗ trợ JavaScript, Python, C# và Java. Nào, nếu bạn thấy hứng thú với Playwright, hãy mở đọc tài liệu Playwright và cùng tìm hiểu với mình nhé.
Happy testing!