Итак, я нахожусь на Ма c, использую тесты пользовательского интерфейса Visual Studio и Xamarin для запуска тестов пользовательского интерфейса на реальном iphone и реальном android устройстве.
У меня есть classi c настройка тестового прибора с Android и IOS в качестве различных вариантов для испытаний.
[TestFixture(Platform.Android)]
[TestFixture(Platform.iOS)]
public class Tests
{
IApp app;
Platform platform;
public Tests(Platform platform)
{
this.platform = platform;
}
[SetUp]
public void BeforeEachTest()
{
app = AppInitializer.StartApp(platform);
}
}
}
Это мой Конфигурация приложения устройства, где вместо использования идентификаторов устройств я указываю устройства в своей IDE во время выполнения:
public static void StartApp()
{
if (Platform == Platform.Android)
{
_app = ConfigureApp
.Android
.InstalledApp(appBundleName)
.EnableLocalScreenshots()
.PreferIdeSettings()
.StartApp(AppDataMode.Clear);
}
if (Platform == Platform.iOS)
{
_app = ConfigureApp
.iOS
.InstalledApp(appBundleName)
.PreferIdeSettings()
.EnableLocalScreenshots()
.StartApp(AppDataMode.Clear);
}
}
}
Это работает, когда я запускаю тесты на одной платформе - ie, комментарий выключите IOS платформенное устройство и проведите только тесты Android, или наоборот. Но если у меня есть текстовые данные для обеих платформ, и я пытаюсь выполнить все тесты, я сталкиваюсь с проблемой, когда тесты не могут найти одно из устройств. Скажем, что, скажем, android просто отлично, и эти тесты выполняются, как и ожидалось, но все ios тесты не пройдены.
Я подозреваю, что это связано с моей конфигурацией сборки, так как предпочтение настроек IDE зависит от Конфигурация сборки для установки целевого устройства для приложения. Тем не менее, я хотел бы проверить - можно ли запускать тесты на платформах IOS и ANDROID, используя настройки «предпочтения»? У меня на тестовой панели установлены тестовые приложения, и оба, похоже, нацелены на реальные устройства.