Condividi tramite


Procedura: creare un plug-in a livello di richiesta

Le informazioni contenute in questo argomento sono valide per:

Visual Studio Ultimate

Visual Studio Premium

Visual Studio Professional 

Visual Studio Express

Argomento applicabile Argomento non applicabile Argomento non applicabile Argomento non applicabile

Le richieste sono istruzioni dichiarative che costituiscono i test Web. I plug-in test Web consentono di isolare e riutilizzare codice al di fuori delle istruzioni dichiarative principali nel test Web. È possibile creare plug-in e aggiungerli a una singola richiesta, nonché al test Web che la contiene. Un plug-in richiesta personalizzato consente di chiamare il codice durante l'esecuzione di una determinata richiesta in un test Web.

Ogni plug-in delle richieste test Web dispone di un metodo PreRequest e di un metodo PostRequest. Dopo avere allegato un plug-in delle richieste a una determinata richiesta HTTP, l'evento PreRequest viene generato prima dell'invio della richiesta, mentre l'evento PostRequest viene generato dopo la ricezione della risposta.

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

È possibile utilizzare i plug-in delle richieste test Web personalizzati con i test Web registrati. I plug-in delle richieste test Web personalizzati consentono di scrivere una quantità minima di codice per ottenere un elevato livello di controllo sui test Web. È tuttavia possibile utilizzarli anche con i test Web codificati. Per ulteriori informazioni, vedere Procedura: creare un test Web codificato.

Per creare un plug-in a livello di richiesta

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

  2. In Modelli installati selezionare Visual C#.

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

  4. Nella casella di testo Nome digitare un nome per la classe e fare clic su OK.

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

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

    Verrà visualizzata la finestra di dialogo Aggiungi riferimento.

  6. Fare clic sulla scheda .NET, scorrere verso il basso, quindi selezionare Microsoft.VisualStudio.QualityTools.WebTestFramework e fare clic su OK.

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

  7. In Esplora soluzioni fare clic con il pulsante destro del mouse sul nodo principale del progetto di test contenente il test di carico a cui aggiungere il plug-in di test della richiesta di test delle prestazioni Web. Selezionare Aggiungi riferimento.

    Verrà visualizzata la finestra di dialogo Aggiungi riferimento.

  8. Selezionare la scheda Progetti, il progetto Libreria di classi, quindi fare clic su OK.

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

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

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

  12. Aprire il test Web in cui si desidera aggiungere il plug-in delle richieste.

  13. Fare clic con il pulsante destro del mouse sulla richiesta alla quale si desidera aggiungere il plug-in della richiesta, quindi selezionare Aggiungi plug-in richiesta.

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

  14. In Seleziona un plug-in selezionare il nuovo plug-in.

  15. 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à.

  16. Fare clic su OK.

    Il plug-in viene aggiunto alla cartella Plug-in richieste che è una cartella figlio della richiesta HTTP.

    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, 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

È possibile utilizzare il codice seguente per creare un plug-in di test delle prestazioni Web che visualizza due finestre di dialogo. In una finestra di dialogo viene visualizzato l'URL associato alla richiesta alla quale si allega il componente aggiuntivo della richiesta. Nella seconda finestra di dialogo viene visualizzato il nome computer dell'agente.

Nota

Per il codice seguente è necessaria l'aggiunta di un riferimento a System.Windows.Forms.

using System;
using System.Collections.Generic;
using System.Windows.Forms;
using Microsoft.VisualStudio.TestTools.WebTesting;

namespace RequestPluginNamespace
{
    public class MyWebRequestPlugin : WebTestRequestPlugin
    {
        public override void PostRequest(object sender, PostRequestEventArgs e)
        {
            MessageBox.Show(e.WebTest.Context.AgentName);
        }
        public override void PreRequest(object sender, PreRequestEventArgs e)
        {
            MessageBox.Show(e.Request.Url);
        }
    }
}

Vedere anche

Attività

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