Sdílet prostřednictvím


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#

  1. 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.

  2. 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ů.

  3. 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.

  4. V části Nainstalované šablony klikněte na položku Visual C#.

  5. V seznamu šablon vyberte možnost Knihovna tříd.

  6. Do textového pole Název zadejte název třídy.

  7. Klepněte na tlačítko OK.

  8. 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.

  9. 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.

  10. Zobrazí se dialogové okno Přidat odkaz.

  11. Klikněte na kartu .NET, posuňte zobrazení dolů a vyberte možnost Microsoft.VisualStudio.QualityTools.LoadTestFramework.

  12. 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í.

  13. 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.

  14. Zobrazí se dialogové okno Přidat odkaz.

  15. Klikněte na kartu Projekty a vyberte projekt knihovny tříd.

  16. Klepněte na tlačítko OK.

  17. V Editoru kódu přidejte příkaz using pro obor názvů Microsoft.VisualStudio.TestTools.LoadTesting.

  18. 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.

  19. Poté, co jste napsali kód, vytvořte nový projekt.

  20. 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.

  21. V nabídce Vyberte modul plug-in vyberte třídu modulu plug-in zátěžového testu.

  22. 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.

  23. 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:

    1. 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.

    2. 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