Visual studio 2008 在回放UI窗口中显示webtest插件的时间
我已经编写了一个VisualStudio2008WebTest插件,需要在回放ui窗口中显示运行所需的时间 我试过:Visual studio 2008 在回放UI窗口中显示webtest插件的时间,visual-studio-2008,webtest,Visual Studio 2008,Webtest,我已经编写了一个VisualStudio2008WebTest插件,需要在回放ui窗口中显示运行所需的时间 我试过: e.WebTest.BeginTransaction("B2BValidate"); // then call my plugin e.WebTest.EndTransaction("B2BValidate"); 这确实会将B2BValidate事务添加到播放窗口,但总时间列显示为0.000秒。我错过了什么 -MattVisual Studio中的事务希望包含一个请求-如果
e.WebTest.BeginTransaction("B2BValidate");
// then call my plugin
e.WebTest.EndTransaction("B2BValidate");
这确实会将B2BValidate事务添加到播放窗口,但总时间列显示为0.000秒。我错过了什么
-MattVisual Studio中的事务希望包含一个请求-如果没有请求,它们就不能直接在代码中内联工作 您必须使用类似于启动和停止计时器的方法,然后使用WebTest的AddCommentResult方法在WebTest结果查看器中显示经过的时间 另一个选项是将webtest置于loadtest中,然后参考性能计数器: %LoadTestPlugin中的时间 %规则中的时间 %WebTest代码中的时间
当然,这只是给出比例,而不是精确的计时数据。有一个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");
}
}
这不管用。如果您尝试它,您将看到在独立web测试或负载测试中,“trx3”报告0.00秒的响应时间和经过的时间。您不能在WebTestRequestPlugin PostRequest事件中结束事务,或者排除最后一个请求的时间。此外,在BeginTransaction/EndTransaction调用中实际上根本没有使用对象“t”。webtest引擎创建了一个全新的TransactionTimer对象。TransactionTimer类似乎不打算直接使用。