Procedura: creare un componente aggiuntivo di Visual Studio per il Visualizzatore risultati test prestazioni Web
Le informazioni contenute in questo argomento sono valide per:
Visual Studio Ultimate |
Visual Studio Premium |
Visual Studio Professional |
Visual Studio Express |
---|---|---|---|
![]() |
![]() |
![]() |
![]() |
È possibile estendere l'interfaccia utente per il Visualizzatore risultati test prestazioni Web utilizzando gli spazi dei nomi seguenti:
Inoltre, è necessario aggiungere un riferimento al file LoadTestPackage.dll disponibile nella cartella %Programmi%\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies.
- Per estendere l'interfaccia utente del Visualizzatore risultati test prestazioni Web, è necessario creare un controllo utente e un componente aggiuntivo per Visual Studio. Nelle procedure seguenti viene illustrato come creare il componente aggiuntivo e il controllo utente nonché come implementare le classi necessarie per estendere l'interfaccia utente del Visualizzatore risultati test prestazioni Web.
Creare o aprire una soluzione contenente un'applicazione Web ASP.NET e un progetto di test
Per preparare l'estensione del Visualizzatore risultati test prestazioni Web
Creare o aprire una soluzione non di produzione con cui provare contenente un'applicazione Web ASP.NET e un progetto di test con uno o più test delle prestazioni Web per l'applicazione Web ASP.NET.
Nota
È possibile creare un'applicazione Web ASP.NET e un progetto di test contenente test delle prestazioni Web seguendo le procedure in Procedura dettagliata: creazione di un'applicazione Web semplice e Procedura dettagliata: registrazione ed esecuzione di un test Web.
Creare un componente aggiuntivo per Visual Studio
Un componente aggiuntivo è una DLL compilata che viene eseguita all'interno dell'ambiente di sviluppo integrato (IDE, Integrated Development Environment) di Visual Studio. La compilazione garantisce la protezione della proprietà intellettuale e consente il miglioramento delle prestazioni. Sebbene sia possibile creare manualmente componenti aggiuntivi, l'utilizzo della Creazione guidata componente aggiuntivo rende l'operazione molto più semplice. La Creazione guidata componente aggiuntivo consente di generare un componente aggiuntivo di base completamente funzionale che può essere eseguito immediatamente dopo la creazione. Al termine della generazione del programma di base tramite la Creazione guidata componente aggiuntivo, sarà possibile aggiungere codice a tale programma e personalizzarlo.
La procedura guidata del componente aggiuntivo consente di fornire un nome visualizzato e una descrizione per il componente aggiuntivo. Entrambi saranno visualizzati nella finestra di dialogo Gestione componenti aggiuntivi. Facoltativamente, è possibile scegliere di generare automaticamente nella procedura guidata il codice che aggiunge al menu Strumenti un comando per l'apertura del componente aggiuntivo. È inoltre possibile scegliere di visualizzare una finestra Informazioni su personalizzata per il componente aggiuntivo. Al termine della procedura guidata, si disporrà di un nuovo progetto con una sola classe tramite la quale viene implementato il componente aggiuntivo. Tale classe viene denominata Connect.
Si utilizzerà Gestione componenti aggiuntivi alla fine di questo argomento.
Per ulteriori informazioni, vedere Creazione di componenti aggiuntivi e di procedure guidate.
Per creare un componente aggiuntivo utilizzando la Creazione guidata componente aggiuntivo.
In Esplora soluzioni fare clic con il pulsante destro del mouse sulla soluzione, selezionare Aggiungi, quindi scegliere Nuovo progetto.
Verrà visualizzata la finestra di dialogo Nuovo progetto.
In Modelli installati espandere Altri tipi di progetto e selezionare Extensibility.
Nell'elenco dei modelli selezionare Componente aggiuntivo Visual Studio.
In Nome digitare un nome per il componente aggiuntivo. Ad esempio, WebPerfTestResultsViewerAddin.
Scegliere OK.
Verrà avviata la Creazione guidata componente aggiuntivo di Visual Studio.
Scegliere Avanti.
Nella pagina Selezionare un linguaggio di programmazione selezionare il linguaggio di programmazione che si desidera utilizzare per la compilazione del componente aggiuntivo.
Nota
In questo argomento viene utilizzato Visual C# per il codice di esempio.
Nella pagina Selezionare un'applicazione host selezionare Microsoft Visual Studio 2010 e deselezionare Macro di Microsoft Visual Studio 2010.
Scegliere Avanti.
Digitare il nome e la descrizione del componente aggiuntivo nella pagina Specificare un nome e una descrizione.
Dopo aver creato il componente aggiuntivo, il nome e la descrizione corrispondenti verranno visualizzati nell'elenco Componenti aggiuntivi disponibili nella finestra di dialogo Gestione componenti aggiuntivi. Aggiungere alla descrizione del componente aggiuntivo delle informazioni sufficientemente dettagliate che consentano agli utenti di apprenderne il comportamento, il funzionamento e così via.
Scegliere Avanti.
Nella pagina Scegliere le opzioni del componente aggiuntivo selezionare Carica il componente aggiuntivo all'avvio dell'applicazione host.
Deselezionare le caselle di controllo rimanenti.
Nella pagina Scelta della finestra 'Informazioni su' è possibile specificare se si desidera che le informazioni sul componente aggiuntivo vengano visualizzate in una finestra di dialogo Informazioni su. Se si desidera che le informazioni vengano visualizzate selezionare la casella di controllo Sì, rendi disponibile la finestra 'Informazioni su' per il componente aggiuntivo.
Tra le informazioni che è possibile aggiungere alla finestra Informazioni su di Visual Studio sono inclusi il numero di versione, i dettagli sul supporto, i dati della licenza e così via.
Scegliere Avanti.
Le opzioni selezionate vengono visualizzate nella pagina Riepilogo per consentirne la verifica. Se il risultato è soddisfacente, fare clic su Fine per creare il componente aggiuntivo. Se si desidera apportare delle modifiche, fare clic sul pulsante Indietro.
Vengono creati la nuova soluzione e il progetto e il file Connect.cs per il nuovo componente aggiuntivo viene visualizzato nell'editor di codice.
Verrà aggiunto codice al file Connect.cs dopo la procedura riportata di seguito mediante la quale viene creato un controllo utente a cui farà riferimento questo progetto WebPerfTestResultsViewerAddin.
Dopo aver creato un componente aggiuntivo, è necessario registrarlo con Visual Studio affinché possa essere attivato in Gestione componenti aggiuntivi. Questa operazione viene eseguita tramite un file XML con estensione addin.
In questo file con estensione addin sono incluse le informazioni richieste da Visual Studio per visualizzare il componente aggiuntivo in Gestione componenti aggiuntivi. All'avvio, Visual Studio ricerca nel percorso dei file con estensione addin eventuali file con estensione addin disponibili. Se ne viene individuato uno, viene letto il file XML e a Gestione componenti aggiuntivi vengono fornite le informazioni necessarie per l'avvio del componente aggiuntivo quando fatto clic su quest'ultimo.
Il file con estensione addin viene creato automaticamente quando si crea un componente aggiuntivo utilizzando la Creazione guidata componente aggiuntivo.
Per ulteriori informazioni, vedere Registrazione di un componente aggiuntivo.
Percorsi dei file del componente aggiuntivo
Tramite Creazione guidata componente aggiuntivo vengono create automaticamente due copie del file con estensione addin, come segue:
Percorso del file con estensione addin |
Percorso del file con estensione dll |
Descrizione |
---|---|---|
Cartella radice del progetto \Documenti\Visual Studio 2010\Projects\MyAddin1\MyAddin1\ |
Percorso locale (MyAddin1.dll) |
Utilizzato per la distribuzione del progetto del componente aggiuntivo. Incluso nel progetto per facilitare le modifiche e impostato sul percorso locale per la distribuzione di tipo XCopy. |
Cartella del componente aggiuntivo \Documenti\Visual Studio 2010\Addins\ In alternativa Percorso documenti condivisi\Addins\ |
Cartella di debug del progetto Ad esempio, \ Documenti\Visual Studio 2010 Projects\MyAddin1\MyAddin1\bin \ |
Utilizzata per l'esecuzione del componente aggiuntivo nell'ambiente di debug. Deve sempre indicare il percorso di output della configurazione della build corrente. |
Creare un progetto Libreria di controlli Windows Form.
Il componente aggiuntivo per Visual Studio creato nella procedura precedente fa riferimento a un progetto Libreria di controlli Windows Form per creare un'istanza di una classe UserControl.
Per ulteriori informazioni, vedere Controlli per Windows Form.
Per creare un controllo da utilizzare nel Visualizzatore risultati test Web
In Esplora soluzioni fare clic con il pulsante destro del mouse sulla soluzione, selezionare Aggiungi, quindi scegliere Nuovo progetto.
Verrà visualizzata la finestra di dialogo Nuovo progetto.
In Modelli installati espandere Visual Basic o Visual C# e selezionare Windows.
Nota
In questo argomento viene utilizzato Visual C# per il codice di esempio.
Nell'elenco dei modelli selezionare Libreria di controlli Windows Form.
In Nome digitare un nome per il componente aggiuntivo. Ad esempio, WebPerfTestResultsViewerControl.
Scegliere OK.
WebPerfTestResultsViewerControl del progetto della libreria di controlli Windows Form viene aggiunto in Esplora soluzioni e il file UserControl1.cs viene visualizzato nella modalità progettazione.
Dalla casella degli strumenti trascinare un oggetto DataGridView sulla superficie di userControl1.
Fare clic sul glifo del tag azioni (
) nell'angolo superiore destro dell'oggetto DataGridView e attenersi alla seguente procedura:
Scegliere Ancora nel contenitore padre.
Deselezionare le caselle di controllo Abilita aggiunta, Abilita modifica, Abilita eliminazione e Abilita riordinamento colonne.
Scegliere Aggiungi colonna.
Verrà visualizzata la finestra di dialogo Aggiungi colonna.
Nell'elenco a discesa Tipo selezionare DataGridViewTextBoxColumn.
Deselezionare il testo "Column1" in Testo intestazione.
Fare clic su Aggiungi.
Fare clic su Chiudi.
Nella finestra Proprietà impostare la proprietà (Nome) dell'oggetto DataGridView su resultControlDataGridView.
Fare clic con il pulsante destro del mouse sull'area di progettazione e selezionare Visualizza codice.
Il file UserControl1.cs verrà visualizzato nell'editor di codice.
Modificare il nome della classe istanziata UserControl da UserContro1 a resultControl:
namespace WebPerfTestResultsViewerControl { public partial class resultControl : UserControl { public resultControl() { InitializeComponent(); }
Nella procedura seguente si aggiungerà codice al file Connect.cs del progetto WebPerfTestResultsViewerAddin che farà riferimento alla classe resultControl.
Si aggiungerà ulteriore codice aggiuntivo al file Connect.cs in un secondo momento.
Aggiungere codice a WebPerfTestResultsViewerAddin
Per aggiungere codice al componente aggiuntivo per Visual Studio per estendere il Visualizzatore risultati test Web
In Esplora soluzioni fare clic con il pulsante destro del mouse sul nodo Riferimenti nel progetto WebPerfTestResultsViewerAddin e selezionare Aggiungi riferimento.
Nella finestra di dialogo Aggiungi riferimento fare clic sulla scheda .NET.
Scorrere verso il basso e selezionare Microsoft.VisualStudio.QualityTools.WebTestFramework e System.Windows.Forms.
Scegliere OK.
Fare di nuovo clic con il pulsante destro del mouse sul nodo Riferimenti e selezionare Aggiungi riferimento.
Nella finestra di dialogo Aggiungi riferimento fare clic sulla scheda Sfoglia.
Fare clic sull'elenco a discesa per Cerca in, passare a %Programmi%\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies e selezionare il file Microsoft.VisualStudio.QualityTools.LoadTestPackage.dll.
Scegliere OK.
Fare clic con il pulsante destro del mouse sul nodo del progetto WebPerfTestResultsViewerAddin e selezionare Aggiungi riferimento.
Nella finestra di dialogo Aggiungi riferimento fare clic sulla scheda Progetti.
In Nome progetto selezionare il progetto WebPerfTestResultsViewerControl e scegliere OK.
Se il file Connect.cs non è ancora aperto, in Esplora soluzioni fare clic con il pulsante destro del mouse sul file Connect.cs nel progetto WebPerfTestResultsViewerAddin e selezionare Visualizza codice.
Nel file Connect.cs aggiungere le istruzioni Using seguenti:
using System.IO; using System.Windows.Forms; using System.Collections.Generic; using Microsoft.VisualStudio.TestTools.LoadTesting; using Microsoft.VisualStudio.TestTools.WebTesting; using WebPerfTestResultsViewerControl;
Scorrere fino alla fine del file Connect.cs. È necessario aggiungere un elenco di GUID per l'oggetto UserControl nel caso siano aperte più istanze del Visualizzatore risultati test prestazioni Web. Il codice utilizzato da questo elenco verrà aggiunto in un secondo momento.
Un secondo elenco di stringhe viene utilizzato nel metodo OnDiscconection che verrà codificato in un secondo momento.
private DTE2 _applicationObject; private AddIn _addInInstance; private Dictionary<Guid, List<UserControl>> m_controls = new Dictionary<Guid, List<UserControl>>(); private List<string> temporaryFilePaths = new List<string>();
Il file Connect.cs consente di creare un'istanza di una classe denominata Connect dalla classe IDTExtensibility2 e di includere inoltre alcuni metodi per l'implementazione del componente aggiuntivo per Visual Studio. Uno dei metodi è OnConnection a cui viene notificato il caricamento del componente aggiuntivo. Nel metodo OnConnection verrà utilizzata la classe LoadTestPackageExt per creare il pacchetto di estendibilità per il Visualizzatore risultati test prestazioni Web. Aggiungere al metodo OnConnection il codice seguente:
public void OnConnection(object application, ext_ConnectMode connectMode, object addInInst, ref Array custom) { _applicationObject = (DTE2)application; _addInInstance = (AddIn)addInInst; // Create a load test packge extensibility class. LoadTestPackageExt loadTestPackageExt = _applicationObject.GetObject("Microsoft.VisualStudio.TestTools.LoadTesting.LoadTestPackageExt") as LoadTestPackageExt; // Process open windows. foreach (WebTestResultViewer webTestResultViewer in loadTestPackageExt.WebTestResultViewerExt.ResultWindows) { WindowCreated(webTestResultViewer); } // Create event handlers. loadTestPackageExt.WebTestResultViewerExt.WindowCreated += new EventHandler<WebTestResultViewerExt.WindowCreatedEventArgs>(WebTestResultViewerExt_WindowCreated); loadTestPackageExt.WebTestResultViewerExt.WindowClosed += new EventHandler<WebTestResultViewerExt.WindowClosedEventArgs>(WebTesResultViewer_WindowClosed); loadTestPackageExt.WebTestResultViewerExt.SelectionChanged += new EventHandler<WebTestResultViewerExt.SelectionChangedEventArgs>(WebTestResultViewer_SelectedChanged); }
Aggiungere il codice seguente alla classe Connect per creare il metodo WebTestResultViewerExt_WindowCreated per il gestore dell'evento loadTestPackageExt.WebTestResultViewerExt.WindowCreated aggiunto nel metodo OnConnection e per il metodo WindowCreated chiamato dal metodo WebTestResultViewerExt_WindowCreated.
void WebTestResultViewerExt_WindowCreated(object sender, WebTestResultViewerExt.WindowCreatedEventArgs e) { // New control added to new result viewer window. WindowCreated(e.WebTestResultViewer); } private void WindowCreated(WebTestResultViewer viewer) { // Instantiate an instance of the resultControl referenced in the WebPerfTestResultsViewerControl project. resultControl resultControl = new resultControl(); // Add to the dictionary of open playback windows. System.Diagnostics.Debug.Assert(!m_controls.ContainsKey(viewer.TestResultId)); List<UserControl> userControls = new List<UserControl>(); userControls.Add(resultControl); // Add Guid to the m_control List to manage Result viewers and controls. m_controls.Add(viewer.TestResultId, userControls); // Add tabs to the playback control. resultControl.Dock = DockStyle.Fill; viewer.AddResultPage(new Guid(), "Sample", resultControl); }
Aggiungere il codice seguente alla classe Connect per creare il metodo WebTestResultViewer_SelectedChanged per il gestore dell'evento loadTestPackageExt.WebTestResultViewerExt.SelectionChanged aggiunto nel metodo OnConnection:
void WebTestResultViewer_SelectedChanged(object sender, WebTestResultViewerExt.SelectionChangedEventArgs e) { foreach (UserControl userControl in m_controls[e.TestResultId]) { // Update the userControl in each result viewer. resultControl resultControl = userControl as resultControl; if (resultControl != null) // Call the resultControl's Update method (This will be added in the next procedure). resultControl.Update(e.WebTestRequestResult); } }
Aggiungere il codice seguente alla classe Connect per creare il metodo WebTesResultViewer_WindowClosed per il gestore dell'evento per loadTestPackageExt.WebTestResultViewerExt.WindowClosed aggiunto nel metodo OnConnection:
void WebTesResultViewer_WindowClosed(object sender, WebTestResultViewerExt.WindowClosedEventArgs e) { if (m_controls.ContainsKey(e.WebTestResultViewer.TestResultId)) { m_controls.Remove(e.WebTestResultViewer.TestResultId); } }
Ora che il codice per il componente aggiuntivo per Visual Studio è stato completato, è necessario aggiungere il metodo Update all'oggetto resultControl nel progetto WebPerfTestResultsViewerControl.
Aggiungere codice a WebPerfTestResultsViewerControl
Per ulteriori informazioni, vedere Nozioni fondamentali sullo sviluppo di controlli Windows Form.
Per aggiungere codice al controllo utente
In Esplora soluzioni fare clic con il pulsante destro del mouse sul nodo del progetto WebPerfTestResultsViewerControl e selezionare Proprietà.
Selezionare la scheda Applicazione, fare clic sull'elenco a discesa Framework di destinazione, selezionare .NET Framework 4 e chiudere Proprietà.
Questa operazione è necessaria per supportare i riferimenti dll necessari per l'estensione del Visualizzatore risultati test prestazioni Web.
In Esplora soluzioni, nel progetto WebPerfTestResultsViewerControl fare clic con il pulsante destro del mouse sul nodo Riferimenti e selezionare Aggiungi riferimento.
Nella finestra di dialogo Aggiungi riferimento fare clic sulla scheda .NET.
Scorrere verso il basso e selezionare Microsoft.VisualStudio.QualityTools.WebTestFramework.
Scegliere OK.
Nel file UserControl1.cs aggiungere le istruzioni Using seguenti:
using Microsoft.VisualStudio.TestTools.WebTesting; using Microsoft.VisualStudio.TestTools.WebTesting.Rules;
Aggiungere il metodo Update che viene chiamato e passato a un oggetto WebTestRequestResult dal metodo WebTestResultViewer_SelectedChanged di WebPerfTestResultsViewerAddin nel file Connect.cs. Il metodo Update consente di popolare l'oggetto DataGridView con varie proprietà passate a quest'ultimo nell'oggetto WebTestRequestResult.
public void Update(WebTestRequestResult WebTestResults) { // Clear the DataGridView when a request is selected. resultControlDataGridView.Rows.Clear(); // Populate the DataGridControl with properties from the WebTestResults. this.resultControlDataGridView.Rows.Add("Request: " + WebTestResults.Request.Url.ToString()); this.resultControlDataGridView.Rows.Add("Response: " + WebTestResults.Response.ResponseUri.ToString()); foreach (RuleResult ruleResult in WebTestResults.ExtractionRuleResults) { this.resultControlDataGridView.Rows.Add("Extraction rule results: " + ruleResult.Message.ToString()); } foreach (RuleResult ruleResult in WebTestResults.ValidationRuleResults) { this.resultControlDataGridView.Rows.Add("Validation rule results: " + ruleResult.Message.ToString()); } foreach (WebTestError webTestError in WebTestResults.Errors) { this.resultControlDataGridView.Rows.Add("Error: " + webTestError.ErrorType.ToString() + " " + webTestError.ErrorSubtype.ToString() + " " + webTestError.ExceptionText.ToString()); } }
Compilare la soluzione WebPerfTestResultsViewerAddin
Per compilare la soluzione
- Scegliere Compila soluzione dal menu Compila.
Registrare il componente aggiuntivo WebPerfTestResultsViewerAddin
Per registrare il componente aggiuntivo utilizzando Gestione componenti aggiuntivi
Scegliere Gestione componenti aggiuntivi dal menu Strumenti.
Verrà visualizzata la finestra di dialogo Gestione componenti aggiuntivi.
Selezionare la casella di controllo per il componente aggiuntivo WebPerfTestResultsViewerAddin nella colonna Componenti aggiuntivi disponibili e deselezionare le caselle di controllo sotto le colonne Avvio e Riga di comando.
Scegliere OK.
Per ulteriori informazioni, vedere Procedura: controllare i componenti aggiuntivi tramite Gestione componenti aggiuntivi.
Eseguire il test delle prestazioni Web utilizzando la compilazione del componente aggiuntivo WebPerfTestResultsViewerAddin
Per eseguire il nuovo componente aggiuntivo per Visual Studio per il Visualizzatore risultati test prestazioni Web
Eseguire il test delle prestazioni Web. Nel Visualizzatore risultati test prestazioni Web verrà visualizzata la nuova scheda del componente aggiuntivo WebPerfTestResultsViewerAddin, denominata Esempio.
Fare clic sulla scheda per visualizzare le proprietà presentate nell'oggetto DataGridView.
Sicurezza
Per migliorare la sicurezza e impedire l'attivazione automatica di componenti aggiuntivi dannosi, Visual Studio offre impostazioni in una pagina Opzioni del menu Strumenti denominata Sicurezza macro/componenti aggiuntivi.
In questa pagina di opzioni è inoltre possibile specificare le cartelle in cui, tramite Visual Studio, viene eseguita la ricerca dei file di registrazione con estensione AddIn. Limitando i percorsi in cui è possibile leggere i file di registrazione con estensione AddIn si migliora la sicurezza, evitando l'utilizzo non intenzionale di file con estensione AddIn dannosi.
Impostazioni di sicurezza dei componenti aggiuntivi
Le impostazioni disponibili in Add-in/Macros Security, Environment, Options Dialog Box relative alla sicurezza dei componenti aggiuntivi sono le seguenti:
Consenti caricamento componenti aggiuntivi. Opzione selezionata per impostazione predefinita. Quando selezionata, questa opzione consente il caricamento di componenti aggiuntivi in Visual Studio. In caso contrario, tale operazione non è consentita.
Consenti caricamento componenti aggiuntivi da URL. Opzione non selezionata per impostazione predefinita. Quando selezionata, questa opzione consente il caricamento di componenti aggiuntivi da siti Web esterni. In caso contrario, il caricamento di componenti aggiuntivi remoti in Visual Studio non è consentito. Se per qualche motivo non è possibile eseguire il caricamento di un componente aggiuntivo, non potrà essere caricato dal Web. Questa impostazione controlla solo il caricamento della DLL del componente aggiuntivo. I file di registrazione Addin devono trovarsi sempre nel sistema locale.
Per ulteriori informazioni, vedere Sicurezza dei componenti aggiuntivi.
Vedere anche
Attività
Procedura: controllare i componenti aggiuntivi tramite Gestione componenti aggiuntivi
Procedura dettagliata: debug di un progetto di componente aggiuntivo
Riferimenti
Microsoft.VisualStudio.TestTools.LoadTesting
Microsoft.VisualStudio.TestTools.WebTesting
Microsoft.VisualStudio.TestTools.WebTesting.Rules
Concetti
Registrazione di un componente aggiuntivo
Grafico del modello a oggetti di automazione
Eventi nei controlli di Windows Form
Altre risorse
Creazione e utilizzo di plug-in personalizzati per i test di carico e delle prestazioni Web
Proprietà dei controlli Windows Form
Sviluppo di controlli Windows Form personalizzati con .NET Framework