Condividi tramite


Procedura: creare un plug-in test di carico

È possibile creare un plug-in test di carico per eseguire il codice in momenti diversi durante l'esecuzione del test di carico.Si crea un plug-in per espandere o modificare le funzioni incorporate del test di carico.È ad esempio possibile scrivere codice per un plug-in test di carico per impostare o modificare il modello del test di carico durante l'esecuzione del test di carico.A tale scopo, è necessario creare una classe che erediti l'interfaccia ILoadTestPlugin.Tale classe deve implementare il metodo Initialize dell'interfaccia.Per ulteriori informazioni, vedere ILoadTestPlugin.

[!NOTA]

È inoltre possibile creare plug-in per i test Web.Per ulteriori informazioni, vedere Procedura: creare un plug-in test Web.

Requisiti

  • Visual Studio Ultimate

Per creare un plug-in test di carico utilizzando Visual C#

  1. Aprire un progetto di test di carico e delle prestazioni Web che contenga un test delle prestazioni Web.

    Per ulteriori informazioni, vedere Procedura: creare e configurare progetti di test per i test automatizzati.

  2. Aggiungere un test di carico al progetto di test e configurarlo per eseguire un test Web.

    Per ulteriori informazioni, vedere Creazione di test di carico utilizzando la Creazione guidata test di carico.

  3. In Esplora soluzioni fare clic con il pulsante destro del mouse sulla soluzione, selezionare Aggiungi, quindi scegliere Nuovo progetto.

    Viene visualizzata la finestra di dialogo Aggiungi nuovo progetto.

  4. In Modelli installati selezionare Visual C#.

  5. Nell'elenco dei modelli selezionare Libreria di classi.

  6. Nella casella di testo Nome digitare un nome per la classe.

  7. Scegliere OK.

  8. Il nuovo progetto Libreria di classi viene aggiunto a Esplora soluzioni e la nuova classe viene visualizzata nell'editor di codice.

  9. In Esplora soluzioni fare clic con il pulsante destro del mouse sulla cartella Riferimenti nella nuova libreria di classi e selezionare Aggiungi riferimento.

  10. Verrà visualizzata la finestra di dialogo Aggiungi riferimento.

  11. Fare clic sulla scheda .NET, scorrere verso il basso, quindi selezionare Microsoft.VisualStudio.QualityTools.LoadTestFramework.

  12. Scegliere OK.

    Il riferimento a Microsoft.VisualStudio.QualityTools.LoadTestFramework viene aggiunto alla cartella Riferimenti in Esplora soluzioni.

  13. In Esplora soluzioni fare clic con il pulsante destro del mouse sul nodo principale del test di carico e delle prestazioni Web al quale si desidera aggiungere il plug-in test di carico e selezionare Aggiungi riferimento.

  14. Verrà visualizzata la finestra di dialogo Aggiungi riferimento.

  15. Scegliere la scheda Progetti e selezionare progetto Libreria di classi.

  16. Scegliere OK.

  17. Nell'Editor di codice aggiungere un'istruzione using per lo spazio dei nomi Microsoft.VisualStudio.TestTools.LoadTesting.

  18. Implementare l'interfaccia ILoadTestPlugin per la classe creata nel progetto Libreria di classi.Per un'implementazione di esempio, vedere la sezione seguente relativa all'esempio.

  19. Una volta scritto il codice, compilare il nuovo progetto.

  20. Fare clic con il pulsante destro del mouse sul nodo principale del test di carico e scegliere Aggiungi plug-in test di carico.

    Verrà visualizzata la finestra di dialogo Aggiungi plug-in test di carico.

  21. In Seleziona un plug-in selezionare la classe del plug-in test di carico.

  22. Nel riquadro Proprietà per il plug-in selezionato impostare i valori iniziali che il plug-in utilizzerà in fase di esecuzione.

    [!NOTA]

    È possibile esporre il numero di proprietà desiderato dai plug-in; è sufficiente renderle pubbliche, impostabili e di un tipo di base quale Integer, Boolean o String.È anche possibile modificare le proprietà del plug-in di test delle prestazioni Web in un secondo momento utilizzando la finestra Proprietà.

  23. Scegliere OK.

    Il plug-in verrà aggiunto alla cartella Plug-in test di carico.

    Nota di avvisoAttenzione

    Quando si esegue un test delle prestazioni Web o un test di carico in cui viene utilizzato il plug-in, è possibile che venga visualizzato un errore simile a quello riportato di seguito:

    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.

    L'errore si verifica se si effettuano modifiche al codice di uno qualsiasi dei plug-in e si crea una nuova versione del file DLL (Version=0.0.0.0), ma il plug-in fa ancora riferimento alla versione originale.Per risolvere il problema, attenersi ai passaggi riportati di seguito:

    1. Nei riferimenti del progetto di test di carico e delle prestazioni Web, sarà presente un avviso.Rimuovere e aggiungere nuovamente il riferimento alla DLL del plug-in.

    2. Rimuovere il plug-in dal test o dal percorso appropriato, quindi aggiungerlo di nuovo.

Esempio

Nel codice seguente viene illustrato un plug-in test di carico in cui viene eseguito il codice personalizzato dopo un evento LoadTestFinished.Se questo codice viene eseguito in un agente di test in un computer remoto e l'agente di test non dispone di un servizio SMTP localhost, lo stato del test di carico rimarrà indicato come "In corso" dal momento che verrà visualizzata una casella di messaggio.

[!NOTA]

Per il codice seguente è necessaria l'aggiunta di un riferimento a 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);
            }
        }
    }
} 

A un test di carico sono associati otto eventi che possono essere gestiti nel plug-in test di carico per eseguire il codice personalizzato con il test di carico.Di seguito è riportato un elenco degli eventi che consentono di accedere a stadi diversi dell'esecuzione del test di carico:

Vedere anche

Attività

Procedura: creare un plug-in test Web

Riferimenti

ILoadTestPlugin

Altre risorse

Creazione e utilizzo di plug-in personalizzati per i test di carico e delle prestazioni Web