Postupy: Vytvoření modulu plugin pro zátěžový test
Publikováno: duben 2016
Lze vytvořit modul plug-in zátěžového testu pro spuštění kódu v různých časech, zatímco zátěžový test běží. Můžete vytvořit modul plug-in pro rozšíření nebo úpravu integrované funkce zátěžového testu. Lze například naprogramovat modul plug-in zátěžového testu pro nastavení nebo úpravu průběhu zátěžového testu, zatímco zátěžový test běží. Za tímto účelem je nutné vytvořit třídu, která dědí z rozhraní ILoadTestPlugin. Tato třída musí implementovat metodu Initialize tohoto rozhraní. Další informace naleznete v tématu ILoadTestPlugin.
Poznámka
Lze také vytvořit moduly plug-in pro testy výkonnosti webu.Další informace naleznete v tématu Postupy: Vytvoření modulu plugin pro test výkonnosti webu
Požadavky
- Visual Studio Enterprise
Vytvoření modulu plug-in zátěžového testu pomocí jazyka Visual C#
Otevřete test výkonu webu a načíst testovací projekt obsahující test výkonu webu.
Další informace naleznete v tématu How to: Create and Configure Test Projects for Automated Tests.
Přidat zátěžový test do projektu testování a nakonfigurovat jej pro spuštění testu výkonu webu.
Další informace naleznete v tématu [vyřazeno] Vytváření zátěžových testů.
V Průzkumníku řešení klikněte pravým tlačítkem myši na řešení, vyberte možnost Přidat a poté možnost Nový projekt.
Zobrazí se dialogové okno Přidat nový projekt.
V části Nainstalované šablony klikněte na položku Visual C#.
V seznamu šablon vyberte možnost Knihovna tříd.
Do textového pole Název zadejte název třídy.
Klepněte na tlačítko OK.
Nový projekt knihovny tříd bude přidán do Průzkumníku řešení a nová třída se objeví v Editoru kódu.
V Průzkumníku řešení klikněte pravým tlačítkem myši na složku Odkazy v nové knihovně tříd a vyberte možnost Přidat odkaz.
Zobrazí se dialogové okno Přidat odkaz.
Klikněte na kartu .NET, posuňte zobrazení dolů a vyberte možnost Microsoft.VisualStudio.QualityTools.LoadTestFramework.
Klepněte na tlačítko OK.
Odkaz na Microsoft.VisualStudio.QualityTools.LoadTestFramework bude přidán do složky Odkaz v Průzkumníku řešení.
V Průzkumníku řešení klikněte pravým tlačítkem myši na nejvyšší uzel projektu testu výkonnosti webu a zátěžového testu, který obsahuje zátěžový test, ke kterému chcete přidat modul plug-in zátěžového testu, a klikněte na příkaz Přidat odkaz.
Zobrazí se dialogové okno Přidat odkaz.
Klikněte na kartu Projekty a vyberte projekt knihovny tříd.
Klepněte na tlačítko OK.
V Editoru kódu přidejte příkaz using pro obor názvů Microsoft.VisualStudio.TestTools.LoadTesting.
Ve třídě vytvořené v projektu knihovny tříd implementujte rozhraní ILoadTestPlugin. V následujícím oddílu s příklady naleznete ukázku implementace.
Poté, co jste napsali kód, vytvořte nový projekt.
Klikněte pravým tlačítkem myši na nejvyšší uzel zátěžového testu a vyberte položku Přidat modul plug-in zátěžového testu.
Zobrazí se dialogové okno Přidat modul plug-in zátěžového testu.
V nabídce Vyberte modul plug-in vyberte třídu modulu plug-in zátěžového testu.
V Vlastnosti pro vybraný modul plug-in podokně nastavit počáteční hodnoty pro použití v době běhu modulu plug-in.
Poznámka
Z modulu plug-in lze vystavit libovolný počet vlastností, ale je třeba je nastavit jako veřejné a nastavitelné a musí mít základní typ, jako je například Integer, Boolean nebo String.Vlastnosti modulu plug-in testu výkonnosti webu lze také změnit později v okně Vlastnosti.
Klepněte na tlačítko OK.
Modul plug-in je přidán do složky Moduly plug-in zátěžového testu.
Upozornění
Může se objevit chyba podobná následující při spuštění testu výkonnosti webu nebo zátěžového testu, který používá modul plug-in:
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.
K tomu dojde, pokud provedete změny kódu libovolného zásuvného modulu a vytvoříte novou verzi knihovny DLL (Version=0.0.0.0), ale tento modul plug-in stále odkazuje původní verzi modulu plug-in.Při opravě tohoto problému postupujte následujícím způsobem:
-
V projektu Test výkonu a zátěže webu se v odkazech zobrazí upozornění.Odeberte a znovu přidejte odkaz na knihovnu DLL doplňku.
-
Odeberte doplněk z vašeho testu nebo vhodného místa a znovu jej přidejte.
-
Příklad
Následující kód ukazuje modul plug-in zátěžového testu, který spouští vlastní kód poté, co dojde k události LoadTestFinished. Pokud je tento kód spuštěn na testovacím agentu na vzdáleném počítači a tento testovací agent nemá službu SMTP localhost, zátěžový test zůstane ve stavu „Probíhá“, protože se otevře okno se zprávou.
Poznámka
Následující kód vyžaduje přidání odkazu na System.Windows.Forms.
using System;
using Microsoft.VisualStudio.TestTools.LoadTesting;
using System.Net.Mail;
using System.Windows.Forms;
namespace LoadTestPluginTest
{
public class MyLoadTestPlugin : ILoadTestPlugin
{
LoadTest myLoadTest;
public void Initialize(LoadTest loadTest)
{
myLoadTest = loadTest;
myLoadTest.LoadTestFinished += new
EventHandler(myLoadTest_LoadTestFinished);
}
void myLoadTest_LoadTestFinished(object sender, EventArgs e)
{
try
{
// place custom code here
MailAddress MyAddress = new MailAddress("someone@example.com");
MailMessage MyMail = new MailMessage(MyAddress, MyAddress);
MyMail.Subject = "Load Test Finished -- Admin Email";
MyMail.Body = myLoadTest..Name + " has finished.";
SmtpClient MySmtpClient = new SmtpClient("localhost");
MySmtpClient.Send(MyMail);
}
catch (SmtpException ex)
{
MessageBox.Show(ex.InnerException.Message +
".\r\nMake sure you have a valid SMTP.", "LoadTestPlugin", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1);
}
}
}
}
Se zátěžovým testem je spojeno osm událostí, které mohou být zpracovány v modulu plug-in zátěžového testu pro spuštění vlastního kódu se zátěžovým testem. Následuje seznam událostí, které umožňují přístup do různých období běhu zátěžového testu:
Viz také
ILoadTestPlugin
Vytvoření vlastního kódu a modulů plugin pro zátěžové testování
Postupy: Vytvoření modulu plugin pro test výkonnosti webu