Trình duyệt không đầu là gì?
Trình duyệt thu thập dữ liệu không có dữ liệu giúp quản lý các phiên Chromium cho việc kết xuất web lập trình và tự động hóa trình duyệt trên đám mây.
TL;DR
- Một trình duyệt không đầu là một trình duyệt web tải các trang, thực thi JavaScript, áp dụng CSS, duy trì cookie và phơi bày tài liệu đã được kết xuất mà không hiển thị một cửa sổ máy tính bình thường. Phần còn lại của khái niệm được xác định bởi trạng thái, bề mặt điều khiển và vòng đời của nó.
- Ranh giới quan trọng hơn nhãn hiệu. Trình duyệt, ngữ cảnh, trang, hồ sơ, phiên, vùng nhìn và danh tính mạng mô tả các lớp khác nhau.
- Khả năng tái tạo yêu cầu cấu hình rõ ràng. Ghi lại phiên bản trình duyệt, nguồn trạng thái, ngôn ngữ, vùng nhìn, tuyến đường mạng và điều kiện hoàn thành ảnh hưởng đến kết quả.
- Tính khả thi và tính bền vững là những lựa chọn riêng biệt. Một phiên chạy có thể hiển thị từ xa nhưng thoáng qua, hoặc vô hình trong khi viết dữ liệu hồ sơ lâu dài.
- Tự động hóa có trách nhiệm bắt đầu với phạm vi. Sử dụng tài khoản đã được phê duyệt và dữ liệu công khai hoặc được ủy quyền, tôn trọng các quy tắc áp dụng, và giữ thông tin xác thực ra khỏi nhật ký.
Trình duyệt không đầu là gì?
Một trình duyệt không đầu là một trình duyệt web tải các trang, thực thi JavaScript, áp dụng CSS, duy trì cookie và phơi bày tài liệu đã được kết xuất mà không hiển thị một cửa sổ máy tính bình thường. Phần mềm điều khiển nó thông qua giao diện dòng lệnh, thư viện tự động hóa, hoặc giao thức từ xa. Cửa sổ bị thiếu thay đổi cách một người điều hành quan sát quá trình, nhưng nó không biến trình duyệt thành một khách hàng HTTP đơn giản.
Ranh giới hữu ích là kết xuất, không phải khả năng hiển thị. Một yêu cầu HTTP cơ bản trả lại phản hồi từ máy chủ, trong khi một trình duyệt không đầu có thể tiếp tục thông qua việc kết xuất phía khách hàng, xử lý sự kiện, cập nhật bộ nhớ và các cuộc gọi mạng được thực hiện sau khi tài liệu đầu tiên đến. Điều đó làm cho việc thực thi không đầu trở nên phù hợp cho các trang mà nội dung có ý nghĩa chỉ xuất hiện sau khi các kịch bản chạy.
Một định nghĩa chính xác giúp các nhóm chọn công cụ và chẩn đoán sự cố. Nếu các kỹ sư sử dụng một từ cho nhiều lớp, một vấn đề cookie có thể bị nhầm lẫn với một vấn đề trình duyệt, một sự không khớp vùng nhìn có thể bị nhầm lẫn với dữ liệu bị thiếu, và một kết nối điều khiển bị đóng có thể bị nhầm lẫn với trạng thái hồ sơ bị mất. Đặt tên cho ranh giới làm cho việc sửa chữa nhỏ hơn.
Cách một Trình duyệt Không đầu Sản xuất một Trang
Cách một Trình duyệt Không đầu Sản xuất một Trang có thể được hiểu như là một chuỗi các chuyển tiếp trạng thái được điều khiển bởi trình duyệt và khách hàng tự động hóa. API chính xác thay đổi, nhưng điều hướng, kết xuất, lưu trữ, đầu vào, quan sát và dọn dẹp vẫn là những phần chịu tải.
Điều hướng và mạng
Trình duyệt giải quyết địa chỉ, áp dụng các quy tắc bộ nhớ cache và cookie, tuân theo chính sách điều hướng, và tải xuống tài liệu và các tài nguyên phụ thuộc của nó. Chuyển hướng, dịch vụ công nhân và quy tắc bảo mật trình duyệt vẫn quan trọng ngay cả khi không có cửa sổ nào được hiển thị.
Điều hướng và mạng nên có thể quan sát được trong sản xuất. Ghi lại cấu hình ảnh hưởng đến nó, ghi lại chứng cứ tại điểm mà trang đạt được trạng thái yêu cầu, và đóng tài nguyên một cách có chủ ý. Thực hành đó biến một phiên chạy trình duyệt thành một hoạt động có thể giải thích thay vì một chuỗi chỉ hoạt động trên một máy.
Kết xuất và JavaScript
Bộ máy phân tích HTML, xây dựng các cấu trúc tài liệu và kiểu dáng, thực thi các kịch bản, tính toán bố cục, và vẽ vào một bề mặt ngoài màn hình. Tự động hóa có thể kiểm tra DOM, đọc văn bản được tính toán, chụp ảnh màn hình, hoặc kích hoạt một tương tác sau khi trạng thái liên quan xuất hiện.
Kết xuất và JavaScript nên có thể quan sát được trong sản xuất. Ghi lại cấu hình ảnh hưởng đến nó, ghi lại chứng cứ tại điểm mà trang đạt được trạng thái yêu cầu, và đóng tài nguyên một cách có chủ ý. Thực hành đó biến một phiên chạy trình duyệt thành một hoạt động có thể giải thích thay vì một chuỗi chỉ hoạt động trên một máy.
Điều khiển tự động hóa
Một bộ điều khiển gửi các lệnh như điều hướng, nhấp chuột, gõ, đánh giá và chụp. Trình duyệt trả về các kết quả và sự kiện có cấu trúc, cho phép một quy trình làm quyết định dựa trên trang trực tiếp thay vì coi trang như văn bản tĩnh.
Điều khiển tự động hóa nên có thể quan sát được trong sản xuất. Ghi lại cấu hình ảnh hưởng đến nó, ghi lại chứng cứ tại điểm mà trang đạt được trạng thái yêu cầu, và đóng tài nguyên một cách có chủ ý. Thực hành đó biến một phiên chạy trình duyệt thành một hoạt động có thể giải thích thay vì một chuỗi chỉ hoạt động trên một máy.
Thuật ngữ trình duyệt dễ sử dụng hơn khi nó vẫn gắn bó với các định nghĩa chính. Chế độ Chrome Không đầu mô tả khái niệm cốt lõi một cách trực tiếp nhất, đặc tả W3C WebDriver định nghĩa một ranh giới điều khiển hoặc kiến trúc lân cận, và kiến trúc đa quy trình Chromium cung cấp một góc nhìn thực hiện thứ hai. Những nguồn này mô tả các tiêu chuẩn và hành vi của trình duyệt; lựa chọn sản phẩm vẫn phụ thuộc vào quy trình làm việc, mô hình bảo mật và môi trường mục tiêu.
Trình duyệt Không đầu so với Khách hàng HTTP so với Trình duyệt Có đầu
Trình duyệt Không đầu so với Khách hàng HTTP so với Trình duyệt Có đầu tách biệt các thuật ngữ thường bị gộp lại trong các cuộc thảo luận bình thường. Bảng tập trung vào quyền sở hữu và hiệu ứng hoạt động hơn là tên API cụ thể của thương hiệu.
| Khái niệm | Ý nghĩa chính | Vai trò hoạt động | Phù hợp điển hình |
|---|---|---|---|
| Cửa sổ hiển thị | Không | Không | Có |
| Chạy trang JavaScript | Có | Không | Có |
| Sử dụng bộ nhớ trình duyệt | Có | Chỉ nếu được triển khai bởi khách hàng | Có |
| Phù hợp nhất | Kết xuất và trích xuất tự động | Tài nguyên tĩnh và API | Gỡ lỗi tương tác và công việc thủ công |
Các loại này có thể cùng tồn tại trong một kiến trúc. Một phân bổ đám mây có thể chạy quá trình Chromium không có giao diện, tạo một ngữ cảnh riêng biệt, mở nhiều trang, áp dụng một chế độ xem cho mỗi trang, và gán một hồ sơ bền vững. Kiến trúc chỉ có thể hiểu khi mỗi danh từ giữ công việc riêng của nó.
Các ứng dụng thông thường của trình duyệt không có giao diện
Một trình duyệt không có giao diện hữu ích khi ranh giới cụ thể của nó làm giảm rủi ro vận hành hoặc làm cho hành vi của trình duyệt có thể đo lường được. Những ứng dụng thông thường này cho thấy yêu cầu mà mỗi mẫu thực sự đáp ứng.
Kiểm tra trang động
Xác thực hành vi sau khi các kịch bản kết xuất các thành phần, thay đổi tuyến đường và dữ liệu bất đồng bộ.
Một triển khai hợp lý định nghĩa trạng thái khởi động cần thiết, bằng chứng hoàn thành, và quy tắc dọn dẹp trước khi trình duyệt được mở.
Trích xuất có cấu trúc
Đọc nội dung từ DOM đã được kết xuất khi phản hồi ban đầu không chứa trang cuối cùng.
Một triển khai hợp lý định nghĩa trạng thái khởi động cần thiết, bằng chứng hoàn thành, và quy tắc dọn dẹp trước khi trình duyệt được mở.
Chụp ảnh màn hình và PDF
Ghi lại đầu ra hình ảnh với một chế độ nhìn kiểm soát, phông chữ, địa phương, và trạng thái trang.
Một triển khai hợp lý định nghĩa trạng thái khởi động cần thiết, bằng chứng hoàn thành, và quy tắc dọn dẹp trước khi trình duyệt được mở.
Hành động của đại lý
Cung cấp cho một đại lý tự động một môi trường duyệt web thực tế cho điều hướng, biểu mẫu, và các nhiệm vụ nhiều bước.
Một triển khai hợp lý định nghĩa trạng thái khởi động cần thiết, bằng chứng hoàn thành, và quy tắc dọn dẹp trước khi trình duyệt được mở.
Mô hình trạng thái phía sau một trình duyệt không có giao diện
Một quy trình làm việc của trình duyệt không có giao diện đáng tin cậy tách biệt cấu hình, trạng thái thời gian chạy, trạng thái trang web, và bằng chứng. Cấu hình là những gì người vận hành chọn trước khi khởi động: phiên bản trình duyệt, chế độ khởi động, ngôn ngữ địa phương, múi giờ, quyền hạn, chế độ xem, và đường mạng. Trạng thái thời gian chạy bao gồm quá trình đã được phân bổ, ngữ cảnh, trang, bộ nhớ, kết nối mở, và kênh điều khiển. Trạng thái website bao gồm cookie, bộ nhớ nguồn gốc, hồ sơ tài khoản phía máy chủ, và tài liệu hiện tại được kết xuất. Bằng chứng là bản ghi được sử dụng để giải thích những gì đã xảy ra.
Các lớp này có thời gian sống khác nhau. Một trang có thể đóng trong khi cookie ngữ cảnh của nó vẫn còn. Một ngữ cảnh có thể đóng trong khi một hồ sơ bền vững vẫn tồn tại trên ổ đĩa. Một kết nối điều khiển từ xa có thể biến mất trong khi dịch vụ vẫn sở hữu trình duyệt trong một khoảng thời gian ngắn. Đăng nhập trang web có thể vẫn hợp lệ sau khi phiên tự động kết thúc. Dọn dẹp do đó cần một hành động rõ ràng cho mỗi lớp mà quy trình làm việc đã tạo ra.
Quyền sở hữu trạng thái cũng kiểm soát mức độ song song. Hai trang trong một ngữ cảnh có thể cố tình chia sẻ xác thực, nhưng hai công việc độc lập thường không nên. Hai ngữ cảnh trong một trình duyệt có thể cách ly cookie trong khi cạnh tranh cho cùng một tài nguyên quá trình. Hai lần khởi động trình duyệt bền vững không nên chỉ vào cùng một thư mục dữ liệu người dùng đang hoạt động. Đơn vị an toàn của đồng thời được xác định bởi cả cách ly và giới hạn tài nguyên chung.
Sử dụng các nhận diện tương quan mà không làm lộ bí mật điều khiển. Một ID công việc có thể kết nối nhật ký ứng dụng, sự kiện trình duyệt, ảnh chụp màn hình, và đầu ra cuối cùng. Một điểm cuối phiên, giá trị cookie, tiêu đề xác thực, hoặc lưu trữ hồ sơ không bao giờ nên đóng vai trò đó vì bất kỳ ai đọc nhật ký có thể truy cập trình duyệt hoặc tài khoản. Lọc giá trị tại ranh giới ghi nhật ký thay vì dựa vào dọn dẹp sau.
Khả năng quan sát cho trình duyệt không có giao diện
Khả năng quan sát nên trả lời bốn câu hỏi: môi trường nào đã chạy, trình duyệt đã thấy gì, hành động mà bộ điều khiển đã gửi, và tại sao quy trình làm việc coi nhiệm vụ là hoàn tất. Một bản ghi sự kiện hữu ích bao gồm một dấu thời gian, ID tương quan, URL trang sau khi điều hướng, tên hành động, tham số không bí mật, thời gian, kết quả, và một phân loại lỗi ngắn gọn. Nó tránh nội dung trang trừ khi những nội dung đó là bằng chứng cần thiết.
Chọn đối tượng theo chế độ thất bại. Các sự kiện mạng hữu ích khi một tài nguyên bị chặn hoặc chuyển hướng. Một ảnh chụp DOM hữu ích khi phần tử mong đợi bị thiếu hoặc khác cấu trúc. Một ảnh chụp màn hình hữu ích khi một lớp phủ che phủ điều khiển, các thay đổi bố cục phản hồi, hoặc phông chữ thay đổi hình học. Siêu dữ liệu lưu trữ hữu ích khi trạng thái đăng nhập biến mất. Một bản ghi hữu ích khi thứ tự của nhiều tương tác quan trọng, nhưng nên được lưu giữ tiết kiệm vì nó có thể ghi lại thông tin nhạy cảm.
Kiểm tra hoàn thành nên ở bên cạnh hành động mà chúng xác thực. Sau khi điều hướng, xác thực một URL, phản hồi, hoặc dấu trang. Sau khi nhập, xác thực giá trị trường hoặc trạng thái kết quả. Sau khi nhấp, xác thực tuyến đường, hộp thoại, yêu cầu mạng, hoặc biến đổi tài liệu mà nó nên gây ra. Sau khi trích xuất, xác thực các trường và loại dữ liệu cần thiết. Một lệnh đã trả về mà không có ngoại lệ không phải là bằng chứng rằng kết quả nhìn thấy bởi người dùng mong muốn đã xảy ra.
Bảng điều khiển hoạt động nên phân biệt sức khỏe sản phẩm với biến thể trang mục tiêu. Các sự cố cấp phát trình duyệt, sự cố kênh điều khiển, sự cố trình kết xuất, phản hồi HTTP mục tiêu, trạng thái trống trên cấp ứng dụng, và sự không khớp của bộ chọn cần nhãn khác nhau. Kết hợp chúng thành một tỷ lệ thất bại chung ẩn lớp cần chú ý và khuyến khích những thay đổi rộng lớn đối với một vấn đề hẹp.
Giới hạn và các chế độ thất bại
Một trình duyệt không có giao diện không tự động nhanh hơn, ẩn danh, hoặc được chấp nhận bởi mọi trang web. Kết xuất tiêu tốn CPU và bộ nhớ, hoàn thành trang phải được xác định rõ ràng, và lưu lượng tự động có thể chịu sự kiểm soát kỹ thuật hoặc chính sách của trang. Một thiết kế sản xuất nên sử dụng công cụ rẻ nhất mà đáp ứng được trang: một khách hàng HTTP cho tài nguyên tĩnh, một trình duyệt khi hành vi của trình duyệt là cần thiết, và một chế độ xem có giao diện khi quan sát quan trọng.
Hầu hết các thất bại trở nên dễ phân loại hơn khi có bằng chứng được ghi lại ở lớp đúng. Một phản hồi điều hướng giải thích hành vi vận chuyển và máy chủ. DOM giải thích cấu trúc được hiển thị. Một hình chụp màn hình giải thích bố cục nhìn thấy. Kiểm tra bộ nhớ giải thích cookie và trạng thái nguồn. Nhật ký phiên giải thích vòng đời. Không có bất kỳ tác phẩm nào trong số này có thể thay thế tất cả những tác phẩm khác.
Các khoảng trễ cố định là một tín hiệu hoàn thành yếu vì các trang không hoàn thành trong một khoảng thời gian phổ quát. Thích một điều kiện gắn liền với nhiệm vụ: một lộ trình ổn định, một tiêu đề xuất hiện, một yêu cầu đã biết hoàn thành, một điều khiển trở nên khả dụng, hoặc dữ liệu mong đợi tồn tại. Đặt một khoảng thời gian giới hạn để một điều kiện thiếu sẽ kết thúc với bằng chứng hữu ích.
Phát triển, Thử nghiệm, và Sản xuất
Phát triển ưa chuộng tính khả thi và chẩn đoán nhanh. Chạy một trường hợp đại diện nhỏ, phơi bày trạng thái trình duyệt, và giữ hình chụp màn hình hoặc dấu vết gần với mã. Thử nghiệm nên phản ánh cấu hình sản xuất trong khi sử dụng tài khoản và mục tiêu được kiểm soát. Sản xuất ưa chuộng đầu vào xác định, quyền hạn tối thiểu, sử dụng tài nguyên giới hạn, truyền dữ liệu có cấu trúc, và dọn dẹp tự động. Di chuyển qua các môi trường này nên thay đổi cấu hình, không viết lại logic điều hướng.
Kiểm soát phiên bản áp dụng cho hành vi trình duyệt cũng như mã ứng dụng. Ghim các phiên bản trình duyệt và khách hàng tự động tương thích nơi nền tảng cho phép, xem ghi chú phát hành trước khi nâng cấp, và chạy một bộ kiểm tra tương thích tập trung. Bộ kiểm tra nên bao gồm điều hướng, lưu trữ, đầu vào, tải xuống nếu sử dụng, hình chụp màn hình, và bất kỳ tính năng giao thức nào mà quy trình làm việc phụ thuộc vào. Một kiểm tra tiêu đề trang vượt qua quá nông cho một lần nâng cấp trình duyệt.
Lập kế hoạch công suất bắt đầu với trang thay vì một con số trình duyệt trên mỗi máy phổ quát. Đo lường bộ nhớ, CPU, lưu lượng mạng, thời gian trang, và kích thước tác phẩm cho công việc đại diện. Các ứng dụng phía khách nặng, video, canvas lớn, và nhiều trang mở thay đổi hồ sơ chi phí. Đặt độ đồng thời từ việc sử dụng tài nguyên quan sát được và giới hạn dịch vụ, sau đó để lại không gian cho một trang tốn kém không làm mất ổn định các phiên không liên quan.
Dọn dẹp sản xuất nên là idempotent: gọi nó sau một thất bại một phần vẫn nên đóng các trang, ngữ cảnh, phiên, và tệp tạm thời tồn tại. Nhật ký dọn dẹp nên xác nhận các tài nguyên nào đã được giải phóng mà không in ra các giá trị bí mật của chúng. Các hồ sơ tồn tại được xử lý riêng biệt vì việc xóa một hồ sơ cố ý bền vững không phải là công việc dọn dẹp thông thường.
Bảo mật, Quyền riêng tư, và Sử dụng Có trách nhiệm
Môi trường trình duyệt có thể chứa thông tin xác thực, dữ liệu cá nhân, tải xuống, và nội dung chỉ có thể nhìn thấy bởi một tài khoản được ủy quyền. Áp dụng quyền hạn tối thiểu cho các tài khoản và người điều hành, giữ bí mật ra ngoài các tệp nguồn, hạn chế quyền truy cập vào các bản ghi, và xóa trạng thái theo chính sách giữ gìn tài liệu. Một sản phẩm gỡ lỗi tiện lợi có thể trở thành một lỗ hổng dữ liệu nếu được chia sẻ mà không có sự xem xét.
Tự động hóa không nên được sử dụng để truy cập thông tin riêng tư, bí mật, hoặc hạn chế mà không có sự cho phép. Xem xét các điều khoản website, hướng dẫn robot khi áp dụng, nghĩa vụ hợp đồng, và các điều luật điều chỉnh dữ liệu và quyền hạn. Năng lực kỹ thuật không tạo ra sự ủy quyền.
Cấu hình liên quan đến dấu vân tay cần sự chú ý đặc biệt. Các đặc điểm của trình duyệt như ngôn ngữ, màn hình, codec, phông chữ, và cài đặt có thể góp phần xác định, như đã mô tả trong các tiêu chuẩn và hướng dẫn bảo vệ quyền riêng tư được trích dẫn. Sử dụng các kiểm soát đó để tương thích, cách ly, và thử nghiệm được chấp thuận; không sử dụng chúng để giả mạo một người hoặc che giấu hoạt động lạm dụng.
Cách chọn cài đặt đúng
Chọn thực thi không đầu khi nhiệm vụ là xác định, lặp lại, và được thúc đẩy bởi mã. Chuyển sang chạy có đầu khi chẩn đoán trạng thái hình ảnh, các yêu cầu đồng ý, hành vi mở rộng, hoặc một tương tác khó giải thích từ nhật ký. Cả hai chế độ nên sử dụng cùng một logic điều hướng và trích xuất khi có thể để việc gỡ lỗi không tạo ra một triển khai riêng biệt.
- Bắt đầu với kết quả yêu cầu. Xác định trạng thái trang, dữ liệu, tương tác, hoặc bằng chứng quy trình làm việc phải sản xuất.
- Chọn ranh giới trạng thái nhỏ nhất. Một trang, ngữ cảnh, phiên, hoặc hồ sơ không nên tồn tại lâu hơn hoặc chia sẻ nhiều dữ liệu hơn những gì nhiệm vụ yêu cầu.
- Làm cho đầu vào môi trường rõ ràng. Xây dựng trình duyệt, địa phương, múi giờ, khung nhìn, quyền truy cập, và lộ trình mạng có thể thay đổi kết quả.
- Thiết kế khả năng quan sát trước khi mở rộng quy mô. Ghi lại đủ bằng chứng để phân biệt giữa các lỗi mạng, kết xuất, bộ chọn, lưu trữ, và vòng đời.
- Đóng và dọn dẹp một cách có chủ ý. Giải phóng tài nguyên từ xa, xóa trạng thái tạm thời, và giữ lại chỉ các tác phẩm được chấp thuận.
Cái Tài liệu của Scrapeless Scraping Browser mô tả bề mặt phiên được quản lý, trong khi Trang sản phẩm Scrapeless Scraping Browser giải thích vai trò của sản phẩm trong tự động hóa trình duyệt đám mây. Những tham chiếu sản phẩm này bổ sung cho các liên kết tiêu chuẩn thay vì thay đổi định nghĩa chung.
Kết luận
một Trình duyệt Không đầu thì hữu ích nhất như một thuật ngữ kiến trúc chính xác, không phải một nhãn tiếp thị. Giá trị của nó đến từ trạng thái mà nó sở hữu, hành vi trình duyệt mà nó cho phép, và ranh giới hoạt động mà nó tạo ra. Giữ những thuộc tính đó rõ ràng và lựa chọn giữa thực thi địa phương, từ xa, bền vững, cách ly, nhìn thấy, và tự động không giám sát trở nên đơn giản.
Đối với công việc sản xuất, ghép nối định nghĩa đó với bằng chứng cụ thể: một trạng thái khởi đầu đã biết, một điều kiện hoàn thành có ý nghĩa, nhật ký được bảo vệ, và dọn dẹp có chủ ý. Sự kết hợp đó làm cho tự động hóa trình duyệt dễ dàng để xem xét, gỡ lỗi, và duy trì.
Sẵn sàng xây dựng một quy trình làm việc với trình duyệt được quản lý?
Sử dụng Scrapeless Scraping Browser khi quy trình làm việc cần kết xuất Chromium từ xa, các phiên được kiểm soát, và tương tác cấp trình duyệt.
Bắt đầu miễn phí →Câu hỏi thường gặp
Trình duyệt không đầu có giống như hồ sơ trình duyệt không?
Không. một Trình duyệt Không đầu và một hồ sơ trình duyệt mô tả các lớp khác nhau. Một hồ sơ là một tập hợp dữ liệu trình duyệt bền vững, trong khi chủ đề trên trang này mô tả một chế độ thực thi, container, mô hình danh tính, hoặc mẫu cơ sở hạ tầng. Một quy trình làm việc có thể sử dụng cả hai, nhưng nó nên đặt tên chúng một cách tách biệt.
Trình duyệt không giao diện có làm cho tự động hóa không thể phát hiện không?
Không. Không có cài đặt trình duyệt hoặc sản phẩm nào có thể đảm bảo rằng tự động hóa là không thể quan sát được. Các trang web có thể đánh giá các thuộc tính của trình duyệt, ngữ cảnh mạng, tài khoản, lịch sử tương tác và hành vi phía máy chủ. Chỉ sử dụng tự động hóa trong phạm vi được ủy quyền và coi hành vi phát hiện như một thuộc tính hệ thống có thể quan sát được chứ không phải là một lời hứa về sự vô hình.
Khi nào một đội nên chọn trình duyệt không giao diện?
Một đội nên chọn trình duyệt không giao diện khi trạng thái cụ thể, phương thức kết xuất, sự cách ly hoặc thuộc tính hoạt động của nó giải quyết một yêu cầu đã được tài liệu hóa. Quyết định nên so sánh một khách hàng HTTP đơn giản, tự động hóa trình duyệt cục bộ và thực thi trình duyệt được quản lý, sau đó chọn tùy chọn ít phức tạp nhất mà trả về kết quả yêu cầu một cách đáng tin cậy.
Những gì nên được ghi lại cho một quy trình làm việc với trình duyệt không giao diện?
Ghi lại các phiên bản trình duyệt và khách hàng, cấu hình không bí mật, ID tương quan phiên hoặc công việc, URL mục tiêu, các chuyển tiếp trạng thái quan trọng, kết quả cuối cùng và kết quả dọn dẹp. Lưu trữ ảnh chụp màn hình hoặc ghi âm chỉ khi chúng cần thiết, bảo vệ chúng như dữ liệu nhạy cảm tiềm năng, và không bao giờ ghi cookies, thông tin xác thực, hoặc điểm cuối điều khiển từ xa.
Làm thế nào để thử nghiệm trình duyệt không giao diện một cách đáng tin cậy?
Thử nghiệm trình duyệt không giao diện với trạng thái khởi đầu rõ ràng, bộ chọn ổn định hoặc tín hiệu tài liệu, thời gian chờ giới hạn, các biến thể trang đại diện và kiểm tra hoàn thành rõ ràng. So sánh DOM cuối cùng hoặc kết quả có thể nhìn thấy từ người dùng thay vì dựa vào một độ trễ cố định, và giữ một lộ trình chẩn đoán mà hiển thị ảnh chụp màn hình, dấu vết hoặc trạng thái trình duyệt trực tiếp.