2014-04-24 6 views
1

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

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

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

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

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

ответ

1

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

Смежные вопросы