|
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
|
Traducción
Original
|
Cómo: Crear un adaptador de datos de diagnóstico
Importante
|
|---|
|
|
|
|
|
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Nota
|
|---|
|
|
Par crear e instalar un adaptador de datos de diagnóstico
-
Cree una nueva biblioteca de clases. -
En el menú Archivo, seleccione Agregar y luego elija Nuevo proyecto. -
En Tipos de proyecto, seleccione el idioma que desea utilizar. -
En Plantillas instaladas de Visual Studio, seleccione Biblioteca de clases. -
Escriba un nombre para el adaptador de datos de diagnóstico. -
Elija Aceptar.
-
-
Agregue el ensamblado Microsoft.VisualStudio.QualityTools.ExecutionCommon. -
En el Explorador de soluciones, haga clic con el botón secundario en Referencias y elija el comando Agregar referencia. -
Seleccione .NET y busque Microsoft.VisualStudio.QualityTools.ExecutionCommon.dll. -
Elija Aceptar.
-
-
Agregue el ensamblado Microsoft.VisualStudio.QualityTools.Common. -
En el Explorador de soluciones, haga clic con el botón secundario en Referencias y seleccione el comando Agregar referencia. -
Elija /.NET, busque Microsoft.VisualStudio.QualityTools.Common.dll. -
Elija Aceptar.
-
-
Agregue las instrucciones using siguientes al archivo de clase: using Microsoft.VisualStudio.TestTools.Common; using Microsoft.VisualStudio.TestTools.Execution; using System.Linq; using System.Text; using System.Xml; using System;
-
Agregue DataCollectorTypeUriAttribute a la clase para que el adaptador de datos de diagnóstico lo identifique como un adaptador de datos de diagnóstico, y reemplace Compañía, Producto y Versión por la información apropiada para el adaptador de datos de diagnóstico: [DataCollectorTypeUri("datacollector://Company/Product/Version")] -
Agregue el atributo DataCollectorFriendlyNameAttribute a la clase, reemplazando los parámetros por la información apropiada para el adaptador de datos de diagnóstico: [DataCollectorFriendlyName("Collect Log Files", false)]Este nombre descriptivo se muestra en la actividad de configuración de pruebas.
NotaTambién puede agregar DataCollectorConfigurationEditorAttribute para especificar el Type de su editor de configuración personalizado para este adaptador de datos y para especificar opcionalmente el archivo de ayuda que se va a usar para el editor. También puede aplicar DataCollectorEnabledByDefaultAttribute para especificar que siempre debe estar habilitado. -
La clase del adaptador de datos de diagnóstico debe heredar de la clase DataCollector del siguiente modo: public class MyDiagnosticDataAdapter : DataCollector
-
Agregue las variables locales como se indica a continuación: private DataCollectionEvents dataEvents; private DataCollectionLogger dataLogger; private DataCollectionSink dataSink; private XmlElement configurationSettings;
-
Agregue el método Initialize y un método Dispose. En el método Initialize, puede inicializar el receptor de datos, los datos de la configuración de pruebas y registrar los controladores de eventos que desee usar del siguiente modo: public override void Initialize( XmlElement configurationElement, DataCollectionEvents events, DataCollectionSink sink, DataCollectionLogger logger, DataCollectionEnvironmentContext environmentContext) { dataEvents = events; // The test events dataLogger = logger; // The error and warning log dataSink = sink; // Saves collected data // Configuration from the test settings configurationSettings = configurationElement; // Register common events for the data collector // Not all of the events are used in this class dataEvents.SessionStart += new EventHandler<SessionStartEventArgs>(OnSessionStart); dataEvents.SessionEnd += new EventHandler<SessionEndEventArgs>(OnSessionEnd); dataEvents.TestCaseStart += new EventHandler<TestCaseStartEventArgs>(OnTestCaseStart); dataEvents.TestCaseEnd += new EventHandler<TestCaseEndEventArgs>(OnTestCaseEnd); } public override void Dispose(bool disposing) { if (disposing) { // Unregister the registered events dataEvents.SessionStart -= new EventHandler<SessionStartEventArgs>(OnSessionStart); dataEvents.SessionEnd -= new EventHandler<SessionEndEventArgs>(OnSessionEnd); dataEvents.TestCaseStart -= new EventHandler<TestCaseStartEventArgs>(OnTestCaseStart); dataEvents.TestCaseEnd -= new EventHandler<TestCaseEndEventArgs>(OnTestCaseEnd); } } -
Use el código de controlador de eventos y el método privado siguientes para recopilar el archivo de registro generado durante la prueba: public void OnTestCaseEnd(sender, TestCaseEndEventArgs e) { // Get any files to be collected that are // configured in your test settings List<string> files = getFilesToCollect(); // For each of the files, send the file to the data sink // which will attach it to the test results or to a bug foreach (string file in files) { dataSink.SendFileAsync(e.Context, file, false); } } // A private method that returns the file names private List<string> getFilesToCollect() { // Get a namespace manager with our namespace XmlNamespaceManager nsmgr = new XmlNamespaceManager( configurationSettings.OwnerDocument.NameTable); nsmgr.AddNamespace("ns", "http://MyCompany/schemas/MyDataCollector/1.0"); // Find all of the "File" elements under our configuration XmlNodeList files = configurationSettings.SelectNodes( "//ns:MyDataCollector/ns:File"); // Build the list of files to collect from the // "FullPath" attributes of the "File" nodes. List<string> result = new List<string>(); foreach (XmlNode fileNode in files) { XmlAttribute pathAttribute = fileNode.Attributes["FullPath"]; if (pathAttribute != null && !String.IsNullOrEmpty(pathAttribute.Value)) { result.Add(pathAttribute.Value); } } return result; }Estos archivos se adjuntan a los resultados de pruebas. Si crea un error a partir de estos resultados de pruebas o al usar Ejecutor de pruebas, los archivos también se adjuntarán al error. Si desea usar su propio editor para recopilar datos que se van a usar en la configuración de pruebas, vea Cómo: Crear un editor personalizado para los datos del adaptador de datos de diagnóstico. -
Para recopilar un archivo de registro cuando finalice una prueba basándose en lo que el usuario configuró en la configuración de pruebas, debe crear un archivo App.config y agregarlo a la solución. Este archivo tiene el siguiente formato y debe contener el URI para que el adaptador de datos de diagnóstico lo identifique. Sustituya "Compañía/NombreDeProducto/Versión" por valores reales.
Nota
Si no necesita configurar ninguna información para el adaptador de datos de diagnóstico, no necesita crear ningún archivo de configuración. <?xml version="1.0" encoding="utf-8"?> <configuration> <configSections> <section name="DataCollectorConfiguration" type="Microsoft.VisualStudio.TestTools.Execution.DataCollectorConfigurationSection, Microsoft.VisualStudio.QualityTools.ExecutionCommon, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> </configSections> <DataCollectorConfiguration xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/11"> <DefaultConfiguration> <!-- Your default config settings --> <File FullPath="C:\temp\logfile1.txt"/> <File FullPath="C:\temp\logfile2.txt"/> </DefaultConfiguration> </DataCollectorConfiguration> </configuration>
NotaEl elemento de configuración predeterminado puede contener cualquier dato que necesite. Si el usuario no configura el adaptador de datos de diagnóstico en la configuración de pruebas, los datos predeterminados se pasarán al adaptador de datos de diagnóstico cuando se ejecute. Puesto que no es probable que el código XML que agrega a la sección <DefaultConfigurations> forme parte del esquema declarado, puede omitir cualquier error de XML que genere. Hay otros ejemplos de archivos de configuración en la siguiente ruta de acceso basada en el directorio de instalación: Program Files\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies\DataCollectors. Para obtener más información sobre cómo establecer la configuración de pruebas para usar un entorno al ejecutar las pruebas, vea Especificar la configuración de prueba en Microsoft Test Manager o Crear la configuración para pruebas del sistema automatizadas mediante Microsoft Test Manager. Para obtener más información sobre cómo instalar el archivo de configuración, vea Cómo: Instalar un adaptador de datos de diagnóstico personalizado. -
Compile la solución para crear el ensamblado del adaptador de datos de diagnóstico. -
Para obtener información sobre cómo instalar el editor personalizado, vea Cómo: Instalar un adaptador de datos de diagnóstico personalizado. -
Para obtener más información sobre cómo establecer la configuración de pruebas para usar un entorno al ejecutar las pruebas, vea Especificar la configuración de prueba en Microsoft Test Manager o Crear la configuración para pruebas del sistema automatizadas mediante Microsoft Test Manager. -
Para seleccionar el adaptador de datos de diagnóstico, debe seleccionar primero una configuración de pruebas existente o crear una nueva desde Microsoft Test Manager o Visual Studio. El adaptador se muestra en la pestaña Datos y diagnósticos de su configuración de pruebas con el nombre descriptivo que asignó a la clase. -
Si está ejecutando las pruebas en Microsoft Test Manager, puede asignar estas configuraciones de pruebas a su plan de pruebas antes de ejecutar las pruebas o usar el comando Ejecutar con opciones para asignar e invalidar configuraciones de pruebas. Para obtener más información sobre la configuración de pruebas, vea Configurar máquinas y recopilar información de diagnóstico con la configuración de pruebas. Si ejecuta las pruebas desde Visual Studio, debe establecer que esta configuración de pruebas esté activa. Para obtener más información acerca de la configuración de pruebas, vea Especificar la configuración para las pruebas de Visual Studio. -
Ejecute las pruebas usando la configuración de pruebas y con el adaptador de datos de diagnóstico seleccionado. El archivo de datos que especificó se adjunta a los resultados de pruebas.