Будьте уверены - получение истекло время ожидания операции при тестировании с использованием RestAssured.Но та же самая конечная точка прекрасно работает в браузере - PullRequest
0 голосов
/ 15 октября 2018

У меня есть конечная точка для тестирования с использованием RestAssured.Одна и та же конечная точка работает нормально, открывая ее в браузере / почтальоне.Но, пытаясь протестировать то же самое, используя RestAssured,

, я получаю Operation Timed Out Error.

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

Пример кода ниже:

given().proxy("My_Proxy_URL_HERE",8080).when().get("My_API_URL_Here").then().log().all();

Я получаю ответ как

«Время операции истекло» сКод состояния 503.

Мне нужно ваше предложение, что может быть возможной проблемой, как отладить и т. Д. Любое предложение приветствуется.Заранее спасибо.

1 Ответ

0 голосов
/ 15 октября 2018

Причин такого поведения может быть много:

  • Адрес неверный и, если есть балансировщик нагрузки / прокси-сервер, его можно настроить на ожидание в течение определенного периода времени.и затем ответьте с кодом состояния 503.Обратите внимание, что 503 - это не «тайм-аут запроса», а «служба недоступна».

  • URL-адрес запроса хорош, но в запросе отсутствуют некоторые заголовки, так что балансировщик нагрузки / прокси выигралневозможно перенаправить запрос на требуемый сервер.

Как это проверить?Существуют инструменты, которые могут пригодиться в этой ситуации:

  1. Проверьте журналы доступа балансировщика нагрузки / прокси-сервера и даже вашего сервера, если это возможно, - и просмотрите запрос.

  2. Если это не помогло, попробуйте сравнить запросы, поступающие с уверенностью, с обычным запросом.Вы можете использовать такие инструменты, как, например, Отрыжка , есть и другие, или вы можете даже бросить свои собственные.

Идея проста: запустить "перехватчик" накакой-нибудь порт вашего локального компьютера (скажем, 9999, например)

Настройте перехватчик для пересылки всех запросов на прокси-сервер по вашему выбору (определяется по URL-адресу - My_Proxy_URL_HERE и порт 8080).Теперь будьте уверены, что должны вызвать localhost: 9999, и запрос будет перехвачен этим инструментом.Вы сможете проверить его содержимое - заголовки, тело, метод http - все.Сделайте то же самое для запроса браузера и сравните.

...