如何为Coded UI Test(Windows Phone 8.1)项目添加function(在C#中)

我在CodedUITest类中有一个TestMethod,它使用HttpClient从本地服务器获取数据,

[TestMethod] public void CodedUITestMethod() { string ServiceURI = "http://localhost:34562/GetTestResult"; HttpClient httpClient = new HttpClient(); HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, ServiceURI); HttpResponseMessage response = httpClient.SendAsync(request).Result; } 

但是,它总是在最后一行抛出exception,如:

 {System.UnauthorizedAccessException: Use of networking APIs requires the ID_CAP_NETWORKING capability to be defined in the application manifest. at MS.Internal.Modern.ClientHttpWebRequestCreator.Create(Uri uri) at System.Net.WebRequest.Create(Uri requestUri, Boolean schemeOnly) at System.Net.WebRequest.Create(Uri requestUri) at System.Net.Http.HttpClientHandler.CreateAndPrepareWebRequest(HttpRequestMessage request) at System.Net.Http.HttpClientHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)} 

基于必需的清单function似乎Coded UI项目无法指定应用程序清单。

有谁知道如何指定ID_CAP_NETWORKINGfunction?

看起来你正试图用UI测试你从服务器得到的响应(如果我错了,请纠正我)。 编码的UI测试不适用于此用途。

在测试方面,您有(更多但通常)两种方法:

  • unit testing

使用unit testing,您的目标是测试与应用程序的实际实现隔离的代码的小部分(类/方法)。 即检查您的Get方法是否在不同情况下返回正确的HTTP响应代码。

  • UI测试

通常你作为function/验收测试的一部分。 您可以确保应用程序在实际实施过程中的行为正常。 即检查按钮是否正确设置了文本框中的值。

你想要做的事情(再次,如果我错了,请纠正我)将两者结合起来进行实际的实现并测试web服务的某些方法。 Coded UI框架要求运行中的应用程序运行,如果您只使用Get方法检查是否收回了正确的数据,或者采用正确的格式,我建议您尝试进行unit testing。

您可以在此处详细了解unit testing。