如何为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。