Udostępnij za pośrednictwem


Porady: tworzenie edytora niestandardowego dla danych dla Twojego adaptera danych diagnostycznych

 

Opublikowano: czerwiec 2016

Po utworzeniu karty danych diagnostycznych, możesz chcieć umożliwić użytkownikowi konfigurowanie określonych danych po wybraniu niestandardowej karty danych diagnostycznych dla ich ustawień testowych. Na przykład można wybrać dane konfiguracji, które określają, które klucze rejestru wyodrębnić, jaki poziom obciążenia sieciowego zasymulować lub w którym katalogu znaleźć pliki tymczasowe lub pliki robocze do dołączenia.

Musisz użyć pliku konfiguracji do ustawiania wartości początkowych karty danych diagnostycznych. Możesz zapewnić niestandardowy edytor, aby umożliwić użytkownikowi modyfikowanie danych konfiguracji.

Aby utworzyć własny edytor, utworzysz formant użytkownika, który implementuje IDataCollectorConfigurationEditor.

Twoja karta danych diagnostycznych może użyć DataCollectorConfigurationEditorAttribute do określenia klasy edytora do edycji ustawień konfiguracji danych diagnostycznych.

Określasz również domyślne dane konfiguracji, których chcesz użyć. Zobacz Przykładowy projekt do tworzenia adaptera danych diagnostycznych dla przykładowej konfiguracji domyślnej.

Poniższa procedura umożliwia utworzenie niestandardowego edytora do aktualizowania danych ustawień testu, gdy używana jest niestandardowa karta danych diagnostycznych.

Uwaga

Aby utworzyć niestandardowy edytor, należy najpierw utworzyć kartę danych diagnostycznych, która ma DataCollectorConfigurationEditorAttribute stosowane do klasy.Możesz użyć opcjonalnej właściwości HelpUri w tym atrybucie, aby określić źródło zawartości pomocy dla Twojego edytora.Aby uzyskać więcej informacji dotyczących tworzenia adaptera danych diagnostycznych, zobacz Porady: tworzenie adaptera danych diagnostycznych.

Aby uzyskać pełny przykład projektu adaptera danych diagnostycznych, w tym z edytorem konfiguracji niestandardowych, zobacz Przykładowy projekt do tworzenia adaptera danych diagnostycznych.

Tworzenie niestandardowego edytora dla adaptera danych diagnostycznych

Aby utworzyć niestandardowy edytor karty danych diagnostycznych

  1. Utwórz formant użytkownika w projekcie adaptera danych diagnostycznych:

    1. Kliknij prawym przyciskiem myszy projekt kodu, który zawiera klasę karty danych diagnostycznych, wskaż Dodaj a następnie wskaż Kontrola użytkownika.

    2. W tym przykładzie należy dodać etykietę do formularza z tym tekstem: Nazwa pliku danych: i pole tekstowe o nazwie FileTextBox, który umożliwi użytkownikowi wprowadzanie niezbędnych danych.

    Uwaga

    Obecnie obsługiwane są tylko formanty użytkownika interfejsu Windows Forms.

  2. Dodaj te wiersze do sekcji deklaracji:

    using System.Xml;
    using Microsoft.VisualStudio.TestTools.Common;
    using Microsoft.VisualStudio.TestTools.Execution;
    
  3. Przekształć ten formant użytkownika w niestandardowy edytor.

    1. Kliknij prawym przyciskiem myszy formant użytkownika w projekcie kodu i wskaż Wyświetl Kod.

    2. Ustaw klasę, aby zaimplementować interfejs edytora IDataCollectorConfigurationEditor w następujący sposób:

    public partial class MyDataConfigEditor :
         UserControl, IDataCollectorConfigurationEditor
    
    1. Kliknij prawym przyciskiem myszy IDataCollectorConfigurationEditor w kodzie i wybierz polecenie Implementuj interfejs. Metody, które należy zaimplementować dla tego interfejsu są dodawane do klasy.

    2. Dodaj DataCollectorConfigurationEditorAttribute w celu kontrolowania użytkowników tego edytora, aby zidentyfikować to jako edytora adaptera danych diagnostycznych, zastępując firmę, produkt i wersję odpowiednimi informacjami dla adaptera danych diagnostycznych:

      [DataCollectorConfigurationEditorTypeUri(
          "configurationeditor://MyCompany/MyConfigEditor/1.0")]
      
  4. Dodaj dwie zmienne prywatne w następujący sposób:

    private DataCollectorSettings collectorSettings;
    private IServiceProvider ServiceProvider { get; set; }
    
  5. Dodaj kod, aby zainicjować edytora dla adaptera danych diagnostycznych. Możesz dodać wartości domyślne do pól w formancie użytkownika korzystając z danych znajdujących się w zmiennej ustawienia. Są to dane, które znajdują się w elemencie <DefaultConfiguration> w pliku konfiguracyjnym XML dla Twojej karty.

    public void Initialize(
        IServiceProvider svcProvider,
        DataCollectorSettings settings)
    {
        ServiceProvider = svcProvider;
        collectorSettings = settings;
    
        // Display the default file name as listed in the settings file.
        this.SuspendLayout();
        this.FileTextBox.Text = getText(collectorSettings.Configuration);
        this.ResumeLayout();
    }
    
  6. Dodaj kod, aby zapisać dane z formantów w edytorze powrót do formatu XML, wymaganej przez kartę dane diagnostyczne API w następujący sposób:

    public DataCollectorSettings SaveData()
    {
        collectorSettings.Configuration.InnerXml =
            String.Format(
    @"<MyCollectorName
        http://MyCompany/schemas/MyDiagnosticDataCollector/1.0"">
      <File FullPath=""{0}"" />
    </MyCollectorName>",
        FileTextBox.Text);
        return collectorSettings;
    }
    
  7. Jeśli jest to dla Ciebie ważne, dodaj kod, aby sprawdzić, czy dane są poprawne w metodzie VerifyData, lub też metoda może zwracać wartość true.

    public bool VerifyData()
    {
        // Not currently verifying data
        return true;
    }
    
  8. (Opcjonalnie) Można dodać kod, aby przywrócić dane do ustawień początkowych, które są dostarczane w pliku konfiguracyjnym XML w metodzie ResetToAgentDefaults(), która używa prywatnej metody getText().

    // Reset to default value from XML configuration
    // using a custom getText() method
    public void ResetToAgentDefaults()
    {
        this.FileTextBox.Text = getText(collectorSettings.DefaultConfiguration);
    }
    
    // Local method to read the configuration settings
    private string getText(XmlElement element)
    {
        // Setup namespace manager with our namespace
        XmlNamespaceManager nsmgr =
            new XmlNamespaceManager(
                element.OwnerDocument.NameTable);
    
        // Find all the "File" elements under our configuration
        XmlNodeList files = element.SelectNodes("//ns:MyCollectorName/ns:File", nsmgr);
    
        string result = String.Empty;
        if (files.Count > 0)
        {
            XmlAttribute pathAttribute = files[0].Attributes["FullPath"];
            if (pathAttribute != null &&
                !String.IsNullOrEmpty(pathAttribute.Value))
            {
                result = pathAttribute.Value;
            }
        }
    
        return result;
    }
    
  9. Tworzenie rozwiązania. Kopiuj zestaw adaptera danych diagnostycznych i plik konfiguracyjny XML (<diagnostic data adapter name>.dll.config) do następującej lokalizacji na podstawie katalogu instalacji: Program Files\Microsoft Visual Studio 12.0\Common7\IDE\PrivateAssemblies\DataCollectors.

    Uwaga

    Chociaż edytor konfiguracji może być w projekcie i zespole, który różni się od adaptera danych diagnostycznych, mogą one być w tym samym zestawie.

  10. Aby użyć karty danych diagnostycznych podczas testowania, musisz wybrać z listy istniejących ustawień testu lub utworzyć nowy z Microsoft Test Manager lub Visual Studio, a następnie wybrać kartę danych diagnostycznych.

    Adapter jest wyświetlany na karcie Dane i Diagnostyka w ustawieniach testowych pod przyjazną nazwą, którą przypisałeś do klasy.

  11. Aby skonfigurować kartę danych diagnostycznych dla ustawień testu, wybierz Skonfiguruj obok nazwy karty.

    Niestandardowego edytora jest teraz wyświetlany.

  12. Edytuj pola w edytorze niestandardowym zgodnie z wymaganiami, a następnie wybierz opcję Zapisz.

  13. W przypadku uruchamiania testów z programu Microsoft Test Manager można przypisać te ustawienia testów do planu testów przed uruchomieniem testów lub użyć polecenia Uruchom z opcjami w celu przypisywania ustawień testów i zastępowania ustawień testów. Aby uzyskać więcej informacji na temat ustawień testowych, zobacz Konfigurowanie maszyn i zbieranie informacji diagnostycznych za pomocą ustawień testowych.

  14. Przed użyciem nowej konfiguracji edytora za pomocą adaptera danych diagnostycznych, należy zastosować DataCollectorConfigurationEditorAttribute do każdej klasy adaptera danych diagnostycznych, dla której chcesz użyć edytora, ponownie skompilować i ponownie je zainstalować na komputerze klienckim. Aby uzyskać więcej informacji dotyczących sposobu instalowania adapterów danych diagnostycznych i edytorów konfiguracji, zobacz Porady: instalowanie niestandardowego adaptera danych diagnostycznych.

  15. Uruchom testy przy użyciu ustawień testowych z wybraną kartą danych diagnostycznych.

    Plik danych, który określiłeś w edytorze, jest dołączany do wyników testu.

Aby uzyskać więcej informacji na temat konfigurowania ustawień testów w celu używania środowiska podczas wykonywania testów, zobacz Zbieranie większej ilości danych diagnostycznych podczas wykonywania testów ręcznych lub Tworzenie ustawień automatycznych testów systemowych przy użyciu programu Microsoft Test Manager.

Zobacz też

IDataCollectorConfigurationEditor
DataCollectorConfigurationEditorAttribute
DataCollectorConfigurationEditorAttribute
Tworzenie adaptera danych diagnostycznych w celu zbierania danych niestandardowych lub wywierania wpływu na maszynę testową
Konfigurowanie maszyn i zbieranie informacji diagnostycznych za pomocą ustawień testowych
Przykładowy projekt do tworzenia adaptera danych diagnostycznych