Playwright: Đơn giản, nhanh chóng, hiệu quả – Lựa chọn tối ưu cho web automation

Trong thế giới phát triển phần mềm ngày nay, kiểm thử tự động đóng vai trò then chốt trong kiểm thử phần mềm, quyết định chất lượng và uy tín của sản phẩm. Kiểm thử tự động và các công cụ như Playwright, Selenium, khả năng thực thi nhanh chóng và chính xác, đã trở thành “trợ thủ đắc lực”  của tester trong dự án phát triển phần mềm. Selenium, cái tên quen thuộc trong giới automation, từng là lựa chọn hàng đầu cho việc này.

Tuy nhiên, như một cỗ xe truyền thống việc sử dụng và setup automation test với Selenium yêu cầu nhiều thời gian và kỹ thuật cao và đặc biệt am hiểu về các loại wait để ổn định giải pháp automation. Playwright, một công cụ kiểm thử tự động mã nguồn mở mới nổi, đã ra đời như lời giải cho bài toán nan giải này.

Được phát triển bởi Microsoft, Playwright kế thừa những ưu điểm của Selenium, đồng thời khắc phục nhược điểm cố hữu, mang đến trải nghiệm tự động hóa nhanh chóng, hiệu quả và dễ dàng hơn bao giờ hết. Trong bài viết hôm nay mình sẽ giới thiệu đến các bạn công cụ kiểm thử tự động tên Playwright, cách setup và sử dụng nó để các bạn có thể áp dụng ngay vào dự án của mình.

Playwright là gì?

Playwright được phát triển bởi Microsoft, là thư viện Node.js cho phép tự động hóa các trình duyệt Chromium, Firefox và WebKit với một API duy nhất. Theo thống kê từ trang npmtrends.com, tính đến thời điểm của bài viết, lượt download của Playwright đã vượt hơn 6 triệu lượt tải, trong khi đó lượt download của Cypress một công cụ kiểm thử tự động tương tự lại là hơn 5 triệu lượt tải.

Playwright vs Cypress
Playwright so sánh với Cypress

Repo của Playwright trên github.com là hơn 64K starred, và của Cypress Github repo là hơn 46K starred. Những con số này đã chỉ ra, sự phổ biến của Playwright gần đây trong việc ứng dụng vào kiểm thử tự động automation test.

Tại sao nên sử dụng Playwright cho automation test cho các ứng dụng web?

Vậy vì sao Playwright lại phổ biến như vậy, có nhiều nguyên nhân có thể kể đến như sau:

  • Hỗ trợ đa trình duyệt: Playwright cho phép bạn kiểm thử ứng dụng trên nhiều trình duyệt phổ biến như Chrome, Firefox, Safari, Edge… chỉ với một API duy nhất, đảm bảo ứng dụng hoạt động mượt mà trên mọi nền tảng.
  • Đa ngôn ngữ: Playwright hỗ trợ nhiều ngôn ngữ lập trình phổ biến như JavaScript, TypeScript, Python, Java, C#, giúp bạn dễ dàng lựa chọn ngôn ngữ quen thuộc để viết test script.
  • API đơn giản, dễ sử dụng: Với API được thiết kế tối ưu, Playwright giúp bạn viết và bảo trì test script một cách dễ dàng, tiết kiệm thời gian và công sức.
  • Độ tin cậy cao: Playwright giảm thiểu tối đa test flakiness (test không ổn định) nhờ khả năng xử lý tự động các vấn đề thường gặp trong quá trình kiểm thử.
  • Hỗ trợ Auto-waiting: Playwright tự động chờ đợi các element xuất hiện trên trang web trước khi thực hiện các thao tác tiếp theo, loại bỏ sự phức tạp của việc xử lý wait thủ công.
  • Chụp ảnh màn hình và video: Playwright cho phép chụp ảnh màn hình và quay video quá trình thực thi test, giúp bạn dễ dàng debug và phân tích lỗi.
  • Kiểm thử các ứng dụng web phức tạp: Playwright hỗ trợ kiểm thử các ứng dụng web phức tạp với các tính năng nâng cao như iframe, shadow DOM, geolocation, mobile web view testing…
  • Tích hợp CI/CD: Playwright dễ dàng tích hợp vào quy trình CI/CD, giúp bạn tự động hóa hoàn toàn quy trình kiểm thử và triển khai phần mềm.

Tự động hóa kiểm thử phần mềm với Playwright

Trong phần này, chúng ta hãy cùng tìm hiểu cách Playwright làm cho việc viết test trở nên nhanh chóng và dễ dàng hơn so với một số công cụ kiểm thử tự động khác.

Việc thiết lập Playwright rất đơn giản, khi bạn cài đặt Playwright thì nó đã tự động tải về các trình duyệt được hỗ trợ.

Playwright hoạt động dựa trên ba khái niệm cốt lõi: browser, context và page.

Browser: Để chạy các bài test, bạn phải khởi tạo trình duyệt. Sử dụng Playwright, các bạn có thể chạy automation test trên các trình duyệt như Chromium, Firefox hoặc Webkit.
Context: Playwright chạy song song được là nhờ sử dụng khái niệm context của browser, khái niệm này có thể được hiểu như trình duyệt ẩn danh chạy song song với trình duyệt đang chạy test.
Page: Đây là khái niệm windows hoặc tabs trong context đang chạy test, và mọi hành động của web sẽ được thực hiện trên page để automation test run.

  • Playwright hỗ trợ ba trình duyệt: Chromium, Firefox và Webkit.
  • Playwright hỗ trợ auto-wait nghĩa là nó sẽ tự động handle wait thêm nếu như chưa tìm thấy element để tương tác
  • Ngoài ra Playwright cũng cung cấp custom wait, để áp dụng cho các trường hợp như chờ đến khi điều kiện nào đó là đúng
  • Playwright cung cấp phương thức để hạn chế đăng nhập nhiều lần nhờ sử dụng cơ chế lưu session cho mỗi lần đăng nhập.

Hướng dẫn cách setup và viết test script với Playwright

Setup Playwright và Nodejs

  • Cài Node js: các bạn cần đến website của Nodejs để tải Node js về máy của mình
  • Sau khi tải và cài Nodejs thành công bạn cần kiểm tra version đã cài bằng cách mở Terminal ở máy Mac, nếu là máy Windows các bạn cần mở command line ra và gõ lệnh như sau: node --versionnpm --version để kiểm tra đã cài đặt thành công, ví dụ như sau
TopTest.vn Node Version Check mac
TopTest.vn Node Version Check mac
  • Sau đó bạn cần cài VS Code lên bằng đường link tại đây: VisualStudioCode
  • Sau khi cài VS Code thành công, bạn cần setup folder và cài đặt playwright lên đó
  • Mở folder sẽ setup playwright và chạy lệnh: npm init playwright@latest
  • Sau khi cài đặt thành công bạn đã sẵn sàng để run test với Playwright

Hướng dẫn chi tiết cách setup Playwright và tạo test với Visual Studio Code

Để dễ dàng cho các bạn bắt đầu với playwright, mình đã chuẩn bị sẵn video hướng dẫn ở bên dưới để các bạn có thể làm theo.

Kết Luận

Playwright đã và đang khẳng định vị thế là một công cụ kiểm thử tự động mạnh mẽ và hiệu quả dành cho web application automation test. Với những ưu điểm vượt trội như hỗ trợ đa trình duyệt, đa ngôn ngữ, API đơn giản, khả năng auto-wait, Playwright giúp đơn giản hóa quá trình kiểm thử tự động, giảm thiểu thời gian và công sức cho đội ngũ phát triển phần mềm cũng như automation tester.

Việc lựa chọn công cụ kiểm thử tự động nào phụ thuộc vào yêu cầu cụ thể của từng dự án. Tuy nhiên, với những gì Playwright mang lại xứng đáng là công cụ mà bạn nên cân nhắc và trải nghiệm, đặc biệt là khi bạn muốn nâng cao hiệu quả và chất lượng cho quy trình kiểm thử phần mềm của mình.

Để lựa chọn công cụ kiểm thử phần mềm phù hợp, bạn đọc có thể tham khảo thêm các bài viết chuyên sâu khác của TopTest.vn. Đồng thời, nâng cao kiến thức về kiểm thử phần mềm nói chung, cũng như kiểm thử tự động nói riêng thông qua các khóa học bài bản tại TopTest.vn cũng là một bước đệm vững chắc cho hành trình chinh phục lĩnh vực đầy tiềm năng này.

Bài viết liên quan