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

时间:2015-05-13 09:43:44

标签: c# windows-phone-8 windows-phone-8.1 coded-ui-tests

我在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;
}

但是,它总是在最后一行抛出异常,例如:

{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)}

基于Required Manifest Capabilities似乎Coded UI项目无法指定应用清单。

有没有人知道如何指定ID_CAP_NETWORKING功能?

1 个答案:

答案 0 :(得分:1)

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

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

  • 单元测试

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

  • UI测试

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

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

您可以阅读有关unit testing here.

的更多信息