ПИТОН: Как сделать так, чтобы мой request.get () длился несколько секунд? - PullRequest
0 голосов
/ 29 августа 2018

Чтобы протестировать мой API, мне нужно отправить запрос на URL моего зрителя, по которому есть служба отслеживания, которая сообщает моему API, сколько времени я провел на странице (классический).

У меня есть маленькая функция в моих тестах:

def does_it_track(response, **kwargs):
  # some unrelated actions
  r = requests.get('my_viewer_url')

Этот запрос работает нормально, но он длится менее секунды и не позволяет мне ни проверять мой генератор статистики, ни точность моего трекера.

Я пробовал:

Кто-нибудь знает о "не сложном способе" заставить мой запрос ждать на моей странице?

я питон 2.7

Спасибо!

Ответы [ 2 ]

0 голосов
/ 29 августа 2018

«сколько времени вы провели на странице» не имеет никакого отношения к циклу HTTP-запросов / ответов, но связано с вашим браузером.

С точки зрения сервера, сервер получает запрос, возвращает ответ, и задание завершено, точка - и с точки зрения клиента, как только сервер вернул ответ, HTTP-транзакция также завершена. Здесь даже нет понятия «страница», только HTTP-запрос и ответ.

Ваш "трекер" (очевидно) использует javascript для отправки данных из самого браузера (скорее всего, отправляя запрос каждые X секунд, указывающий, что страница все еще отображается в браузере). IOW, единственный способ проверить это - использовать безголовый браузер, который будет выполнять JavaScript.

0 голосов
/ 29 августа 2018

Попробуйте видеомагнитофон, это может помочь вам решить вашу проблему. Действительно, вы сможете сохранить свой запрос и посмотреть, что происходит.

VCR

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...