Condividi tramite


Procedura: creare un plug-in test Web

I plug-in test Web consentono di isolare e riutilizzare codice al di fuori delle istruzioni dichiarative principali nel test Web.Un plug-in test Web personalizzato consente di chiamare parte del codice durante l'esecuzione del test Web.Il plug-in test Web viene eseguito una sola volta per ogni iterazione di test.Inoltre, se si esegue l'override del metodo PreRequest o PostRequest nel plug-in test, i plug-in di tali richieste verranno eseguiti rispettivamente prima e dopo ciascuna richiesta.

È possibile creare un plug-in test Web personalizzato derivando la classe personalizzata dalla classe di base WebTestPlugin.

I plug-in per test delle prestazioni Web personalizzati possono essere utilizzati con i test delle prestazioni Web registrati, scrivendo una quantità minima di codice che consente di ottenere un elevato livello di controllo sui test.È tuttavia possibile utilizzarli anche con i test Web codificati.Per ulteriori informazioni, vedere Procedura: creare un test Web codificato.

[!NOTA]

È possibile creare anche plug-in test di carico.Per ulteriori informazioni, vedere Procedura: creare un plug-in test di carico.

Requisiti

  • Visual Studio Ultimate

Per creare un plug-in test Web personalizzato

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

    Per ulteriori informazioni su come creare un progetto di test di carico e delle prestazioni Web , vedere Procedura: creare e configurare progetti di test per i test automatizzati.

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

  3. In Modelli installati selezionare Visual C#.

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

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

  6. Scegliere OK.

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

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

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

  10. Scegliere la scheda .NET, scorrere verso il basso e selezionare Microsoft.VisualStudio.QualityTools.WebTestFramework

  11. Scegliere OK.

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

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

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

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

  15. Scegliere OK.

  16. Nell'editor di codice scrivere il codice del plug-in.Creare innanzitutto una nuova classe pubblica derivata da WebTestPlugin.

  17. Implementare il codice in uno o in entrambi i gestori di evento PreWebTest e PostWebTest.Per un'implementazione di esempio, vedere la sezione seguente relativa all'esempio.

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

  19. Aprire un test Web.

  20. Per aggiungere il plug-in test delle prestazioni Web, scegliere Aggiungi plug-in test Web nella barra degli strumenti.

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

  21. In Seleziona un plug-in selezionare la classe del plug-in del test delle prestazioni Web.

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

    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

Il codice seguente consente di creare un plug-in test Web personalizzato per l'aggiunta di un elemento a WebTestContext che rappresenta l'iterazione test.

Dopo avere eseguito il test delle prestazioni Web, tramite questo plug-in è possibile visualizzare l'elemento aggiunto denominato TestIteratnionNumer nella scheda Contesto del Visualizzatore risultati test prestazioni Web.

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++;
        }
    }
}

Vedere anche

Attività

Procedura: creare un plug-in a livello di richiesta

Procedura: creare una regola di estrazione personalizzata per un test delle prestazioni Web

Procedura: creare una regola di convalida personalizzata per un test delle prestazioni Web

Procedura: creare un plug-in test di carico

Procedura: creare un test Web codificato

Procedura: modificare un test delle prestazioni Web esistente utilizzando l'Editor test prestazioni Web

Riferimenti

WebTestRequestPlugin

Altre risorse

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