WebTestPlugin 类

在运行 Web 性能测试前后,向运行代码提供方法和访问 WebTest。 必须继承此类。

继承层次结构

System.Object
  Microsoft.VisualStudio.TestTools.WebTesting.WebTestPlugin
    Microsoft.VisualStudio.TestTools.WebTesting.WebTestRequestPluginConverter

命名空间:  Microsoft.VisualStudio.TestTools.WebTesting
程序集:  Microsoft.VisualStudio.QualityTools.WebTestFramework(在 Microsoft.VisualStudio.QualityTools.WebTestFramework.dll 中)

语法

声明
Public MustInherit Class WebTestPlugin
public abstract class WebTestPlugin
public ref class WebTestPlugin abstract
[<AbstractClass>]
type WebTestPlugin =  class end
public abstract class WebTestPlugin

WebTestPlugin 类型公开以下成员。

构造函数

  名称 说明
受保护的方法 WebTestPlugin 必须继承此类。

页首

方法

  名称 说明
公共方法 Equals 确定指定的 Object 是否等于当前的 Object。 (继承自 Object。)
受保护的方法 Finalize 允许对象在“垃圾回收”回收之前尝试释放资源并执行其他清理操作。 (继承自 Object。)
公共方法 GetHashCode 用作特定类型的哈希函数。 (继承自 Object。)
公共方法 GetType 获取当前实例的 Type。 (继承自 Object。)
受保护的方法 MemberwiseClone 创建当前 Object 的浅表副本。 (继承自 Object。)
公共方法 PostPage 如果在派生类中重写,则表示将处理与网页完成关联的事件的方法。
公共方法 PostRequest 如果在派生类中重写,则表示将处理与 HTTP 请求完成关联的事件的方法。
公共方法 PostTransaction 当在派生类中重写时,代表将处理与在Web 性能测试中定义的冲突完成关联的事件的方法。
公共方法 PostWebTest 如果在派生类中重写,则表示将处理与 Web 性能测试末尾关联的事件的方法。
公共方法 PrePage 当在派生类中重写时,表示将处理与网页开始相关联的事件的方法。
公共方法 PreRequest 当在派生类中重写时,表示将处理与 HTTP 请求开始相关联的事件的方法。
公共方法 PreRequestDataBinding 如果在派生类中重写,则表示将处理与数据绑定开始关联的事件的方法。
公共方法 PreTransaction 当在派生类中重写时,代表将会处理与在Web 性能测试中定义的冲突开始相关联的事件的方法。
公共方法 PreWebTest 如果在派生类中重写,则表示将处理与 Web 性能测试开始关联的事件的方法。
公共方法 ToString 返回表示当前对象的字符串。 (继承自 Object。)

页首

备注

使用 WebTestPlugin 和使用 WebTest 类的 PreWebTest/PostWebTest 事件在功能上是等效的。 区别在于,编码 Web 性能测试为可使用事件的唯一位置。

对继承者的说明

当从 WebTestPlugin 继承时,必须重写下面的成员:PostWebTestPreWebTest

示例

以下示例显示了 Web 性能测试插件,此插件在运行 Web 性能测试之前将随机数添加到上下文。 通过同一方式,您可重写 PostWebTest,并在 Web 性能测试运行后执行操作。 例如,您可能要将完成 Web 性能测试话费的时间和 Web 性能测试中发出的请求的数量写入日志文件。

using System;
using Microsoft.VisualStudio.TestTools.WebTesting;
using System.Windows.Forms;

namespace WebTestPluginNamespace
{
    public class MyWebTestPlugin : WebTestPlugin
    {
        public static string NewRandomNumberString(int size)
        {
            byte[] buffer = new byte[size];
            // Seed using system time
            Random random = new Random(unchecked((int)DateTime.Now.Ticks));

            random.NextBytes(buffer);
            return BitConverter.ToInt32(buffer, 0).ToString();
        }

        public override void PreWebTest(object sender, PreWebTestEventArgs e)
        {
            e.WebTest.Context["RandNum"] = NewRandomNumberString(4);
        }
        
    }
}

线程安全

此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。

请参见

参考

Microsoft.VisualStudio.TestTools.WebTesting 命名空间

其他资源

如何:创建 Web 性能测试插件