我的自定义WebTest
中具有以下方法:
private WebTestRequest CreateRequest(CommandInput command)
{
WebTestRequest request = new WebTestRequest(URL);
request.ReportingName = command.CommandName;
request.Method = command.HttpMethod;
// ...
return request;
}
在我的
GetRequestEnumerator
上,我这样调用方法:public override IEnumerable<WebTestRequest> GetRequestEnumerator()
{
return new CommandInput[]
{
new CommandInput() { CommandName = "configuration", HttpMethod = "POST" },
new CommandInput() { CommandName = "login", HttpMethod = "POST" },
new CommandInput() { CommandName = "quick_view", HttpMethod = "GET" },
new CommandInput() { CommandName = "esign_document", HttpMethod = "POST" }
}.Select(CreateRequest).GetEnumerator();
}
注意:原始代码比这复杂得多,但是无关紧要的。
在我的本地计算机上运行负载测试时,这工作正常:
您可以看到
ReportingName
属性的值标识了每个请求但是,如果我在Visual Studio Online服务上运行负载测试,则请求将按URL分组,而不是按
ReportingName
上的值进行分组:由于我的测试用例中的每个请求的URL(
command {GET}
)都是相同的,因此请求被分为command {POST}
和https://test.xxxx.com/api/command
,但其中一些请求的HTTP方法不同。我在Internet上搜索了几个小时,却只设法在MSDN上找到了有关此开放线程的信息:
Reporting Name does not show up in Page Results of Online Load Test
怎么了?
最佳答案
此问题将于10/16修复。
关于c# - 使用VS Team Services时将忽略WebTestRequest.ReportingName,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39379175/