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 的淺層複本 (Shallow Copy)。 (繼承自 Object)。 | |
PostPage | 在衍生類別中覆寫時,表示將會處理與完成網頁相關聯之事件的方法。 | |
PostRequest | 在衍生類別中覆寫時,表示將會處理與完成 HTTP 要求相關聯之事件的方法。 | |
PostTransaction | 在衍生類別中覆寫時,表示將會處理事件的方法,而這個事件與完成 Web 效能測試中定義的交易有關聯。 | |
PostWebTest | 在衍生類別中覆寫時,表示將會處理與結束 Web 效能測試相關聯之事件的方法。 | |
PrePage | 在衍生類別中覆寫時,表示將會處理與啟動 Web 網頁相關聯之事件的方法。 | |
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);
}
}
}
執行緒安全
這個型別的任何 Public static (在 Visual Basic 中為 Shared) 成員都具備執行緒安全。不保證任何執行個體成員是安全執行緒。
請參閱
參考
Microsoft.VisualStudio.TestTools.WebTesting 命名空間