AppInitializer总是为跨平台测试启动android

时间:2016-06-09 16:53:15

标签: c# android ios xamarin.uitest

我正在编写一个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检测为平台?

感谢您的想法。

1 个答案:

答案 0 :(得分:1)

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

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

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

(哇,那个图像很大,对不起) image