Как отправить HTTP-запросы с устройства на сервер, который работает в тестовом прогоне Xamarin Test Cloud

Я использую Xamarin.UITest для автоматизированных тестов приложений для Android и iOS. Это приложение делает некоторые HTTP-запросы к веб-серверу.
В целях тестирования и для того, чтобы легко ответить необходимыми данными для тестового примера, я запускаю временный HTTP-сервер (я использую HttpListener) в тесте и настраиваю приложение, чтобы оно выполняло запросы к этому временному серверу.

Когда я запускаю локальные тесты на своих устройствах и симуляторах, все работает.
Когда я запускаю тесты в тестовом облаке Xamarin, я не могу подключиться к HTTP-серверу. URL в этом случае будет http://executionhost11.prod/:/...

Возможен ли этот вариант использования в тестовом облаке Xamarin?
Должен ли я использовать некоторые конкретные порты (я пробовал 8081 и 7103)?

2 ответа

Решение

Служба поддержки Xamarin сообщила мне, что мой вариант использования не поддерживается Xamarin Test Cloud.

Между устройствами и исполнителем установлены межсетевые экраны, которые предотвращают соединение устройства с тестовым исполнителем.

Рекомендуемые модели:

  • раскрутить размещенный на облаке http-сервер
  • запустить http-сервер на устройстве

Требования для подключения к Test Cloud описаны в руководстве " Отправка тестов в Xamarin Test Cloud". В частности это говорит:

Требуется доступ в Интернет к веб-серверам Test Cloud. Межсетевые экраны должны быть настроены на пропуск трафика на серверы Test Cloud по следующим IP-адресам:

  • 195.249.159.238
  • 195.249.159.239

Для серверов Test Cloud требуются порты 80 и 443.

Приложения Android должны запрашивать разрешение ИНТЕРНЕТ в AndroidManifest.XML.

Информация здесь верна, загружаете ли вы тесты (это основной сценарий, описанный в руководстве); и остается неизменным при связи с сервером, так как вашему серверу потребуется доступ к этим IP-адресам.

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