Playwright là gì?
Scrapeless Agent Browser cung cấp các phiên trình duyệt từ xa mà Playwright có thể kết nối để thực hiện các quy trình tự động hóa được hỗ trợ.
Playwright là một khung tự động hóa trình duyệt để điều khiển Chromium, Firefox và WebKit. Nó hỗ trợ tương tác trình duyệt, kiểm tra trang và quy trình kiểm tra. Playwright Test thêm một trình chạy kiểm tra và các cơ sở hạ tầng kiểm tra liên quan. Thư viện tự động hóa và trình chạy kiểm tra là những phần kết nối của hệ sinh thái, nhưng trách nhiệm của chúng cần được phân biệt.
Nếu nhiệm vụ của bạn là kiểm tra một ứng dụng web hoạt động đúng, một trình chạy kiểm tra sẽ tổ chức các tình huống và báo cáo kết quả của chúng. Nếu nhiệm vụ của bạn là một công việc trình duyệt độc lập, bạn có thể chỉ cần thư viện tự động hóa. Chọn lớp phù hợp ngăn chặn một kịch bản đơn giản kế thừa những giả định thuộc về một bộ kiểm tra hoàn chỉnh.
Playwright kiểm soát
Playwright kiểm soát các phiên trình duyệt, ngữ cảnh trình duyệt tách biệt và các trang thông qua một giao diện lập trình. Chính thức Tổng quan về kiểm tra Playwright mô tả hỗ trợ trình duyệt và các khả năng kiểm tra tích hợp của nó. Hỗ trợ trình duyệt không có nghĩa là mọi động cơ đều tạo ra kết xuất giống hệt hoặc thực hiện mọi hành vi theo cùng một cách.
Một phiên trình duyệt cung cấp thời gian chạy. Một ngữ cảnh nhóm trạng thái duyệt web như cookies cho các trang bên trong. Một trang đại diện cho một tab hoặc bề mặt trình duyệt cấp cao tương tự. Bậc hẹp này giúp giải thích tại sao việc mở một tab khác lại khác với việc tạo ra một môi trường tách biệt cho một người dùng khác.
Khung có thể chạy trình duyệt có hoặc không có cửa sổ hiển thị. Trong quá trình phát triển, một phiên hiển thị có thể giúp giải thích hành vi trang không mong đợi. Trong quá trình thực hiện không giám sát, các đối tượng và các khẳng định rõ ràng trở nên quan trọng hơn vì không có ai xem cửa sổ. Cả hai chế độ không loại bỏ nhu cầu xác định nhiệm vụ cần đạt được là gì.
Tại sao Locators lại trung tâm đối với Playwright
Locators mô tả cách tìm phần tử mà một hành động hoặc khẳng định cần. Chúng cho phép một quy trình làm việc nhắm đến trang hiện tại thay vì phụ thuộc vào một tọa độ màn hình đã nhớ. Một locator hữu ích xác định mối quan hệ giao diện có ý nghĩa, chẳng hạn như một nút với tên có thể truy cập bên trong một biểu mẫu cụ thể.
Cây tài liệu của trang có thể thay đổi giữa các bước. Một bảng kết quả có thể được thay thế sau một tìm kiếm, hoặc một hộp hội thoại có thể xuất hiện trên các điều khiển bên dưới. Thiết kế locators xung quanh trạng thái và phạm vi dự kiến khi một trang chứa các nhãn lặp lại. Một phép so sánh mơ hồ là tín hiệu rằng quy trình làm việc cần một mục tiêu rõ ràng hơn.
Khi bạn sở hữu ứng dụng, tên có thể truy cập và các định danh kiểm tra ổn định khiến giao diện của nó dễ sử dụng hơn. Khi bạn không sở hữu nó, hãy kiểm tra cấu trúc thực tế và tránh coi các lớp kiểu được tạo ra như các hợp đồng vĩnh viễn. Một locator là một mô tả được duy trì của giao diện, không phải là một đảm bảo rằng giao diện không bao giờ thay đổi.
Điều gì Auto-Waiting làm và không xác lập
Playwright thực hiện kiểm tra khả năng hành động trước các hành động được hỗ trợ, nhưng khả năng hành động không chứng minh rằng một hoạt động kinh doanh đã hoàn tất. Một nút gửi có thể nhấp có thể gửi một biểu mẫu không hợp lệ. Một thẻ kết quả hiển thị có thể thuộc về một truy vấn trước đó. Điều kiện chấp nhận của bạn vẫn cần mô tả kết quả ứng dụng dự kiến.
Ví dụ, hãy tưởng tượng một trang staging cho phép một người kiểm tra thay đổi khu vực vận chuyển. Quy trình làm việc nên xác định điều khiển, chọn khu vực và xác minh cả giá trị đã chọn và thông tin giao hàng kết quả. Kiểm tra chỉ rằng điều khiển đã chấp nhận một cú nhấp chuột sẽ bỏ qua một ứng dụng không cập nhật được bảng giao hàng.
Các khẳng định kết nối quan sát trình duyệt với mong đợi. Một bài kiểm tra có thể kiểm tra văn bản hiển thị, trạng thái phần tử hoặc một điều kiện quan sát khác có liên quan đến hành trình. Đặt khẳng định gần quyết định mà nó hỗ trợ để một thất bại chỉ ra một chuyển tiếp có thể hiểu được. Các chuỗi hành động lớn theo sau bởi một kiểm tra cuối mơ hồ sẽ khó chẩn đoán hơn.
Cách Ngữ cảnh Trình duyệt hỗ trợ Tách biệt
Ngữ cảnh trình duyệt tách biệt trạng thái duyệt web cho các tình huống không nên ảnh hưởng đến nhau. Một ngữ cảnh mới có thể giữ cho một lần đăng nhập trước đó hoặc sở thích đã lưu không làm thay đổi kiểm tra tiếp theo. Tách biệt kiểm tra đặc biệt hữu ích khi một thất bại nếu không sẽ phụ thuộc vào kịch bản nào chạy trước.
Tách biệt có một ranh giới. Một ngữ cảnh trình duyệt mới không xóa các bản ghi trong cơ sở dữ liệu của ứng dụng. Nếu hai bài kiểm tra sử dụng cùng một tài khoản và sửa đổi cùng một tài nguyên phía máy chủ, chúng vẫn có thể can thiệp. Điều phối trạng thái trình duyệt với quyền sở hữu dữ liệu kiểm tra để mỗi kịch bản có một môi trường được xác định ở cả hai lớp.
Một kịch bản nhiều người dùng có thể cần nhiều ngữ cảnh cùng một lúc. Một bài kiểm tra hợp tác có thể quan sát những thay đổi của một người dùng từ trang của một người dùng khác. Giữ vai trò rõ ràng và xác minh người dùng dự kiến trong mỗi ngữ cảnh. Điều này cung cấp thông tin hơn là chia sẻ một lần đăng nhập duy nhất và giả định tất cả các tab đại diện cho những người tham gia độc lập.
Playwright phù hợp với các lớp kiểm tra nào
Playwright hữu ích cho các bài kiểm tra cần hành vi kết xuất và tương tác của trình duyệt. Nó bổ sung cho các bài kiểm tra nhỏ hơn về logic ứng dụng và các bài kiểm tra trực tiếp của các giao diện dịch vụ. Một hành trình trình duyệt bao phủ việc tích hợp hiển thị cho người dùng, trong khi một bài kiểm tra đơn vị tập trung có thể giải thích một lỗi tính toán mà không cần khởi động trình duyệt.
| Lớp kiểm tra | Câu hỏi nó trả lời | Ranh giới điển hình |
|---|---|---|
| Kiểm tra đơn vị | Hành vi tách biệt này có hoạt động không? | Ít hoặc không liên quan đến trình duyệt |
| Kiểm tra API | Hợp đồng dịch vụ có duy trì không? | Không thực hiện toàn bộ hành trình hiển thị |
| Kiểm tra trình duyệt | Người dùng có thể hoàn thành hành trình giao diện này không? | Cần có thời gian chạy và trạng thái được kiểm soát |
Sử dụng trình duyệt nơi mà trình duyệt là một phần của yêu cầu. Một bài kiểm tra truy cập bàn phím hoặc xác thực hiển thị cần có giao diện. Một bài kiểm tra một công thức định giá thuần túy thường không cần thiết. Sự phân chia này giữ cho bộ dễ hiểu hơn và giảm bớt công việc không cần thiết mà không hy sinh các hành trình quan trọng.
Đề nghĩa thực sự của Bảo phủ Đa trình duyệt
Bảo phủ đa trình duyệt có nghĩa là thực hiện các kịch bản liên quan trên các động cơ mà bạn dự định hỗ trợ và so sánh kết quả của chúng. Nó không được thiết lập bởi một tệp cấu hình liệt kê nhiều động cơ nếu bộ chỉ chạy trên một động cơ. Ghi lại những môi trường thực sự đã thực hiện và các kịch bản đã được bao gồm.
Mô phỏng thiết bị cũng là một sự xấp xỉ đã được xác định. Cài đặt viewport và user-agent có thể giúp kiểm tra các bố cục phản hồi, nhưng chúng không tái tạo mọi đặc điểm của thiết bị vật lý. Kiểm tra ngữ nghĩa trình duyệt và kiểm tra phần cứng thực là hai hoạt động riêng biệt. Tránh trình bày một viewport mô phỏng như bằng chứng rằng mọi hành vi di động đã được xác thực.
Ngữ nghĩa giao diện ảnh hưởng đến khả năng kiểm thử trên các môi trường. Các vai trò và trạng thái WAI-ARIA mô tả thông tin có thể giúp xác định các điều khiển một cách nhất quán. Chúng không thay thế các giả định của ứng dụng, và việc thêm một vai trò chỉ để thỏa mãn một bài kiểm tra là không thích hợp nếu nó làm sai lệch điều khiển thực tế.
Chẩn đoán một Kịch bản Playwright Thất bại
Một kịch bản thất bại nên xác định kỳ vọng sớm nhất mà không được thiết lập. Kiểm tra trang đang hoạt động, tài khoản đã chọn và trạng thái ứng dụng đã xác nhận cuối cùng trước khi thay đổi bài kiểm tra. Một lỗi định vị có thể có nghĩa là giao diện đã thay đổi, nhưng nó cũng có thể có nghĩa là điều hướng đã đến một trang khác hoặc một thao tác trước đó chưa hoàn tất.
Sử dụng các tài liệu có sẵn để phân biệt những giải thích đó. Một ảnh chụp màn hình có thể tiết lộ một lớp phủ, trong khi một dấu vết có thể giúp tái tạo trình tự hành động. Không nên giữ lại một cách tùy tiện khi trang chứa thông tin nhạy cảm. Giữ lại bằng chứng cần thiết để chẩn đoán kịch bản và áp dụng cùng các quy tắc truy cập được sử dụng cho dữ liệu kiểm thử của nó.
Sau khi sửa chữa, xác nhận rằng giả định vẫn đại diện cho yêu cầu ban đầu. Yếu đi một kỳ vọng chỉ để làm cho một bài kiểm tra vượt qua sẽ loại bỏ bảo phủ. Một sửa chữa hữu ích khôi phục mối quan hệ giữa bài kiểm tra và hành trình người dùng dự định.
Trình duyệt cục bộ và Dịch vụ Trình duyệt Từ xa
Một quy trình làm việc Playwright cục bộ sở hữu hoặc truy cập các quy trình trình duyệt trên máy thực thi của mình, trong khi một quy trình làm việc từ xa kết nối tới một trình duyệt ở nơi khác. Bảo phủ trình duyệt tổng thể của khung không nên bị nhầm lẫn với các khả năng của một điểm cuối từ xa cụ thể. Một kết nối hỗ trợ một động cơ trình duyệt không tự động cung cấp các động cơ khác.
Trình duyệt Scrapeless Agent cung cấp cơ sở hạ tầng trình duyệt đám mây, và tài liệu kết nối Playwright mô tả kết nối sản phẩm được hỗ trợ. Đánh giá kết nối đó tách biệt với ma trận kiểm thử cục bộ của bạn. Xác nhận các chức năng mà khối lượng công việc của bạn cần trước khi coi các môi trường là có thể hoán đổi cho nhau.
Lựa chọn triển khai ảnh hưởng đến việc cài đặt trình duyệt, vị trí tài liệu, và dọn dẹp tài nguyên. Cuộc thảo luận về mô hình triển khai Playwright là hữu ích khi quyết định nơi trình duyệt nên chạy. So sánh yêu cầu hoạt động và giá cả dịch vụ hiện tại sử dụng một quy trình làm việc đại diện thực tế.
Kết luận
Playwright cung cấp điều khiển trình duyệt và một hệ sinh thái kiểm thử được xây dựng xung quanh các định vị, ngữ cảnh, và kỳ vọng có thể quan sát. Sử dụng mạnh mẽ nhất của nó là một quy trình làm việc với các ranh giới trạng thái rõ ràng và các giả định có ý nghĩa. Chọn những trình duyệt và môi trường triển khai mà nhiệm vụ của bạn cần, sau đó xác minh hành trình hoàn chỉnh thay vì dựa vào tên khung như bằng chứng về sự bảo phủ.
Đưa Quy trình Làm việc Trình duyệt của Bạn vào Thực hành
Khám phá tài liệu kết nối Playwright với Trình duyệt Agent với một nhiệm vụ xác định rõ ràng.
Đăng ký hôm nay và nhận $5 tín dụng miễn phí — không yêu cầu thẻ tín dụng.
Yêu cầu Tín dụng $5 của Bạn →Câu hỏi thường gặp
Playwright có phải là một trình duyệt không?
Playwright là một khung tự động hóa, không phải là một động cơ duyệt độc lập. Nó kiểm soát các động cơ trình duyệt được hỗ trợ và phơi bày một giao diện cho điều hướng, tương tác và kiểm tra. Trình duyệt vẫn có trách nhiệm thực hiện và hiển thị trang web.
Có cần Playwright Test cho mỗi kịch bản không?
Playwright Test không cần thiết cho mỗi kịch bản tự động hóa. Thư viện tự động hóa trình duyệt có thể được sử dụng cho các quy trình làm việc độc lập, trong khi trình chạy kiểm thử thêm tổ chức, các giả định, báo cáo và các cơ sở khác hữu ích cho một bộ kiểm thử.
Chờ tự động có thay thế các giả định không?
Chờ tự động không thay thế các giả định. Chờ một điều khiển trở nên khả thi thiết lập một điều kiện tiên quyết cho một hành động. Một giả định kiểm tra xem trang hoặc ứng dụng có trạng thái mong đợi trước hoặc sau hành động đó hay không.
Mọi trình duyệt từ xa có thể chạy tất cả các động cơ Playwright không?
Một dịch vụ trình duyệt từ xa hỗ trợ các động cơ và các tính năng kết nối mà điểm cuối của nó thực sự phơi bày. Hỗ trợ động cơ rộng hơn của Playwright không mở rộng đến một điểm cuối cụ thể. Xác minh dịch vụ từ xa và các tính năng tự động hóa dự định cùng nhau.