Mam następujące metody w moim zwyczaju WebTest
:WebTestRequest.ReportingName jest ignorowany przy użyciu VS Team Services
private WebTestRequest CreateRequest(CommandInput command)
{
WebTestRequest request = new WebTestRequest(URL);
request.ReportingName = command.CommandName;
request.Method = command.HttpMethod;
// ...
return request;
}
na moim GetRequestEnumerator
Wołam metodę tak:
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 : Oryginalny kod jest bardziej skomplikowany, ale nie ma znaczenia.
ta działa poprawnie, gdy uruchomiony test obciążenia na moim komputerze lokalnym:
Widać, że każdy wniosek jest identyfikowany przez wartość ReportingName
własności
Jednakże jeśli uruchom test obciążenia w usługach Visual Studio Online, żądania są grupowane według adresu URL zamiast wartości na ReportingName
:
Żądania są zgrupowane jako command {GET}
i command {POST}
, ponieważ adres URL jest taki sam dla każdego żądania w moim przypadku testowym (https://test.xxxx.com/api/command
), różniąc się tylko metodą HTTP na niektórych z nich.
Szukałem przez wiele godzin w internecie i tylko udało się znaleźć ten otwarty wątek o tym na MSDN:
Reporting Name does not show up in Page Results of Online Load Test
Co się dzieje?
mogę uzyskać takie samo zachowanie jak ty i mają przedstawić opinię dotyczącą tego problemu na MS connect: https://connect.microsoft.com/VisualStudio/feedback/details/3102026 –
@ Eddie-MSFT Miło słyszeć to nie jest moje. Dziękuję za przesłanie. –