Xamarin.Form UITest - 无法联系DeviceAgent

时间:2018-03-27 07:38:42

标签: xamarin xamarin.forms xamarin.uitest

我试图在本地运行UITest以获取用Xamarin.Forms编写的iOS应用程序,但我不断收到此错误:

SetUp : Xamarin.UITest.XDB.Exceptions.DeviceAgentException : Unable to contact DeviceAgent
  ----> System.AggregateException : One or more errors occurred.
  ----> Xamarin.UITest.XDB.Exceptions.DeviceAgentException : Unable to contact DeviceAgent on 127.0.0.1
  ----> System.Net.Http.HttpRequestException : An error occurred while sending the request
  ----> System.Net.WebException : Error: ConnectFailure (Connection refused)
  ----> System.Net.Sockets.SocketException : Connection refused

这种情况发生在我测试的所有模拟器上(并且在真正的设备上它从未起作用)。

iOS应用程序本身和测试代码都在同一解决方案下,因此应用程序项目作为测试项目的一部分包含在内。 我确实设法在过去运行,但它似乎停止工作。我不知道从什么时候开始,但我认为自从我将解决方案文件复制到其他位置以来。 但是,即使在新的位置,我也设法调试了几次(因此我不相信解决方案的位置是问题)。 有一次它通过改变Xamarin.iOS项目的调试端口来工作(但这个技巧似乎不再起作用),其他时间主要是" voodoo" ("开始调试测试>>打开应用>>关闭它>>打开设备上的DeviceAgent>>关闭它>>等待一分钟"似乎工作得最好,但几乎没有。)

DeviceAgent安装在所有模拟器上,但只有在测试失败后才会启动(然后启动并不执行任何操作)。

iOS应用程序使用的是Xamarin.TestCloud.Agent版本0.21.4,测试项目使用的是Xamarin.UITest版本2.2.3。

我已经尝试在这里寻找答案,但只找到this,这似乎没什么帮助。

可能是什么问题?

1 个答案:

答案 0 :(得分:0)

我发现在调试我的 Xamarin.TestUI 测试时发生这种情况时,我必须手动转到模拟器应用程序并在再次调试测试之前从模拟器菜单中选择“设备->擦除所有内容和设置”。

在我的 UI 测试开始时在代码中重置模拟器似乎没有解决这个问题调试时。它必须手动重置。