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。) | |
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 继承时,必须重写下面的成员:PostWebTest 和 PreWebTest。
示例
以下示例显示了 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 命名空间