Отображение времени для плагина веб-теста в окне воспроизведения - PullRequest
1 голос
/ 12 июля 2010

Я написал плагин для Visual Studio (2008) Webtest, и мне нужно отобразить время, необходимое для запуска, в окне пользовательского интерфейса воспроизведения.

Я пробовал:

e.WebTest.BeginTransaction("B2BValidate");

// then call my plugin

e.WebTest.EndTransaction("B2BValidate");

Это действительно добавляет транзакцию «B2BValidate» в окно воспроизведения, но столбец «Общее время» отображается как 0,000 сек.Чего мне не хватает?

-Matt

Ответы [ 2 ]

1 голос
/ 01 июня 2011

Транзакции в Visual Studio предполагают, что они содержат запрос - они просто не работают непосредственно в коде, подобном этому, без запроса между ними.

Вам придется использовать что-то вроде http://msdn.microsoft.com/en-us/library/system.diagnostics.stopwatch.aspx для запуска и остановки таймера, а затем с помощью метода AddCommentToResult () веб-теста, чтобы показать истекшее время в средстве просмотра результатов веб-теста.

Другой вариант - поместить ваш веб-тест в нагрузочный тест, а затем обратиться ксчетчики производительности:

  • % времени в LoadTestPlugin
  • % времени в правилах
  • % времени в коде WebTest

хотя, конечно, этодает только пропорции, а не точные временные данные.

0 голосов
/ 08 сентября 2011

Существует класс TransactionTimer, который необходимо создать и определить область запроса для таймера.

       public class DynamicTransactionTimer : WebTestRequestPlugin
 {
 public override void PreRequest(object sender, PreRequestEventArgs e)
 {
     TransactionTimer t = new TransactionTimer();
     t.Name = "trx3";
     t.Items.Add(e.Request);
     e.WebTest.BeginTransaction("trx3"); 
 }

     public override void PostRequest(object sender, PostRequestEventArgs e)
     {
         e.WebTest.EndTransaction("trx3");
     }
    }
...