I have the following method in my custom WebTest
:
private WebTestRequest CreateRequest(CommandInput command)
{
WebTestRequest request = new WebTestRequest(URL);
request.ReportingName = command.CommandName;
request.Method = command.HttpMethod;
// ...
return request;
}
On my GetRequestEnumerator
I am calling the method like this:
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();
}
Note: The original code is more complicated than this, but it is irrelevant.
This is working fine when running the load test on my local machine:
You can see that each request is being identified by the value of ReportingName
property
However, If I run the load test on Visual Studio Online services, requests are grouped by URL instead of the value on ReportingName
:
Requests are being grouped as command {GET}
and command {POST}
because the URL is the same for every request on my test case (https://test.xxxx.com/api/command
), only differing by HTTP method on some of them.
I searched for hours on the Internet and only managed to find this open thread about it on MSDN:
Reporting Name does not show up in Page Results of Online Load Test
What is happening?
This issue will be fixed by 10/16.
Posted by Shiva [MSFT] on 9/28/2016 at 8:59 AM
Thanks for reporting this issue. We have fixed the issue and would deploy it by 10/16.