Postupy: Vytvoření modulu plugin pro zátěžový test
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ěží.Lze vytvořit modul plug-in pro rozšíření nebo úpravu zabudované funkčnosti 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ěží.Aby to bylo možno provést je nutné vytvořit třídu, která dědí z rozhraní ILoadTestPlugin.Tato třída musí implementovat metodu Initialize rozhraní.Další informace naleznete v tématu ILoadTestPlugin.
[!POZNÁMKA]
Lze také vytvořit moduly plug-in pro testy výkonu webu.Další informace naleznete v tématu Postupy: Vytvoření modulu plugin pro test výkonnosti webu
Požadavky
- Visual Studio Ultimate
Vytvoření modulu plug-in zátěžového testu pomocí jazyka Visual C#
Otevřete projekt pro test výkonu webu a zátěžový test, který obsahuje test výkonu webu.
Další informace naleznete v tématu Postupy: Vytváření a konfigurace testovacích projektů pro automatizované testy.
Přidejte zátěžový test do testovacího projektu a nakonfigurujte 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 na řešení a vyberte možnost Přidat a poté zvolte 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íka ř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, přejděte níže a následně 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 Odkazy v okně Průzkumník řešení.
V Průzkumníku řešení klikněte pravým tlačítkem myši na nejvyšší uzel projektu výkon webu a zátěžový test, 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 lze nalézt ukázkovou implementaci.
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 potom 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.
Z Vyberte modul plug-in vyberte třídu modulu plug-in zátěžového testu.
V podokně Vlastnosti pro vybraný modul plug-in nastavte počáteční hodnoty pro modul plug-in pro použití v době běhu.
[!POZNÁMKA]
Z modulu plug-in lze vystavit libovolný počet vlastností, ale je třeba je nastavit jako public, nastavitelné a musí být základního typu, jako je například Integer, Boolean nebo String.Lze také změnit vlastnosti modulu plug-in testu výkonu webu pomocí okna Vlastnosti.
Klepněte na tlačítko OK.
Modul plug-in je přidán do složky Moduly plug-in zátěžových testů.
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 agentovi na vzdáleném počítači a tento testovací agent nemá službu SMTP localhost, pak zátěžový test zůstane ve stavu "Právě 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álosti, 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é zkoušky:
Viz také
Úkoly
Postupy: Vytvoření modulu plugin pro test výkonnosti webu
Referenční dokumentace
Další zdroje
Vytvoření vlastního kódu a modulů plugin pro zátěžové testování