У меня есть три отдельных приложения, в которых я пытаюсь создать автоматизированные тесты пользовательского интерфейса. Все три приложения написаны в формах 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