1

我正在编写一个 UI 测试,它应该是 Android 和 IOS 之间的跨平台。

当我在 Mac 上运行我的 App Initializer 时,“平台”Xamarin 对象始终解析为 android(在调试模式下运行测试时确认),即使我打开了 iOS 模拟器并且插入了没有 Andorid 模拟器或设备的 iOS 设备连接的。

public static IApp StartApp(Platform platform)
    {
        if (platform == Platform.Android)
        {
            return ConfigureApp
                .Android
                .ApkFile("../../Binaries/Android/com.xamarin.samples.taskyandroid.apk")
                .StartApp();
        }

        return ConfigureApp
            .iOS
            .AppBundle("../../Binaries/iOS/TaskyiOS.app")
            .DeviceIdentifier("Device id")
            .StartApp();
    }

我唯一可以启动 iOS 模拟器的时候是我在不评估平台的情况下注释掉 if 条件。

如何让 appinitializer 将 iOS 检测为平台?

谢谢你的想法。

4

1 回答 1

1

确保您正在从Unit Tests(XS) 或Test Explorer(VS) 窗口为所需的操作系统运行测试

  • Xamarin Studio>> View>> Pads>>Unit Tests
  • Visual Studio>> Tests>>Test Explorer

如果您使用按钮,我相信platform将默认为 Android Play / Run,而 UITest 项目被选为Startup Project,或者如果您使用Run All(从 Android 开始,因为它出现在 iOS 之前)

(哇,这张图好大,抱歉) 图片

于 2016-10-26T18:04:30.133 回答