Я уже писал про использование browsermob-proxy в посте про поиск js-ошибок. В этом же посте предлагалось оформить работу с прокси и драйвером с использованием рул. Настало время сделать это =).
Создаём класс ProxyRule.java, расширяющий абстрактный класс TestWatcher:
Т.к. нам нужно запускать прокси при старте теста и гасить её когда тест закончен, оверрайдим соответствующие методы:
Кроме того, рула должна отдавать “наружу” созданные DesiredCapabilities, настроенные на работу с прокси.
Вот и вся реализация. Просто, правда? Добавляем нашу рулу в тест и удаляем всё, что было в @BeforeClass и @AfterClass:
Заметил, что я использую аннотацию @ClassRule, а поле помечено как static? Это нужно для того, чтобы прокси не создавалась при запуске каждого теста, а поднималась единожды для тестового класса. Осталось “настроить” вебдрайвер на использование прокси:
Полные исходники примера как обычно можно найти у меня в репозитории в соответствующей ветке.
comments powered by Disqus