将数据源添加到 Web 性能测试
发布时间: 2016年7月
绑定数据以便为相同的测试提供不同的值,例如,为窗体 POST 参数提供不同的值。
我们将使用一个示例 ASP.NET 应用程序。 它有三个 .aspx 页:默认页、红色页和蓝色页。 默认页具有一个用于选择红色或蓝色的单选控件和一个提交按钮。 其他两个 .aspx 页非常简单。 一个具有名为“红色”的标签,另一个具有名为“蓝色”的标签。 当您选择在默认页上进行提交时,将显示其他两个页面之一。 你可以创建像那样的应用、下载我们的示例,或者按照你自己的 Web 应用进行操作。
解决方案也应包含浏览与Record and run a web performance test中创建的 ColorWebAppTest 项目类似的 Web 应用程序的页面的 Web 性能测试。
创建一个 SQL 数据库
如果你没有 Visual Studio Enterprise,请在此处获取它。
创建一个 SQL 数据库。
创建一个数据库项目。
向数据库项目中添加表。
向表中添加字段。
发布数据库项目。
向字段中添加数据。
添加数据源
添加数据源。
选择数据源的类型并为其命名。
创建连接。
输入连接详细信息。
选择要用于测试的表。
表将绑定到测试。
保存测试。
绑定数据
绑定 ColorName 字段。
在解决方案资源管理器中,打开 Local.testsettings 文件并根据数据源行选项选择一个运行。
保存 Web 性能测试。
使用数据运行测试
运行测试。
为每个数据行显示两个运行。 运行 1 发送页 Red.aspx 的请求,运行 2 发送页 Blue.aspx 的请求。
在绑定到数据源时,可能会违反默认响应 URL 规则。 在这种情况下,运行 2 中的错误是由规则引起的,该规则期望来自原始测试记录的 Red.aspx 页,而数据绑定现在将其指向 Blue.aspx 页。
通过删除响应 URL 验证规则并重新运行测试来纠正验证错误。
使用数据绑定通过 Web 性能测试。
问题解答
问:可将什么数据库用作数据源?
**答:**可以使用:
Microsoft SQL Azure。
任何版本的 Microsoft SQL Server 2005 或更高版本。
Microsoft SQL Server 数据库文件(包括 SQL Express)。
Microsoft ODBC。
使用 OLE DB 的 .NET Framework 提供程序的 Microsoft Access 文件。
Oracle 7.3、8i、9i 或 10g。
问:如何将逗号分隔的值 (CSV) 文本文件用作数据源?
**答:**操作方法如下:
创建一个文件夹来组织项目数据库项目并添加一个项。
创建文本文件。
编辑文本文件并添加:
ColorId, ColorName 0,Red 1,Blue
使用绑定 SQL 数据中的步骤,但选择 CSV 文件作为您的数据源。
问:如果我的现有 CSV 文件不包含列标头,该怎么办?
**答:**如果您不能添加列标头,则可以使用架构说明文件将 CSV 文件视为数据库。
添加名为 schema.ini 的新文本文件。
编辑该 schema.ini 文件,添加描述数据结构的信息。 例如,描述 CSV 文件的架构文件可能如下所示:
[testdata.csv] ColNameHeader=False
将数据源添加到测试。
如果您正在使用 schema.ini 文件,请选择数据库(不是 CSV 文件)作为数据源,并为其命名。
创建新连接。
选择 OLE DB 的 .NET Framework 数据提供程序。
选择“高级”。
对于 Provider 属性,请选择 Microsoft.Jet.OLEDB.4.0,并将扩展属性设置为 Text;HDR=NO。
键入包含架构文件的文件夹的名称并测试您的连接。
选择要使用的 CSV 文件。
完成后,CSV 文件会以表格形式显示。
问:如何将 XML 文件用作数据源?
**答:**可以。
创建一个文件夹来组织项目数据库项目并添加一个项。
创建 XML 文件。
编辑 XML 文件并添加您的数据:
<?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>
使用绑定 SQL 数据中的步骤,但选择 XML 文件作为您的数据源。
问:我是否能将数据绑定添加到使用 SOAP 的 Web 服务请求?
**答:**可以,您必须手动更改 SOAP XML。
选择请求树中的 Web 服务请求,并在“属性”窗口中,选择 String Body 属性中的省略号 (…)。
使用下面的语法,将 SOAP 正文中的值替换为数据绑定值:
{{DataSourceName.TableName.ColumnName}}
例如,如果您有以下代码:
<?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>
您可以将其更改为:
<?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>
保存测试。