Xamarin.ios Xamarin.UITest System.Xml.XmlException

Xamarin.ios Xamarin.UITest System.Xml.XmlException,xamarin.ios,xamarin.forms,xamarin.uitest,Xamarin.ios,Xamarin.forms,Xamarin.uitest,我正在为我的Xamarin.Forms应用程序创建一个UI测试。当我尝试启动iOS项目的第一个测试时,我得到了一个System.Xml.xmleexception(详细信息如下)。这个基本的测试应该是有效的,对吗 更新:如果我从模拟器卸载应用程序,测试将第一次运行。在此之后,我将继续获得以下所有运行的异常。 我正在使用Xamarin Studio(6.1.3 build 19)和 Xamarin.UITest软件包(2.0.5) 命名空间UITest { [TestFixture(Platfor

我正在为我的Xamarin.Forms应用程序创建一个UI测试。当我尝试启动iOS项目的第一个测试时,我得到了一个
System.Xml.xmleexception
(详细信息如下)。这个基本的测试应该是有效的,对吗

更新:如果我从模拟器卸载应用程序,测试将第一次运行。在此之后,我将继续获得以下所有运行的异常。

我正在使用Xamarin Studio(6.1.3 build 19)和 Xamarin.UITest软件包(2.0.5)

命名空间UITest
{
[TestFixture(Platform.Android)]
[TestFixture(Platform.iOS)]
公开课考试
{
IApp应用程序;
平台;
公共测试(平台)
{
这个平台=平台;
}
[设置]
每次测试前的公共无效()
{
app=AppInitializer.StartApp(平台);
}
[测试]
公共无效应用程序()
{
试一试{
app.WaitForElement(“等待伪元素”,“超时”,新的时间跨度(0,0,20));
}捕获(TimeoutException例外){
int i=5;
}
应用程序截图(“欢迎屏幕”);
应用程序点击(“测试按钮”);
应用程序截图(“新测试屏幕”);
}
}
公共类应用初始值设定项
{
公共静态IApp STARTAP(平台)
{
if(platform==platform.Android){
返回配置应用程序
安卓
.StartApp();
}
返回配置应用程序
.iOS
.Debug()
.EnableLocalScreenshots()
.StartApp();
}
}
}
例外情况详情:

SetUp : System.Xml.XmlException : '', hexadecimal value 0x01, is an invalid character. Line 11, position 11.
    Stack trace:
      at Xamarin.UITest.iOS.iOSAppLauncher.LaunchAppLocal (Xamarin.UITest.Configuration.IiOSAppConfiguration appConfiguration, Xamarin.UITest.Shared.Http.HttpClient httpClient, System.Boolean clearAppData) [0x0020a] in <e747267e258a4a668973c7ca7e9014a8>: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) [0x0007a] in <e747267e258a4a668973c7ca7e9014a8>:0 
      at Xamarin.UITest.iOS.iOSApp..ctor (Xamarin.UITest.Configuration.IiOSAppConfiguration appConfiguration) [0x00302] in <e747267e258a4a668973c7ca7e9014a8>:0 
      at Xamarin.UITest.Configuration.iOSAppConfigurator.StartApp (Xamarin.UITest.Configuration.AppDataMode appDataMode) [0x00017] in <e747267e258a4a668973c7ca7e9014a8>:0 
      at UITest.AppInitializer.StartApp (Xamarin.UITest.Platform platform) [0x0001f] in /Users/samg/projects/myapp-mobile/myapp-mobile-2/UITest/AppInitializer.cs:38 
      at UITest.Tests.BeforeEachTest () [0x00008] in /Users/samg/projects/myapp-mobile/myapp-mobile-2/UITest/Tests.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) [0x00038] in /private/tmp/source-mono-4.6.0/bockbuild-mono-4.6.0-branch/profiles/mono-mac-xamarin/build-root/mono-x86/mcs/class/corlib/System.Reflection/MonoMethod.cs:305 
SetUp:System.Xml.XmlException:“”,十六进制值0x01,是无效字符。第11行,位置11。
堆栈跟踪:
在Xamarin.UITest.iOS.iOSAppLauncher.LaunchAppLocal(Xamarin.UITest.Configuration.IiOSAppConfiguration-appConfiguration,Xamarin.UITest.Shared.Http.HttpClient-HttpClient,System.Boolean clearAppData)[0x0020a]中: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)[0x0007a]输入:0
在:0中的Xamarin.UITest.iOS.iOSApp..ctor(Xamarin.UITest.Configuration.IiOSAppConfiguration-appConfiguration)[0x00302]处
在Xamarin.UITest.Configuration.iOSAppConfigurator.StartApp(Xamarin.UITest.Configuration.AppDataMode-AppDataMode)[0x00017]中:0
位于/Users/samg/projects/myapp-mobile/myapp-mobile-2/UITest/AppInitializer.38中的UITest.AppInitializer.StartApp(Xamarin.UITest.Platform)[0x0001f]
在/Users/samg/projects/myapp-mobile/myapp-mobile-2/UITest/Tests.cs:26中的UITest.Tests.beforeachtest()[0x00008]
at(包装器管理为本机)System.Reflection.monmethod:InternalInvoke(System.Reflection.monmethod,object,object[],System.Exception&)
在System.Reflection.MonMethod.Invoke(System.Object obj、System.Reflection.BindingFlags invokeAttr、System.Reflection.Binder Binder、System.Object[]参数、System.Globalization.CultureInfo区域性)[0x00038]in/private/tmp/source-mono-4.6.0/bockbuild-mono-4.6.0-branch/profiles/mono-mac-xamarin/build-root/mono-x86/mcs/class/corlib/System.Reflection/MonoMethod.cs:305

我知道这是一个老问题,但它可能会帮助其他人。我遇到了上述相同的问题,并通过重置iOS模拟器解决了它

实现这一目标的一种方法是采取以下步骤:

  • 确保iPhone/iPad模拟器正在运行
  • 转到顶部菜单并选择“iOS模拟器”->“重置内容和设置…”

显示用
[设置]标记的方法中的内容
tag,因为错误是从那开始的,所以我认为里面出了问题。添加了测试类,包括安装方法。当你说你在后续运行中遇到异常时,你的意思是没有任何代码更改;例如,只是停止运行,然后再次运行?还是你正在对UITest项目和/或Ap进行更改p本身在运行和失败之间?没有代码更改。只是第二次运行相同的测试+应用程序代码会引发异常。如果删除try-catch块,您是否仍然看到问题?如果app.WaitForElement没有找到结果,它应该直接通过超时异常使测试失败;因此我不确定您的自定义代码是什么ling可能会改变。(注意,您的方法仍然可能有效/这是一个bug,但我要求进行比较。)我同意,有时iOS模拟器会达到“疯狂”状态,并表现出OP定义的行为。只需重置模拟器“重置”它会一直保持清洁状态,直到它表现出相同的行为。当这种情况发生时,我们会再次重置它!