【问题标题】:Xamarin UI Tests: Running both iOS & Android tests with one build configXamarin UI 测试:使用一个构建配置运行 iOS 和 Android 测试
【发布时间】:2020-02-01 05:13:46
【问题描述】:

所以,我在 Mac 上,使用 Visual Studio 和 Xamarin UI 测试在真正的 iphone 和真正的 android 设备上运行 ui 测试。

我已将 classic 测试夹具设置为 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);
        }
    }
}

这是我的设备应用配置,我没有使用设备 ID,而是在运行时在我的 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);
            }
        }
    }

这在我在单一平台上运行测试时有效——即,注释掉 IOS 平台夹具并仅运行 Android 测试,反之亦然。但是,如果我有两个平台的文本固定装置,并尝试运行所有测试,我会遇到测试无法找到其中一个设备的问题。发现,比如说,android 很好,那些测试按预期运行,但是所有 ios 测试都失败了。

我怀疑这与我的构建配置有关,因为首选 IDE 设置似乎依赖于构建配置来设置应用程序的目标设备。但是,我想检查一下——是否可以使用“首选 ide”设置在 IOS 和 ANDROID 平台上运行测试?我在我的测试板中设置了测试应用程序,它们似乎都针对真实设备。

【问题讨论】:

    标签: android ios visual-studio-mac xamarin.uitest


    【解决方案1】:

    我想出了我自己的问题,我想我会发布它以防它对其他人有用。

    总之,无论出于何种原因,您都不能在两个平台上都使用.PreferIdeSettings()。 Visual Studio Mac 似乎只知道如何为每个目标设备的每个项目指定一个构建配置。也许如果其他人设置了一个项目,其中不同的应用程序将共享构建配置,则可以解决此问题。事实上,我发现我必须至少指定一个平台的设备 id 才能使测试成功地针对两个平台的目标设备。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-03
      • 1970-01-01
      • 1970-01-01
      • 2020-03-22
      • 2017-02-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多