Запись через прокси Puffing Billy для AJAX-запросов браузера
Пропускайте AJAX-трафик из браузера через записывающий прокси, когда HTTP-рекордер Ruby не видит этот сетевой путь.
Тест на Ruby может запускать браузер, который выполняет собственные AJAX-вызовы. HTTP-рекордер, подключённый к клиентским библиотекам Ruby, не видит автоматически соединения, которые открывает этот отдельный процесс браузера.
Записывающий прокси, обращённый к браузеру, находится на пути, который используют эти запросы:
browser → recording forward proxy → external service
browser → recording forward proxy → recorded responsePuffing Billy предоставляет такую схему для тестов браузера на Ruby. Используйте его интеграцию для выбранного драйвера браузера, затем задайте ответы или постоянные записи, необходимые сценарию.
Сопоставьте фактический запрос, включая метод и представление URL, которого ожидает прокси. Документированная форма HTTPS-заглушки содержит явный порт, например https://api.example:443/status.
Выберите, что происходит с несовпавшим запросом. Если разрешить ему дойти до живого сервиса, получится один тип теста; отклонение при отсутствии записи даёт офлайн-сценарию более чёткую границу. Держите записи достаточно конкретными, чтобы разные отправленные тела случайно не получали один и тот же заготовленный ответ.
Для удалённого браузера слушатель прокси должен быть доступен с машины или из контейнера этого браузера. Localhost в процессе запуска тестов не означает тот же слушатель с другого хоста.