Xamarin.UITest Невозможно связаться с тестовым бэкендом, запущенным в приложении - PullRequest
0 голосов
/ 13 февраля 2019

Я пытаюсь протестировать свое приложение Xamarin.Forms с помощью Xamarin.UITest.Android работает нормально, но у части iOS есть проблемы.При выполнении моего первого теста, чтобы попасть в REPL, я получаю следующую ошибку:

SetUp : System.Exception : Unable to contact test backend running in app. A common cause is that the app is not properly linked with Calabash. Please verify that it includes the Calabash component.

Странно то, что при загрузке приложения в Центр приложений Microsoft он запускает тест.Он просто зависает, потому что не может найти мои панели инструментов.Я хотел проверить действительный запрос с помощью REPL, выполнив тестирование iOS на моем Mac, в то время как я обычно работаю над Visual Studio для Windows.

  • Мой проект .iOS включает в себя Xamarin.TestCloud.Agent
  • В AppDelegate.cs у меня есть Xamarin.Calabash.Start () непосредственно после global :: Xamarin.Forms.Forms.Init ().
  • У меня есть NUnit 2.6.4 и NUnitTestAdapter 2.1.1 в проекте UITest
  • Я использую свою конфигурацию Debug / IPhoneSimulator

Я компилирую.app файл из Visual Studio в Windows, подключенный к Mac и запустить тест iOS на Mac.

Это мой текущий код для AppInitializer:

return ConfigureApp.iOS.AppBundle(sPathToiOS).PreferIdeSettings().StartApp();

Иногда я также получаю другую ошибку:

SetUp : Xamarin.UITest.XDB.Exceptions.DeviceAgentException : Unable to contact DeviceAgent
  ----> System.AggregateException : One or more errors occurred.
  ----> Xamarin.UITest.XDB.Exceptions.DeviceAgentException : Unable to contact DeviceAgent on 127.0.0.1
  ----> System.Net.Http.HttpRequestException : An error occurred while sending the request
  ----> System.Net.WebException : Error: ConnectFailure (Connection refused)
  ----> System.Net.Sockets.SocketException : Connection refused

Это, кажется, происходит, когда симуляторне запускается при запуске теста, и запуск симулятора занимает много времени.

1 Ответ

0 голосов
/ 18 февраля 2019

Так что, если у кого-то есть подобная проблема, как у меня, и возникает вопрос: мое решение - подключить физическое устройство к Mac и запустить на нем мой UI-Test.Имейте в виду, что вы должны активировать UIAutomation в настройках разработчика на устройстве.Теперь я могу выполнять свои тесты без проблем.

...