Я хочу захватить все сетевые вызовы из веб-драйвера в Java. Я не провожу никакого тестирования пользовательского интерфейса, просто тестирую выполнение JS, а также запросы и ответы на некоторые сетевые вызовы.
Я пытался использовать Browser Mob, как это предлагается на большинстве форумов, но мне нужно, чтобы он работал во всех браузерах. Он работал безупречно с Firefox, но у меня были некоторые проблемы с другими. Драйвер Safari не поддерживает функцию прокси.
Я не хочу использовать Fiddler, так как он включает в себя некоторые ручные шаги по вызову и сохранению вызовов. Принимая во внимание, что Browser Mob, являющийся прокси-сервером в коде, может быть интегрирован более плавным образом.
Я также пытался использовать RC-подобный пакет, включенный в пакет автономного сервера Selenium. Но у меня есть несколько вызовов HTTPS и несколько вложенных фреймов в междоменных доменах. Меня особенно интересуют междоменные вызовы POST, и это не очень хорошо работает. Кроме того, люди продолжают говорить, что не рекомендуется использовать этот пакет.
Итак, у меня было решение, в котором мы можем использовать автономный прокси-сервер, работающий на машине. Используя записи хоста, мы укажем веб-драйверу, чтобы он обращался к прокси-серверу, а не к фактическому серверу. Прокси будет записывать все входящие вызовы и направлять их на фактический хост-сервер. Позже я могу сделать запрос к прокси, который вернет мне все перехваченные вызовы. Я не уверен, называется ли он все еще прокси или маршрутизатором.
Я наткнулся на TCPmon, но он больше не поддерживается. Кто-нибудь знает какие-нибудь подобные инструменты, которые могут работать в системах Unix или каких-либо альтернативных решениях?