我在visual studio开始了一个新的Xamarin Cross Platform App项目。
这只是你在VS studio中获得的模板。我已经在Android模拟器和真正的Android设备上测试构建此应用程序,并且工作正常。推出欢迎来到Xamarin表格!
主要目的是在当前解决方案中使用Xamarin Test Cloud和Xamarmin.UITests。
所以我在解决方案中添加了一个新项目(UI Test App(跨平台))。这也有用于测试屏幕启动的模板。我已经添加了对.IOS和.Android项目的引用。
当我运行选定的测试时。我收到以下错误ApkFile或InstalledApp尚未配置
if (platform == Platform.Android)
{
return ConfigureApp
.Android
.StartApp();
}
这应该在设备上打包.Droid项目并运行测试。我还确保在.Droid项目的Android选项中未选择USE SHARED RUN TIME。
如果我在外部引用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();
}
答案 0 :(得分: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。