Agregar un origen de datos a una prueba de rendimiento web
Publicada: julio de 2016
Utilice el enlace datos para proporcionar valores diferentes a la misma prueba; por ejemplo, para proporcionar valores diferentes a los parámetros de envío de formulario.
Vamos a utilizar una aplicación ASP.NET de ejemplo. Tiene tres páginas .aspx: la página predeterminada, la página Red y la página Blue. La página predeterminada tiene un control de radio para elegir entre rojo y azul y un botón de envío. Las otras dos páginas .aspx son muy simples. Una tiene una etiqueta denominada Red y la otra tiene una etiqueta denominada Blue. Cuando elige Submit en la página predeterminada, se muestra una de las otras páginas. Puede crear una aplicación como esta, descargar nuestro ejemplo o simplemente seguir con su propia aplicación web.
La solución también debe incluir una prueba de rendimiento web que examine las páginas de la aplicación web de forma similar al proyecto ColorWebAppTest creado en Record and run a web performance test.
Crear una base de datos SQL
Si no tiene Visual Studio Enterprise, puede obtenerlo aquí.
Cree una base de datos SQL.
Cree un proyecto de base de datos.
Agregar una tabla al proyecto de base de datos.
Agregue campos a la tabla.
Publique el proyecto de base de datos.
Agregue datos a los campos.
Agregar el origen de datos
Agregue un origen de datos.
Elija el tipo de origen de datos y asígnele un nombre.
Cree una conexión.
Especifique los detalles de la conexión.
Seleccione la tabla que desea usar para la prueba.
La tabla está enlazada a la prueba.
Guarde la prueba.
Enlazar los datos
Enlace el campo ColorName.
Abra el archivo Local.testsettings en el Explorador de soluciones y seleccione la opción Una ejecución por fila de origen de datos.
Guarde la prueba de rendimiento web.
Ejecutar la prueba con los datos
Ejecute la prueba.
Se muestran las dos ejecuciones de cada fila de datos. La ejecución 1 envía una solicitud para la página Red.aspx, mientras que la ejecución 2 envía una solicitud para la página Blue.aspx.
Cuando establece un enlace con un origen de datos, puede infringir la regla de dirección URL de respuesta predeterminada. En este caso, el error de la ejecución 2 estará causado por la regla que espera la página Red.aspx de la grabación de la prueba original; sin embargo, el enlace de datos ahora dirige a la página Blue.aspx.
Corrija el error de validación eliminando la regla de validación de la dirección URL de respuesta y vuelva a ejecutar la prueba.
Ahora la prueba de rendimiento web se realiza correctamente utilizando el enlace de datos.
Preguntas y respuestas
P: ¿Qué bases de datos puedo usar como origen de datos?
R: Puede utilizar las siguientes:
Microsoft SQL Azure.
Cualquier versión de Microsoft SQL Server 2005 o posterior.
Un archivo de base de datos de Microsoft SQL Server (incluido SQL Express).
Microsoft ODBC.
Un archivo de Microsoft Access que utilice el proveedor de datos .NET Framework para OLE DB.
Oracle 7.3, 8i, 9i o 10g.
P: ¿Puedo usar un archivo de texto de valores separados por comas (CSV) como origen de datos?
R: Esta es la manera de hacerlo:
Cree una carpeta para organizar los artefactos de base de datos de los proyectos y agregar un elemento.
Crear un archivo de texto
Edite el archivo de texto y agregue lo siguiente:
ColorId, ColorName 0,Red 1,Blue
Siga los pasos que se indican en Enlazar los datos SQL, pero elija el archivo CSV como origen de datos.
P: ¿Qué ocurre si mi archivo CSV existente no contiene encabezados de columna?
R: Si no puede agregar encabezados de columna, puede utilizar un archivo de descripción de esquema para tratar el archivo CSV como una base de datos.
Agregue un nuevo archivo de texto denominado schema.ini.
Edite el archivo schema.ini para agregar información que describa la estructura de los datos. Por ejemplo, un archivo de esquema que describa el archivo CSV podría ser similar al siguiente:
[testdata.csv] ColNameHeader=False
Agregue un origen de datos a la prueba.
Si usa un archivo schema.ini, elija la base de datos (y no el archivo CSV) como origen de datos y asígnele un nombre.
Cree una nueva conexión.
Seleccionar el proveedor de datos .NET Framework para OLE DB.
Elija Avanzado.
En la propiedad Proveedor, seleccione Microsoft.Jet.OLEDB.4.0 y después establezca Propiedades extendidas en Text;HDR=NO.
Escriba el nombre de la carpeta que contiene el archivo de esquema y pruebe la conexión.
Seleccione el archivo CSV que desee utilizar.
Cuando termine, el archivo CSV aparecerá como una tabla.
P: ¿Cómo utilizo un archivo XML como origen de datos?
R: Sí.
Cree una carpeta para organizar los artefactos de base de datos de los proyectos y agregar un elemento.
Cree un archivo XML.
Edite el archivo XML y agregue los datos:
<?xml version="1.0" encoding="utf-8" ?> <ColorData> <Color> <ColorId>0</ColorId> <ColorName>Red</ColorName> </Color> <Color> <ColorId>1</ColorId> <ColorName>Blue</ColorName> </Color> </ColorData>
Siga los pasos que se indican en Enlazar los datos SQL, pero elija el archivo XML como origen de datos.
P: ¿Se puede agregar un enlace de datos a una solicitud de servicio Web que use SOAP?
R: Sí, debe cambiar manualmente el código XML de SOAP.
Elija la solicitud de servicio Web en el árbol de solicitudes y, en la ventana Propiedades, elija los puntos suspensivos (...) de la propiedad Texto de la cadena.
Reemplace los valores del cuerpo SOAP por valores enlazados a datos utilizando la siguiente sintaxis:
{{DataSourceName.TableName.ColumnName}}
Por ejemplo, si tiene el siguiente código:
<?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <CheckStatus xmlns="http://tempuri.org/"> <userName>string</userName> <password>string</password> <orderID>int</orderID> </CheckStatus> </soap:Body> </soap:Envelope>
Puede cambiarlo por lo siguiente:
<?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <CheckStatus xmlns="http://tempuri.org/"> <userName>{{DataSourceName.Users.Name}}</userName> <password>{{DataSourceName.Users.Password}}</password> <orderID>{{DataSourceName.Orders.OrderID}}</orderID> </CheckStatus> </soap:Body> </soap:Envelope>
Guarde la prueba.