Xamarin UI Test - не будет запускать тесты из Visual Studio для Mac - PullRequest
0 голосов
/ 29 октября 2019

У меня есть три отдельных приложения, в которых я пытаюсь создать автоматизированные тесты пользовательского интерфейса. Все три приложения написаны в формах Xamarin, все три из этих приложений работают в тестовом облаке AppCenter, и два из этих приложений будут выполняться на устройствах и симуляторах локально.

Однако одно из этих приложений не будет запускать тесты локально, что делает его попыткой написать тесты вокруг него. Это верно как для iOS, так и для Android, как на устройстве, так и на симуляторе / эмуляторе.

Во всех трех приложениях у меня есть интерфейс, который оборачивает экземпляр IApp, который передается в реализацию для iOSи реализация для Android в зависимости от платформы, на которой выполняются тесты.

Чтобы настроить экземпляр IApp, я делаю следующее (это также верно для всех трех приложений):

      switch (platform)
      {
        case Platform.Android:
          _app = ConfigureApp
            .Android
            .EnableLocalScreenshots()
            ?.StartApp();
          break;
        case Platform.iOS:
          _app = ConfigureApp
            .iOS
            .EnableLocalScreenshots()
            ?.StartApp();
          break;
        default:
          throw new ArgumentOutOfRangeException(nameof(platform), platform, null);
      }

Однако в одном из этих приложений попытки запустить Тесты пользовательского интерфейса на симуляторе iOS ВСЕГДА терпят неудачу с OneTimeSetUp: System.Exception : Must have either installed app or app bundle., а любая попытка запустить Тесты пользовательского интерфейса на эмуляторе Android ВСЕГДА терпит неудачу с OneTimeSetUp: System.Exception : ApkFile or InstalledApp has not been configured.

Я попытался передать AppBundle для запуска на симуляторе / эмуляторе и указать идентификатор приложения для запуска на устройстве. Через несколько дней я довольно сильно озадачен.

Зависимости от сторонних разработчиков следующие (это справедливо для всех трех приложений):

NUnit 3.12.0
NUnitTestAdapter 2.2.0
Xamarin.UITest 3.0.3 (or 3.0.4-dev4 if I want to run against iOS 13)

Насколько я могу судить, все триприложения имеют идентичные настройки с точки зрения тестов пользовательского интерфейса, но одно не работает локально. Какие еще вещи я должен искать?

Visual Studio for Mac 8.3.5 (build 13)
xCode 11.1
Mono 6.4.0.208
Xamarin Android 10.0.3.0
Xamarin iOS 13.4.0.2
Mac OSX 10.14.6

1 Ответ

0 голосов
/ 31 октября 2019

Таким образом, проблема здесь заключалась в том, что UI Test вообще не ссылался на проекты iOS и Android. Чтобы немного запутать ситуацию, в VS для Mac я не смог добавить ссылки на проекты, потому что у них были несовместимые целевые платформы. Только когда я вручную изменил файл csproj, чтобы включить эти ссылки на проект, эта проблема была решена.

Спасибо @jgoldberger за идею!

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