Есть ли способ перехватить отмененные запросы, используя хар-прокси?

В моем проекте у меня есть JavaScript, отвечающий за отслеживание действий пользователя с целью оптимизации макета страницы. Эти вызовы выполняются, когда пользователь что-то щелкает, включая ссылки, ведущие на другие страницы.

У меня весь поток покрыт автоматизированными тестами, написанными на Java и основанными на Selenium Webdriver. Я использую прокси-сервер Browsermob для захвата запросов и проверки того, что правильные данные передаются в службу отслеживания пользователей.

В определенных ситуациях запросы, поступающие на службу, не регистрируются прокси-сервером. Причина этого заключается в том, что браузер переходит на следующую страницу, прежде чем получить ответ от службы отслеживания. Запрос фактически попадает в пункт назначения, который я вижу по состоянию базы данных. Поскольку браузер не ожидает ответов, прокси не замечает их, несмотря на 5-секундное ожидание по умолчанию, которое в данном случае просто игнорируется. Это происходит только время от времени, вызывая ложные негативы в моих отчетах об испытаниях.

Я не могу заставить браузер фактически ждать этих запросов, потому что я не хочу, чтобы отслеживание препятствовало продвижению пользователя. Я хотел бы как-то настроить прокси-сервер так, чтобы он отличал запросы, которые не были отправлены, и те, которые были отменены на полпути. Таким образом, я мог прикрепить эту информацию к своим отчетам.

Можно ли добиться этого с помощью прокси Browsermob? Возможно, какой-то другой инструмент сделает лучше.

1 ответ

Попробуйте использовать реализацию phantomjs webDriver, нам не нужно запускать прокси-сервер Jetty, и мы можем получать все запросы, даже те, которые не имеют ответов.

Другие вопросы по тегам