HOW TO:建立 Web 效能測試外掛程式
Web 效能測試外掛程式可以讓您在 Web 效能測試的主要宣告式陳述式之外找出及重複使用程式碼。 自訂的 Web 效能測試外掛程式則能讓您在執行 Web 效能測試時呼叫某些程式碼。 在每個測試反覆項目中,Web 效能測試外掛程式都會執行一次。 此外,如果您覆寫測試外掛程式中的 PreRequest 或 PostRequest 方法,這些要求外掛程式將會分別在每項要求之前或之後執行。
您可以建立自訂的 Web 效能測試外掛程式,方法是從 WebTestPlugin 基底類別中衍生您自己的類別。
自訂的 Web 效能測試外掛程式可以搭配您所錄製的 Web 效能測試使用,使您能夠以最少量的程式碼,達成對 Web 測試的更高層級控制。 但是,自訂的 Web 效能測試外掛程式也可以與 Web 效能測試程式碼搭配使用。 如需詳細資訊,請參閱HOW TO:建立 Web 效能測試程式碼。
注意事項 |
---|
您還可以建立負載測試外掛程式,如需詳細資訊,請參閱HOW TO:建立負載測試外掛程式。 |
需求
- Visual Studio Ultimate
若要建立自訂的 Web 效能測試外掛程式
開啟包含Web效能測試的Web效能和負載測試專案
如需如何建立 Web 效能測試和負載測試的詳細資訊,請參閱 HOW TO:建立和設定自動化測試的測試專案專案。
在方案管理員中,在方案上按右鍵並選加入然後再選新專案。
[加入新的專案] 對話方塊隨即出現。
在 [已安裝的範本] 底下,選取 [Visual C#]。
在範本清單中,選取 [類別庫]。
在 [名稱] 文字方塊中,輸入類別的名稱。
選擇 [確定]。
新的類別庫專案會加入至 [方案總管],而且新的類別會出現在 [程式碼編輯器] 中。
在 [方案總管] 中,以滑鼠右鍵按一下新類別庫中的 [參考] 資料夾,然後選取 [加入參考]。
接著會顯示 [加入參考] 對話方塊。
按一下 [.NET] 索引標籤並向下捲動,然後選取 [Microsoft.VisualStudio.QualityTools.WebTestFramework]。
選擇 [確定]。
[Microsoft.VisualStudio.QualityTools.WebTestFramework] 的參考就會加入至 [方案總管] 中的 [參考] 資料夾。
在 [方案總管] 中,以滑鼠右鍵按一下測試專案的頂端節點,此測試專案包含要加入 Web 效能測試外掛程式的負載測試,然後選取 [加入參考]。
[加入參考] 對話方塊隨即顯示。
選擇Projects標籤然後選類別資料庫專案。
選擇 [確定]。
在 [程式碼編輯器] 中,撰寫外掛程式的程式碼。 首先,建立衍生自 WebTestPlugin 的新公用類別。
在 PreWebTest 和 PostWebTest 這兩個事件處理常式的其中一個或同時在兩個內實作程式碼。 如需範例實作,請參閱下列的<範例>一節。
程式碼撰寫完成之後,請建置新專案。
開啟 Web 效能測試。
若要加入 Web 效能測試外掛程式,請按一下工具列上的 [加入 Web 測試外掛程式]。
[加入 Web 測試外掛程式] 對話方塊隨即出現。
在 [選取外掛程式] 底下,選取您的 Web 效能測試外掛程式類別。
在 [所選外掛程式的屬性] 窗格中,設定外掛程式要在執行階段中使用的初始值。
注意事項 您可以從外掛程式公開任意數目的屬性,只要讓這些屬性成為公用、可設定且屬於基底型別 (例如整數、布林或字串) 的屬性即可。您之後也可以使用 [屬性] 視窗來變更 Web 效能測試外掛程式屬性。
選擇 [確定]。
此外掛程式就會加入至 [Web 測試外掛程式] 資料夾。
警告
當您執行使用外掛程式的 Web 效能測試或負載測試時,可能會收到類似下面的錯誤:
Request failed: Exception in <plug-in> event: Could not load file or assembly '<"Plug-in name".dll file>, Version=<n.n.n.n>, Culture=neutral, PublicKeyToken=null' or one of its dependencies.The system cannot find the file specified.
如果您對任何外掛程式進行程式碼變更並建立新的 DLL 版本 (Version=0.0.0.0),但是外掛程式仍然參考原始的外掛程式版本,就會導致此錯誤發生。若要更正此問題,請依照下列步驟執行:
-
在您的 Web 效能測試和負載測試專案中,您將會看到參考中的警告。移除並重新加入外掛程式 DLL 的參考。
-
從測試或適當的位置中移除外掛程式,然後再重新加入。
-
範例
下列程式碼會建立自訂的 Web 效能測試外掛程式,它會將項目加入至代表測試反覆項目的 WebTestContext 中。
執行 Web 效能測試之後,使用此外掛程式即可在 [Web 效能結果檢視器] 的 [內容] 索引標籤中看見已加入名為 [TestIteratnionNumer] 的項目。
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.VisualStudio.TestTools.WebTesting;
namespace SampleRules
{
public class SampleWebTestPlugin : WebTestPlugin
{
// start counting iterations at 1 not 0
// so that the iteration number we give matches the run number
static int testIterationNumber = 1;
public override void PostWebTest(object sender, PostWebTestEventArgs e)
{
}
public override void PreWebTest(object sender, PreWebTestEventArgs e)
{
e.WebTest.Context["TestIterationNumber"] = testIterationNumber;
testIterationNumber++;
}
}
}
請參閱
工作
HOW TO:使用 Web 效能測試編輯器編輯現有的 Web 效能測試