我的自定义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属性的值标识了每个请求

c# - 使用VS Team Services时将忽略WebTestRequest.ReportingName-LMLPHP

但是,如果我在Visual Studio Online服务上运行负载测试,则请求将按URL分组,而不是按ReportingName上的值进行分组:

c# - 使用VS Team Services时将忽略WebTestRequest.ReportingName-LMLPHP

由于我的测试用例中的每个请求的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/

10-10 06:03