Автотестирование и моки (testing)¶
Модуль browser_stealth.testing содержит инструменты для тестирования скриптов автоматизации без необходимости поднимать внешнюю инфраструктуру.
1. Локальный тестовый сервер (LocalTestServer)¶
Быстрый легковесный HTTP-сервер для изолированного тестирования страниц и API в рамках тестов:
from browser_stealth.testing.server import LocalTestServer
with LocalTestServer() as server:
# Публикация статического HTML
url = server.serve_html("/login", "<h1>Вход в систему</h1><button id='btn'>OK</button>")
# Теперь можно переходить по url в браузере или через HTTP-клиент
print("Адрес тестовой страницы:", url)
2. Моки браузерных объектов¶
Позволяют тестировать пайплайны обработки без запуска тяжелых бинарников браузеров:
* MockPlaywrightPage — мок объекта страницы Playwright.
* MockNodriverTab — мок вкладки nodriver.
* MockSeleniumDriver — мок Selenium WebDriver.
from browser_stealth.testing.mocks.playwright import MockPlaywrightPage
mock_page = MockPlaywrightPage()
mock_page.set_content("<div class='item'>Данные</div>")
3. Спецификация экстракций (assert_extraction_complete)¶
Утилиты проверки качества извлеченных данных: