Xamarin.ios UI测试,无法运行iOS UI测试-无法确定X的模拟器版本

Xamarin.ios UI测试,无法运行iOS UI测试-无法确定X的模拟器版本,xamarin.ios,xamarin.uitest,Xamarin.ios,Xamarin.uitest,当我想为iOS运行UI测试时,我会收到以下消息: SetUp : System.Exception : Unable to determine simulator version for X 堆栈跟踪: at Xamarin.UITest.iOS.Instruments.GetMajorVersionForSimulator (System.String deviceIdentifier) [0x0008c] in <2a16c16730a54859bda72c6bc1c728f7&

当我想为iOS运行UI测试时,我会收到以下消息:

SetUp : System.Exception : Unable to determine simulator version for X
堆栈跟踪:

  at Xamarin.UITest.iOS.Instruments.GetMajorVersionForSimulator (System.String deviceIdentifier) [0x0008c] in <2a16c16730a54859bda72c6bc1c728f7>:0 
  at Xamarin.UITest.iOS.iOSAppLauncher.LaunchAppLocal (Xamarin.UITest.Configuration.IiOSAppConfiguration appConfiguration, Xamarin.UITest.Shared.Http.HttpClient httpClient, System.Boolean clearAppData) [0x0011a] in <2a16c16730a54859bda72c6bc1c728f7>:0 
  at Xamarin.UITest.iOS.iOSAppLauncher.LaunchApp (Xamarin.UITest.Configuration.IiOSAppConfiguration appConfiguration, Xamarin.UITest.Shared.Http.HttpClient httpClient, Xamarin.UITest.TestCloud.TestCloudiOSAppConfiguration testCloudAppConfiguration, Xamarin.UITest.Shared.Http.HttpClient testCloudWsClient, Xamarin.UITest.Shared.Http.HttpClient xtcServicesClient, System.Boolean testCloudUseDeviceAgent) [0x00068] in <2a16c16730a54859bda72c6bc1c728f7>:0 
  at Xamarin.UITest.iOS.iOSApp..ctor (Xamarin.UITest.Configuration.IiOSAppConfiguration appConfiguration, Xamarin.UITest.Shared.Execution.IExecutor executor) [0x002af] in <2a16c16730a54859bda72c6bc1c728f7>:0 
  at Xamarin.UITest.iOS.iOSApp..ctor (Xamarin.UITest.Configuration.IiOSAppConfiguration appConfiguration) [0x00000] in <2a16c16730a54859bda72c6bc1c728f7>:0 
  at Xamarin.UITest.Configuration.iOSAppConfigurator.StartApp (Xamarin.UITest.Configuration.AppDataMode appDataMode) [0x00017] in <2a16c16730a54859bda72c6bc1c728f7>:0 
  at UniversalApp.UITests.AppInitializer.StartApp (Xamarin.UITest.Platform platform) [0x0002d] in /Users/testing/backend/src/UniversalApp.UITests/AppInitializer.cs:33 
  at UniversalApp.UITests.DummyTests.BeforeEachTest () [0x00001] in /Users/testing/backend/src/UniversalApp.UITests/DummyTests.cs:26 
  at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke(System.Reflection.MonoMethod,object,object[],System.Exception&)
  at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x0003b] in /Users/builder/jenkins/workspace/build-package-osx-mono/2018-08/external/bockbuild/builds/mono-x64/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 
位于Xamarin.UITest.iOS.Instruments.GetMajorVersionForSimulator(System.String deviceIdentifier)[0x0008c]中:0
在Xamarin.UITest.iOS.iOSAppLauncher.LaunchAppLocal(Xamarin.UITest.Configuration.IiOSAppConfiguration-appConfiguration,Xamarin.UITest.Shared.Http.HttpClient-HttpClient,System.Boolean clearAppData)[0x0011a]中:0
在Xamarin.UITest.iOS.iOSAppLauncher.LaunchApp(Xamarin.UITest.Configuration.IiOSAppConfiguration-appConfiguration,Xamarin.UITest.Shared.Http.HttpClient-HttpClient,Xamarin.UITest.TestCloud.testCloudAppConfiguration-testCloudAppConfiguration,Xamarin.UITest.Shared.Http.HttpClient-xtcServicesClient,System.Boolean testCloudUseDeviceAgent)[0x00068]输入:0
在Xamarin.UITest.iOS.iOSApp..ctor(Xamarin.UITest.Configuration.IiOSAppConfiguration-appConfiguration,Xamarin.UITest.Shared.Execution.IExecutor-executor)[0x002af]中:0
在:0中的Xamarin.UITest.iOS.iOSApp..ctor(Xamarin.UITest.Configuration.IiOSAppConfiguration-appConfiguration)[0x00000]处
在Xamarin.UITest.Configuration.iOSAppConfigurator.StartApp(Xamarin.UITest.Configuration.AppDataMode-AppDataMode)[0x00017]中:0
在/Users/testing/backend/src/UniversalApp.UITests.AppInitializer.StartApp(Xamarin.UITest.Platform)[0x0002d]中的/Users/testing/backend/src/UniversalApp.UITests/AppInitializer.cs:33
在/Users/testing/backend/src/UniversalApp.UITests.DummyTests.beforeachtests()[0x00001]中的/Users/testing/backend/src/UniversalApp.UITests/DummyTests.cs:26
在(包装器管理为本机)System.Reflection.MonoMethod.InternalInvoke(System.Reflection.MonoMethod,object,object[],System.Exception&)
在System.Reflection.MonMethod.Invoke(System.Object obj、System.Reflection.BindingFlags invokeAttr、System.Reflection.Binder Binder、System.Object[]参数、System.Globalization.CultureInfo区域性)[0x0003b]在/Users/builder/jenkins/workspace/build包osx mono/2018-08/external/bockbuild/builds/mono-x64/mcs/class/corlib/System.Reflection/MonoMethod.cs:305中
当我在Android上运行sames测试时,一切都像一个魔咒。这发生在我从xcode 10.2降级到10.1的时候,所以可能有什么东西坏了。然而奇怪的是,我可以毫无问题地调试我的iOS应用程序


提前感谢

导致此问题的原因是Xcode 10.2更改了Xamarin.UITest与本地iOS模拟器的连接方式;需要在恢复兼容性之前更新Xamarin.UITest。即使您降级到Xcode 10.1,iOS模拟器似乎保留了Xcode 10.2和Xcode 10.2应用的一些设置因此,根据我在复制问题时的观察,继续阻止测试

支持Xcode 10.2的Xamarin.UITest的最新版本尚未发布,不过我怀疑它将出现在下一版本中。(撰写本文时的最新版本是2.2.7.28-dev)

这在以前的其他Xcode更新中也发生过:

  • “[iOS]Xcode 10.1集成:修复默认模拟器选择”
  • “[iOS]提供对Xcode 10的支持”
  • “[iOS]提供对Xcode 10 beta 6的支持”
  • “[iOS]Xcode 9.4.1支持”
  • “[iOS]支持Xcode 9.3和iOS 11.3”
  • 等等

更新3.0.7版的Xamarin.ui测试,为我解决了这个问题


我还联系了app center支持团队。如果他们有答案,我会在这里发布。Xamarin.UITest 3.0.0.0修复了该问题