作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我在 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 项目指定应用程序 list 。
有谁知道如何指定 ID_CAP_NETWORKING 功能?
最佳答案
您似乎正在尝试对从服务器获得的响应进行 UI 测试(如果我错了请纠正我)。编码的 UI 测试不适用于此用途。
当涉及到测试时,您有(更多但通常)两种方法:
通过单元测试,您的目标是测试与应用程序的实际实现隔离的一小部分代码(类/方法)。 IE。检查您的 Get 方法在不同情况下是否返回正确的 HTTP 响应代码。
通常是您在功能/验收测试中所做的事情。您确保应用程序在实际实现过程中表现出应有的行为。 IE。检查按钮是否在文本框中正确设置了值。
您正在尝试做的(同样,如果我错了请纠正我)是将两者结合起来进行真实世界的实现并测试您的网络服务的某些方法。如果您仅使用 Get 方法来检查是否返回正确的数据或以正确的格式返回,编码的 UI 框架期望被测试的应用程序运行,我建议您尝试单元测试。
您可以阅读更多关于 unit testing here. 的信息
关于c# - 如何向编码的 UI 测试 (Windows Phone 8.1) 项目添加功能(在 C# 中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30211128/
我是一名优秀的程序员,十分优秀!