Изпълнителна среда, базирана само на езика Rust.
Функционира в рамките на един процес на Rust. Не изисква външни браузъри, WebDriver или зависимости от Node.js.
Отворен код / Контейнер.
"browser-tester" е детерминирана среда за тестване, наподобяваща браузър, разработена изцяло на език Rust. Тя проверява поведението на DOM (Document Object Model) и събитията, без да стартира реален браузър.
Инструментът "browser-tester" се фокусира върху тестове за предвидимо поведение на формуляри и потребителски интерфейси, а не върху пълната съвместимост с различните браузъри при визуализация.
Функционира в рамките на един процес на Rust. Не изисква външни браузъри, WebDriver или зависимости от Node.js.
Проектиран за повтаряеми тестове: включва фалшив часовник, детерминиран генератор на случайни числа и API за прецизен контрол на таймера.
Поддържа практични функции, подобни на тези на браузърите: селектори, изпълнение на скриптове, разпространение на събития и актуализации на DOM.
Бърз цикъл на обратна връзка за тестове на потребителски интерфейси, ориентирани към формуляри, като същевременно изходните данни при грешки са фокусирани върху селекторите и очакваните/фактически стойности.
Създайте тестова среда с помощта на HTML, изпълнявайте тестови сценарии и проверявайте резултатите в DOM. Започнете с малък примерен код и го разширете с помощта на таймери и фалшиви API.
Инсталирайте.
cargo: добавяне на браузър тестер.
Основен пример.
Основни операции за тестване на DOM: `Harness::from_html`, `type_text`, `set_checked`, `click`, `submit` и помощни функции за проверка на текст, стойност, отметнато състояние и съществуване.
Контролирайте асинхронното поведение с помощта на фалшив часовник. Управлявайте времето по предвидим начин, използвайки функциите `advance_time`, `advance_time_to`, `flush` и API за проверка на таймерите.
Използвайте функциите `set_fetch_mock`, `enqueue_confirm_response` и `enqueue_prompt_response`, за да симулирате отговори от заявки и резултати от диалози, като по този начин изолирате тестовете.
Активирайте регистрирането на събития и извличайте информация за последователността на събитията/таймерите, когато тестът се провали. Това е полезно за отстраняване на грешки, свързани с реда на събитията и поведението на действията по подразбиране.
Ако имате нужда от допълнителни API за браузъри за вашия набор от тестове, отворете заявка (issue) с минимален примерен код, за да обсъдим обхвата и приоритета.