Xamarin.UITests ApkFile 或 InstalledApp 尚未在 VS 中配置

Posted

技术标签:

【中文标题】Xamarin.UITests ApkFile 或 InstalledApp 尚未在 VS 中配置【英文标题】:Xamarin.UITests ApkFile or InstalledApp has not been configured in VS 【发布时间】:2017-03-17 11:56:48 【问题描述】:

我在 Visual Studio 中启动了一个新的 Xamarin Cross Platform App 项目。

这只是您在 VS Studio 中获得的模板。我已经在 android 模拟器和真正的 Android 设备上测试构建这个应用程序并且工作正常。启动欢迎使用 Xamarin 表单!

主要目的是在当前解决方案中将 Xamarin 测试云与 Xamarmin.UITests 一起使用。

所以我在解决方案中添加了一个新项目(UI 测试应用程序(跨平台))。这也有用于测试屏幕启动的模板。我已经添加了对 .ios 和 .Android 项目的引用。

当我运行选定的测试时。我收到以下错误 ApkFile or InstalledApp has not been configured

if (platform == Platform.Android)

     return ConfigureApp
     .Android
     .StartApp();

这应该打包设备上的 .Droid 项目启动并运行测试。我还确保未在 .Droid 项目的 Android 选项中选择使用共享运行时间。

如果我在外部引用 APK,这可行,但这不是我想要的。这应该在前面的内容中使用当前项目并运行测试。

 if (platform == Platform.Android)

    return ConfigureApp
    .Android
    .ApkFile(@"C:\Users\frasera\Documents\Visual Studio 2017\Projects\App6\App6\App6.Android\bin\Debug\App6.Android.apk")
                .StartApp();

【问题讨论】:

您在运行测试之前构建了所有项目吗? 【参考方案1】:

看起来在某些情况下可能需要这样做。见:https://developer.xamarin.com/guides/testcloud/uitest/working-with/running-tests-in-ide/#Running_Android_6.0_Applications_from_the_IDE

当 IDE 首次安装 Android 6.0 应用时,它不会授予应用所需的所有权限。解决方法是使用 UITest 安装和启动应用程序:

ConfigureApp.Android.Debug().ApkFile(apkpath).StartApp ()

请使用 ApkFile(),不要使用 PreferIdeSettings()。这将强制安装 UITest 而不是 IDE。

【讨论】:

以上是关于Xamarin.UITests ApkFile 或 InstalledApp 尚未在 VS 中配置的主要内容,如果未能解决你的问题,请参考以下文章

Xamarin.UITests Android 设备未检测到或不工作

Xamarin UITests:Calabash 未链接

Xamarin.UITests - 在真实设备上进行测试 - iOS - 应用权限弹出窗口问题

如何在 Xamarin UITests 获取列表视图项的计数

如何制作.apk文件[重复]

下载更新文件后,调用安装器自动安装apk文件