Postupy: Vytvoření doplňku sady Visual Studio pro prohlížeč výsledků testu výkonnosti webu
Publikováno: duben 2016
Můžete rozšířit uživatelské rozhraní prohlížeče výsledků testů výkonnosti webu pomocí následujících oborů názvů:
Dále je třeba přidat odkaz na knihovnu LoadTestPackage DLL, který je umístěn ve složce %ProgramFiles%\Microsoft Visual Studio 12.0\Common7\IDE\PrivateAssemblies.
- Můžete rozšířit prohlížeč Web výkonu testovací výsledky uživatelského rozhraní, je nutné vytvořit doplněk sady Visual Studio a uživatelský ovládací prvek. Následující postupy popisují, jak vytvořit doplněk, uživatelský ovládací prvek a jak implementovat třídy nezbytné pro rozšíření uživatelského rozhraní prohlížeče výsledků testu výkonnosti webu.
Požadavky
- Visual Studio Enterprise
Vytvořte nebo otevřete řešení, které obsahuje webovou aplikace ASP.NET a webový výkon a projekt zátěžového testu
Chcete-li připravit pro rozšíření Web výkonu testovací výsledky Viewer
Vytvořte nebo otevřete neprovozní řešení, kde můžete experimentovat s obsahem webové aplikace technologie ASP.NET a webovým výkonem a testem zatížení projektu s jedním nebo více testů výkonu pro webovou aplikaci technologie ASP.NET.
Poznámka
Můžete vytvářet webové aplikace ASP.NET a výkonu webu a zátěžový test projekt, který obsahuje testů výkonu webu pomocí následujících postupů v [vyřazeno] Postupy: Vytvoření jednoduché webové aplikace a [vyřazeno] Návod: Zaznamenání a spuštění testu výkonnosti webu.
Vytvořit doplněk sady Visual Studio
Doplněk je zkompilovaná knihovna DLL, která běží v integrovaném vývojovém prostředí (IDE) Visual Studio. Kompilace pomáhá chránit duševní vlastnictví a zvyšuje výkon. Ačkoli doplňky můžete vytvořit ručně, je jednodušší použít průvodce doplňky. Tento průvodce vytvoří funkční, ale základní doplněk, který lze spustit ihned po vytvoření. Když průvodce doplňky vygeneruje základní program, můžete k němu přidat kód a přizpůsobit jej.
Průvodce doplňkem umožňuje zadat zobrazovaný název a popis pro váš doplněk. Oba se objeví ve Správci doplňků. Volitelně může průvodce nechat vygenerovat kód, který přidá do nabídky Nástroje příkaz pro otevření doplňku. Můžete také zobrazit vlastní dialog O programu pro daný doplněk. Po dokončení průvodce máte nový projekt, který má pouze jednu třídu, která implementuje doplněk. Tato třída má název Připojení.
Na konci tohoto tématu budete používat Správce doplňků.
Další informace naleznete v tématu Vytváření doplňků a průvodců.
Vytvoření doplňku pomocí Průvodce doplňky
V Průzkumníku řešení klikněte pravým tlačítkem na řešení, vyberte možnost Přidat a poté zvolte možnost Nový projekt.
Zobrazí se dialogové okno Nový projekt.
V části Nainstalované šablony rozbalte položku Jiné typy projektů a vyberte Rozšiřitelnost.
V seznamu šablon vyberte možnost Doplněk pro sadu Visual Studio.
Do pole Název zadejte název doplňku. Například WebPerfTestResultsViewerAddin.
Klepněte na tlačítko OK.
Spustí se Průvodce doplňky sady Visual Studio.
Zvolte možnost Další.
Na stránce Zvolte programovací jazyk vyberte programovací jazyk, který chcete použít k zápisu doplňku.
Poznámka
Toto téma používá Visual C# pro ukázkový kód.
Na stránce Zvolte hostitele aplikace vyberte možnost Visual Studio a zrušte zaškrtnutí pole Makra aplikace Visual Studio.
Zvolte možnost Další.
Zadejte název a popis pro doplněk na stránce Zadejte název a popis.
Po vytvoření doplňku se jeho název a popis zobrazí v seznamu Dostupné doplňky ve Správci doplňků. Přidáte dostatek podrobností do popisu doplňku tak, že uživatelé mohou získat informace, co doplněk dělá, jak funguje a tak dále.
Zvolte možnost Další.
Na Zvolte možností doplňku stránky, vyberte možnost bych měl tento doplněk načíst při spuštění aplikace hostitele.
Zrušte zaškrtnutí ostatních políček.
Na stránce Výběr informací nápovědy můžete určit, zda chcete informace o vašem doplňku zobrazit v dialogovém okně O produktu. Pokud chcete informace, které mají být zobrazeny, vyberte možnost Ano, chci mé doplněk nabízí pole informace o zaškrtávací políčko.
Informace, které mohou být přidány do dialogového okna Visual Studio O programu zahrnují číslo verze, podrobnosti o odborné pomoci, údaje o licencích a podobně.
Zvolte možnost Další.
Vybrané možnosti jsou zobrazeny na stránce Souhrn ke kontrole. Pokud jste spokojeni, vytvořte doplněk pomocí možnosti Dokončit. Pokud chcete něco změnit, zvolte tlačítko Zpět.
Jsou vytvářeny nová řešení a projekt a soubor Connect.cs pro nový doplněk se zobrazí v editoru kódu.
Přidejte kód do souboru Connect.cs za následující postup, který vytvoří uživatelský ovládací prvek, na který bude odkazovat tento projekt WebPerfTestResultsViewerAddin.
Po vytvoření doplňku je třeba jej zaregistrovat s Visual Studio před aktivací ve Správci doplňků. Můžete to provést pomocí souboru XML, který má příponu názvu souboru .addin.
Soubor .addin popisuje informace, které Visual Studio vyžaduje pro zobrazení doplňku ve Správci doplňků. Při spuštění Visual Studio se zobrazí v umístění souboru .addin pro jakékoli dostupné soubory .addin. Pokud najde všechny, přečte soubor XML soubor a dává Správci doplňků informace, které vyžaduje pro spuštění doplňku po klepnutí.
Soubor .addin je vytvořen automaticky při vytvoření doplňku pomocí průvodce pro doplňky.
Další informace naleznete v tématu Registrace doplňku.
Umístění souboru doplňku
Dvě kopie souboru .addin jsou automaticky vytvořeny pomocí průvodce přidáním následujícím způsobem:
Umístění souboru .Addin |
Umístění souboru .Dll |
Popis |
---|---|---|
Kořenová složka projektu \Dokumenty\Visual Studio 12\Projects\MyAddin1\MyAddin1\ |
Místní cesta (MyAddin1.dll) |
Používá se pro nasazení projektu doplňku. Součástí projektu pro snadné úpravy a má místní cestu pro nasazení stylu XCopy. |
Složka doplňku \Dokumenty\Visual Studio 12\Addins\ -nebo- Sdíleného umístění dokumenty\Addins\ |
Složka pro ladění projektu ((Například \ Documents\Visual Studio 12 Projects\MyAddin1\MyAddin1\bin\) |
Používá pro spuštění doplňku v prostředí ladění. Měly by vždy směrovat na výstupní cestu aktuální konfigurace sestavení. |
Vytvoření projektu ovládacího prvku knihovny Formulář Windows
Doplněk Visual Studio vytvořený v předchozí proceduře odkazuje na projekt Knihovna ovládacích prvků modelu Windows Forms k vytvoření instance třídy UserControl.
Další informace naleznete v tématu Ovládací prvky Windows Forms.
Vytvoření ovládacího prvku, který má být použit v prohlížeči výsledků testování webu
V Průzkumníku řešení klikněte pravým tlačítkem myši řešení, zvolte Přidat a potom vyberte Nový projekt.
Zobrazí se dialogové okno Nový projekt.
V části Nainstalované šablony, rozbalte položku buď jazyka Visual Basic nebo Visual C# a vyberte možnost Windows.
Poznámka
Toto téma používá Visual C# pro ukázkový kód.
V seznamu šablon vyberte možnost Knihovna ovládacích prvků formulářů Windows.
Do pole Název zadejte název doplňku. Například WebPerfTestResultsViewerControl.
Klepněte na tlačítko OK.
Ovládací prvek WebPerfTestResultsViewerControl projektu řídicí knihovny formulářů systému Windows je přidán do Průzkumníka řešení a v návrhovém režimu se zobrazí UserControl1.cs.
Z panelu nástrojů přetáhněte DataGridView na povrch userControl1.
Klikněte na tlačítko glyfů značku akce (
) v pravém horním rohu DataGridView a postupujte takto:
Zvolte Ukotvit v nadřazeném kontejneru.
Zrušte zaškrtnutí políček Povolit přidání, Povolit úpravy, Povolit odstranění a Povolit změnu pořadí sloupců.
Vyberte Přidat sloupec.
Zobrazí se dialogové okno Přidat sloupec.
Ve sloupci Typ vyberte z rozevíracího seznamu možnost DataGridViewTextBoxColumn.
Odstraňte text "Sloupec1" v Text záhlaví.
Zvolte možnost Přidat.
Klikněte na tlačítko Zavřít.
V okně Vlastnosti změňte vlastnost (Název) na resultControlDataGridView.
Klikněte pravým tlačítkem na návrhové ploše a vyberte možnost Zobrazit kód.
Soubor UserControl1.cs se zobrazí v editoru kódu.
Změna názvu instance třídy UserControl z UserContro1 na resultControl:
namespace WebPerfTestResultsViewerControl { public partial class resultControl : UserControl { public resultControl() { InitializeComponent(); }
V následujícím postupu přidáte kód do souboru Connect.cs projektu WebPerfTestResultsViewerAddin, který bude odkazovat na třídu resultControl.
Později budete přidávat další kód do souboru Connect.cs.
Přidat kód do doplňku WebPerfTestResultsViewerAddin
Přidání kódu do doplňku Visual Studio k rozšíření prohlížeče výsledků webového testu
V Průzkumníku řešení v projektu WebPerfTestResultsViewerControl klikněte pravým tlačítkem na uzel Odkazy a vyberte možnost Přidat odkaz.
V dialogovém okně Přidat odkaz vyberte kartu .NET.
Projděte níže a zvolte možnosti Microsoft.VisualStudio.QualityTools.WebTestFramework a System.Windows.Forms.
Klepněte na tlačítko OK.
Pravým tlačítkem znovu klikněte na uzel Odkazy a vyberte možnost Přidat odkaz.
V dialogovém okně Přidat odkaz vyberte kartu Procházet.
Zvolte rozevírací seznam pro Najít v a přejděte na %ProgramFiles%\Microsoft Visual Studio 12.0\Common7\IDE\PrivateAssemblies a vyberte soubor Microsoft.VisualStudio.QualityTools.LoadTestPackage.dll.
Klepněte na tlačítko OK.
Pravým tlačítkem myši klikněte na uzel projektu WebPerfTestResultsViewerAddin a vyberte možnost Přidat odkaz.
V dialogovém okně Přidat odkaz vyberte kartu Projekty.
V části Název projektu vyberte projekt WebPerfTestResultsViewerControl a zvolte tlačítko OK.
Pokud není soubor Connect.cs stále otevřen v okně Průzkumník řešení, klepněte pravým tlačítkem myši na soubor Connect.cs v projektu WebPerfTestResultsViewerAddin a vyberte Zobrazit kód.
V souboru Connect.cs přidejte následující příkazy Using:
using System.IO; using System.Windows.Forms; using System.Collections.Generic; using Microsoft.VisualStudio.TestTools.LoadTesting; using Microsoft.VisualStudio.TestTools.WebTesting; using WebPerfTestResultsViewerControl;
Projděte dolů na konec souboru Connect.cs. Je třeba přidat seznam identifikátorů GUID pro UserControl v případě, že je otevřeno více instancí prohlížeče výsledků testu výkonnosti webu. Později přidáte kód, který používá tento seznam.
Druhý seznam řetězce je používán v metodě OnDiscconection, která bude kódována později.
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>();
Soubor Connect.cs vytvoří instanci třídy s názvem Připojení ze třídy IDTExtensibility2 a obsahuje také některé metody pro implementaci doplňků Visual Studio. Jednou z metod je metoda OnConnection, která obdrží upozornění v případě, že je doplněk načítán. V metodě OnConnection použijete třídu LoadTestPackageExt pro vytvoření balíčku rozšíření pro prohlížeč výsledků testu výkonnosti webu. Do metody OnConnection přidejte následující kód:
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); }
Přidejte následující kód do třídy připojení k vytvoření metody WebTestResultViewerExt_WindowCreated metoda pro obslužnou rutinu události loadTestPackageExt.WebTestResultViewerExt.WindowCreated, kterou jste přidali v metodě OnConnection a pro metodu WindowCreated, kterou volá metoda 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); }
Přidejte následující kód do třídy připojení pro vytvoření metody WebTestResultViewer_SelectedChanged pro obslužnou rutinu události loadTestPackageExt.WebTestResultViewerExt.SelectionChanged, kterou jste přidali v metodě 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); } }
Přidejte následující kód do třídy připojení pro vytvoření metody WebTesResultViewer_WindowClosed pro obslužnou rutinu události pro loadTestPackageExt.WebTestResultViewerExt.WindowClosed, kterou jste přidali v metodě OnConnection:
void WebTesResultViewer_WindowClosed(object sender, WebTestResultViewerExt.WindowClosedEventArgs e) { if (m_controls.ContainsKey(e.WebTestResultViewer.TestResultId)) { m_controls.Remove(e.WebTestResultViewer.TestResultId); } }
Nyní, když je kód dokončen pro doplněk Visual Studio, je třeba přidat metodu aktualizace do resultControl v rámci projektu WebPerfTestResultsViewerControl.
Přidat kód do ovládacího prvku WebPerfTestResultsViewerControl
Další informace naleznete v tématu Základní informace o vývoji ovládacích prvků Windows Forms.
Přidání kódu do uživatelského ovládacího prvku
V Průzkumníku řešení klikněte pravým tlačítkem myši na uzel projektu WebPerfTestResultsViewerControl a vyberte možnost Vlastnosti.
Vyberte aplikace a potom klikněte na příkaz Cílová architektura z rozevíracího seznamu a vyberte rozhraní .NET Framework 4 a zavřete vlastnosti.
To je nutné pro podporu odkazů na knihovnu DLL, které jsou potřeba pro rozšíření prohlížeče výsledků testu výkonu webu.
V Průzkumníku řešení v projektu WebPerfTestResultsViewerControl klikněte pravým tlačítkem na uzel Odkazy a vyberte možnost Přidat odkaz.
V dialogovém okně Přidat odkaz klikněte na kartu .NET.
Projděte níže a zvolte možnost Microsoft.VisualStudio.QualityTools.WebTestFramework.
Klepněte na tlačítko OK.
V souboru UserControl1.cs přidejte následující příkazy Using:
using Microsoft.VisualStudio.TestTools.WebTesting; using Microsoft.VisualStudio.TestTools.WebTesting.Rules;
Přidáte volanou metodu aktualizace, která předala WebTestRequestResult z metody WebPerfTestResultsViewerAddin WebTestResultViewer_SelectedChanged v souboru Connect.cs. Metoda Aktualizovat naplní ovládací prvek DataGridView různými vlastnostmi, které jsou do ní předány v 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()); } }
Sestavte řešení WebPerfTestResultsViewerAddin
Sestavení řešení
- V nabídce Sestavit zvolte Sestavit řešení.
Registrace doplňku WebPerfTestResultsViewerAddin
Chcete-li zaregistrovat doplněk pomocí Správce doplňků
V nabídce Nástroje vyberte možnost Správce rozšíření.
Zobrazí se dialogové okno Správce doplňků.
Zaškrtněte políčko pro doplněk WebPerfTestResultsViewerAddin ve sloupci Dostupné doplňky a zrušte zaškrtnutí políček v sloupcích Po spuštění a Příkazový řádek.
Klepněte na tlačítko OK.
Další informace naleznete v tématu Postupy: Řízení doplňků pomocí Správce doplňků.
Spustit test výkonnosti webu pomocí doplňku Build WebPerfTestResultsViewerAddin
Chcete-li spustit nový doplněk VS pro prohlížeč výsledků testu výkonu webu
Po spuštění testu výkonnosti webu uvidíte novou kartu doplňku WebPerfTestResultsViewerAddin s názvem Vzorek, která se zobrazí v prohlížeči výsledků testování výkonu webu.
Klepněte na kartu pro zobrazení vlastnosti zobrazených v DataGridView.
Zabezpečení rozhraní .NET Framework
Chcete-li zlepšit zabezpečení zabráněním škodlivým doplňkům v automatické aktivaci, Visual Studio obsahuje nastavení na stránce Možnosti nástrojů s názvem Doplněk/Zabezpečení maker.
Kromě toho tato stránka možností umožňuje určit složky, ve kterých hledá Visual Studio registrační soubory .AddIn. To vylepšuje zabezpečení tím, že je možné omezit místa, kde lze číst soubory registrace AddIn. Pomáhá bránit škodlivým souborům AddIN před neúmyslným použitím.
Nastavení zabezpečení doplňků
Nastavení v Zabezpečení doplňku, prostředí, dialogové okno Možnosti které se vztahují k doplňku zabezpečení jsou následující:
Umožňuje načtení součástí doplňku. Ve výchozím nastavení vybráno. Zaškrtnete-li toto políčko, doplňky mohou být v aplikaci Visual Studio načteny. Není-li toto políčko zaškrtnuté, doplňky mají zakázáno načítání v aplikaci Visual Studio.
Umožňuje načtení součástí doplňku z adresy URL. Ve výchozím nastavení není vybráno. Zaškrtnete-li toto políčko, mohou být doplňky načteny z externích webů. Není-li toto políčko zaškrtnuté, vzdálené doplňky mají zakázáno načítání v aplikaci Visual Studio. Pokud z nějakého důvodu nelze načíst doplněk, pak jej nelze načíst z webu. Toto nastavení řídí pouze načítání DLL doplňku. Registrační soubory .Addin musí být vždy umístěny v místním systému.
Další informace naleznete v tématu Zabezpečení doplňku.
Viz také
UserControl
Microsoft.VisualStudio.TestTools.LoadTesting
Microsoft.VisualStudio.TestTools.WebTesting
Microsoft.VisualStudio.TestTools.WebTesting.Rules
UserControl
DataGrid
Vytvoření vlastního kódu a modulů plugin pro zátěžové testování
Registrace doplňku
Graf modelu objektů automatizace
Postupy: Řízení doplňků pomocí Správce doplňků
Návod: Ladění projektu doplňku
Vlastnosti v ovládacích prvcích Windows Forms
Události v ovládacích prvcích Windows Forms
Vývoj vlastních ovládacích prvků Windows Forms pomocí rozhraní .NET Framework