Chrome để thử nghiệm

Chrome for Testing là một phiên bản Chrome dành riêng cho các trường hợp sử dụng tính năng kiểm thử và tự động hoá ứng dụng web. Tài liệu này giải thích lý do nhóm Chrome cho rằng điều này là cần thiết và trình bày các ví dụ cụ thể về những trường hợp mà Chrome for Testing có thể mang lại lợi ích cho bạn với tư cách là nhà phát triển.

Thông tin khái quát

Kiểm thử trình duyệt là một thành phần quan trọng trong việc tạo ra trải nghiệm chất lượng cao trên web, bất kể bạn thực hiện theo cách thủ công hay tự động. Đồng thời, việc thiết lập một môi trường kiểm thử trình duyệt phù hợp là một việc rất khó khăn, đến mức việc này liên tục được báo cáo là một trong những điểm khó khăn hàng đầu của nhà phát triển web.

Tự động cập nhật: có lợi cho người dùng, gây phiền toái cho nhà phát triển

Một trong những tính năng đáng chú ý nhất của Chrome là khả năng tự động cập nhật. Người dùng rất vui khi biết rằng họ luôn chạy phiên bản trình duyệt mới nhất và an toàn, bao gồm cả các tính năng của Nền tảng web hiện đại, các tính năng của trình duyệt và các bản sửa lỗi.

Tuy nhiên, với tư cách là một nhà phát triển chạy một bộ kiểm thử toàn diện, bạn có thể có một góc nhìn hoàn toàn khác:

  • Bạn muốn kết quả nhất quán và có thể tái tạo trong các lần chạy kiểm thử lặp lại, nhưng điều này có thể không xảy ra nếu tệp thực thi hoặc tệp nhị phân của trình duyệt quyết định tự cập nhật giữa hai lần chạy.
  • Bạn muốn ghim một phiên bản trình duyệt cụ thể và kiểm tra số phiên bản đó trong kho lưu trữ mã nguồn, để có thể kiểm tra các cam kết và nhánh cũ, đồng thời chạy lại các kiểm thử đối với tệp nhị phân trình duyệt từ thời điểm đó.

Không thể thực hiện bất kỳ thao tác nào trong số này với tệp nhị phân trình duyệt tự động cập nhật. Do đó, bạn có thể không muốn sử dụng bản cài đặt Chrome thông thường cho hoạt động kiểm thử tự động. Đây là sự không phù hợp cơ bản giữa những gì tốt cho người dùng trình duyệt thông thường so với những gì tốt cho nhà phát triển thực hiện kiểm thử tự động.

Tệp nhị phân của trình duyệt theo phiên bản

Ngoài tính năng tự động cập nhật, bạn cũng có thể gặp khó khăn khi tìm một tệp nhị phân Chrome có phiên bản cụ thể. Google cố tình không cung cấp các bản tải xuống Chrome theo phiên bản, vì người dùng không cần quan tâm đến số phiên bản mà nên luôn được cập nhật lên phiên bản mới nhất càng sớm càng tốt. Điều này rất tốt cho người dùng, nhưng gây khó khăn cho những nhà phát triển cần tái tạo báo cáo lỗi trong phiên bản Chrome cũ.

Một ví dụ cụ thể hơn về vấn đề này là khi bạn muốn sử dụng ChromeDriver để tự động hoá trình duyệt. Không chỉ phải tải một tệp nhị phân Chrome xuống bằng cách nào đó, bạn cũng cần một tệp nhị phân ChromeDriver có phiên bản tương ứng để đảm bảo hai tệp nhị phân này tương thích với nhau.

Vì không có cách nào hiệu quả để giải quyết những vấn đề này, nên nhiều nhà phát triển tải các tệp nhị phân Chromium (không phải Chrome) xuống. Tuy nhiên, phương pháp này có một số điểm yếu. Trước tiên, các tệp nhị phân Chromium này không có sẵn một cách đáng tin cậy trên tất cả các nền tảng. Thứ hai, các phiên bản này được tạo và xuất bản riêng biệt với quy trình phát hành Chrome, khiến bạn không thể liên kết các phiên bản này với các bản phát hành Chrome thực tế mà người dùng nhìn thấy. Thứ ba, Chromium khác với Chrome.

Giải pháp: Chrome for Testing

Được thiết kế để giải quyết những vấn đề này, Chrome for Testing là một phiên bản Chrome chuyên biệt nhắm đến trường hợp sử dụng thử nghiệm, không có tính năng tự động cập nhật, được tích hợp vào quy trình phát hành Chrome và có sẵn cho mọi bản phát hành Chrome. Một tệp nhị phân có phiên bản gần giống với Chrome thông thường nhất có thể mà không ảnh hưởng tiêu cực đến trường hợp sử dụng thử nghiệm.

Biểu trưng Chrome for Testing là biểu trưng Chrome thông thường có thêm từ "Test" trong một hình chữ nhật màu đen.

Để tạo Chrome cho Kiểm thử, chúng tôi đã thực hiện các thay đổi đối với cơ sở mã Chromium và Chrome, đồng thời thiết lập cơ sở hạ tầng để tạo và tải các tệp nhị phân này lên một vùng lưu trữ công khai theo quy trình phát hành Chrome trên tất cả các kênh (Ổn định, Beta, Nhà phát triển và Canary).

Cơ sở hạ tầng xung quanh Chrome for Testing mở ra những cơ hội thú vị ngoài Chrome. Ví dụ: bạn có thể hoàn toàn loại bỏ những khó khăn đã đề cập trước đó về việc tìm một tệp nhị phân Chrome và ChromeDriver phù hợp bằng cách tích hợp quy trình phát hành ChromeDriver vào cơ sở hạ tầng Chrome for Testing. Ngoài việc giải quyết vấn đề gây khó chịu cho người dùng này, việc này cũng giúp các bản phát hành ChromeDriver phù hợp với Chrome và loại bỏ quy trình phát hành ChromeDriver thủ công.