【问题标题】:AppInitializer always launches android for cross platform testsAppInitializer 总是启动 android 进行跨平台测试
【发布时间】:2016-06-09 16:53:15
【问题描述】:

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

感谢您的意见。

【问题讨论】:

  • 我也遇到了同样的问题,你解决了吗?
  • 为了以后的用户,如果下面的回答解决了您的问题,请将其标记为解决方案。谢谢。
  • @JamesMundy 你解决了这个问题吗?

标签: c# android ios xamarin.uitest


【解决方案1】:

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

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

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

(哇,这张图太大了,抱歉)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-17
    相关资源
    最近更新 更多