Môi trường thực thi chỉ hỗ trợ ngôn ngữ Rust.
Chạy hoàn toàn trong một tiến trình Rust duy nhất. Không cần bất kỳ trình duyệt, WebDriver hoặc môi trường Node.js nào.
Nguồn mở / Thùng chứa.
"browser-tester" là một môi trường kiểm thử mô phỏng trình duyệt, được xây dựng hoàn toàn bằng ngôn ngữ Rust. Nó kiểm tra các chức năng của DOM (Document Object Model) và xử lý sự kiện mà không cần khởi động một trình duyệt thực tế.
Công cụ "browser-tester" tập trung vào các bài kiểm tra về hành vi dự đoán được của các biểu mẫu và giao diện người dùng, thay vì kiểm tra khả năng tương thích toàn diện với các trình duyệt khác nhau.
Chạy hoàn toàn trong một tiến trình Rust duy nhất. Không cần bất kỳ trình duyệt, WebDriver hoặc môi trường Node.js nào.
Thiết kế để hỗ trợ các bài kiểm tra lặp lại: bao gồm đồng hồ giả, bộ tạo số ngẫu nhiên xác định và các API điều khiển thời gian rõ ràng.
Hỗ trợ các quy trình tương tự như trình duyệt thực tế: chọn phần tử, thực thi script trực tiếp, truyền sự kiện và cập nhật DOM.
Chu kỳ phản hồi nhanh cho các bài kiểm tra giao diện người dùng tập trung vào các biểu mẫu, đồng thời đảm bảo rằng thông báo lỗi tập trung vào các bộ chọn và các giá trị dự kiến/thực tế.
Tạo một môi trường kiểm thử từ mã HTML, thực hiện các tương tác và kiểm tra kết quả hiển thị trên DOM. Bắt đầu với một cấu trúc kiểm thử đơn giản và mở rộng nó bằng cách sử dụng các tính năng như hẹn giờ hoặc mô phỏng API.
Cài đặt.
cargo thêm browser_tester.
Ví dụ cơ bản.
Các thao tác kiểm thử DOM cơ bản: `Harness::from_html`, `type_text`, `set_checked`, `click`, `submit`, và các công cụ hỗ trợ kiểm tra giá trị, nội dung, trạng thái chọn/bỏ chọn, và sự tồn tại.
Điều khiển các hành vi không đồng bộ bằng cách sử dụng một đồng hồ giả. Điều chỉnh thời gian một cách chính xác bằng các hàm `advance_time`, `advance_time_to`, `flush` và các API kiểm tra bộ hẹn giờ.
Sử dụng các hàm `set_fetch_mock`, `enqueue_confirm_response` và `enqueue_prompt_response` để mô phỏng các phản hồi từ quá trình lấy dữ liệu và kết quả của các hộp thoại, nhằm đảm bảo tính độc lập của các bài kiểm tra.
Kích hoạt nhật ký theo dõi và trích xuất thông tin về luồng sự kiện/thời gian khi một bài kiểm tra không thành công. Điều này hữu ích cho việc gỡ lỗi thứ tự các sự kiện và hành vi mặc định.
Nếu bạn cần thêm các API trình duyệt cho bộ kiểm thử của mình, hãy mở một yêu cầu (issue) và cung cấp một ví dụ tối giản để thảo luận về phạm vi và mức độ ưu tiên.