将数据源添加到 Web 性能测试

 

发布时间: 2016年7月

绑定数据以便为相同的测试提供不同的值,例如,为窗体 POST 参数提供不同的值。

将数据绑定到 Web 性能测试

我们将使用一个示例 ASP.NET 应用程序。 它有三个 .aspx 页:默认页、红色页和蓝色页。 默认页具有一个用于选择红色或蓝色的单选控件和一个提交按钮。 其他两个 .aspx 页非常简单。 一个具有名为“红色”的标签,另一个具有名为“蓝色”的标签。 当您选择在默认页上进行提交时,将显示其他两个页面之一。 你可以创建像那样的应用、下载我们的示例,或者按照你自己的 Web 应用进行操作。

运行要测试的 Web 应用程序

解决方案也应包含浏览与Record and run a web performance test中创建的 ColorWebAppTest 项目类似的 Web 应用程序的页面的 Web 性能测试。

带 Web 性能测试的解决方案

创建一个 SQL 数据库

  1. 如果你没有 Visual Studio Enterprise,请在此处获取它。

  2. 创建一个 SQL 数据库。

    添加新的 SQL 数据库

  3. 创建一个数据库项目。

    从数据库创建新项目

  4. 向数据库项目中添加表。

    向数据库项目添加新表

  5. 向表中添加字段。

    向表中添加字段

  6. 发布数据库项目。

    从“解决方案资源管理器”发布数据库项目

  7. 向字段中添加数据。

    向字段添加数据

添加数据源

  1. 添加数据源。

    向 Web 性能测试添加数据源

  2. 选择数据源的类型并为其命名。

    命名数据库源

  3. 创建连接。

    选择新连接

    输入连接详细信息。

    输入 SQL 数据库连接属性

  4. 选择要用于测试的表。

    将 Color 表添加为数据源

    表将绑定到测试。

    添加到 Web 性能测试的数据源节点

  5. 保存测试。

绑定数据

  1. 绑定 ColorName 字段。

    将 ColorName 字段绑定到 RadioButtonList1 值

  2. 在解决方案资源管理器中,打开 Local.testsettings 文件并根据数据源行选项选择一个运行。

    编辑测试设置文件

  3. 保存 Web 性能测试。

使用数据运行测试

  1. 运行测试。

    运行 Web 性能测试来验证绑定

    为每个数据行显示两个运行。 运行 1 发送页 Red.aspx 的请求,运行 2 发送页 Blue.aspx 的请求。

    测试运行结果

    在绑定到数据源时,可能会违反默认响应 URL 规则。 在这种情况下,运行 2 中的错误是由规则引起的,该规则期望来自原始测试记录的 Red.aspx 页,而数据绑定现在将其指向 Blue.aspx 页。

  2. 通过删除响应 URL 验证规则并重新运行测试来纠正验证错误。

    删除响应 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) 文本文件用作数据源?

**答:**操作方法如下:

  1. 创建一个文件夹来组织项目数据库项目并添加一个项。

    向数据文件夹添加新项

  2. 创建文本文件。

    命名新文本文件为 ColorData.csv

  3. 编辑文本文件并添加:

    ColorId, ColorName
    0,Red
    1,Blue
    
  4. 使用绑定 SQL 数据中的步骤,但选择 CSV 文件作为您的数据源。

    输入名称,并选择 CSV 文件

问:如果我的现有 CSV 文件不包含列标头,该怎么办?

**答:**如果您不能添加列标头,则可以使用架构说明文件将 CSV 文件视为数据库。

  1. 添加名为 schema.ini 的新文本文件。

    添加 schema.ini 文件

  2. 编辑该 schema.ini 文件,添加描述数据结构的信息。 例如,描述 CSV 文件的架构文件可能如下所示:

    [testdata.csv]
    ColNameHeader=False
    
  3. 将数据源添加到测试。

    向 Web 性能测试添加数据源

  4. 如果您正在使用 schema.ini 文件,请选择数据库(不是 CSV 文件)作为数据源,并为其命名。

    添加数据库数据源

  5. 创建新连接。

    选择新连接

  6. 选择 OLE DB 的 .NET Framework 数据提供程序。

    选择 .NET Framework OLE DB 数据提供程序

  7. 选择“高级”。

    选择“高级”

  8. 对于 Provider 属性,请选择 Microsoft.Jet.OLEDB.4.0,并将扩展属性设置为 Text;HDR=NO。

    应用高级属性

  9. 键入包含架构文件的文件夹的名称并测试您的连接。

    输入指向数据文件夹的路径

  10. 选择要使用的 CSV 文件。

    选择文本文件

    完成后,CSV 文件会以表格形式显示。

    添加到测试的数据源

问:如何将 XML 文件用作数据源?

**答:**可以。

  1. 创建一个文件夹来组织项目数据库项目并添加一个项。

    向数据文件夹添加新项

  2. 创建 XML 文件。

    添加 ColorData.xml 文件

  3. 编辑 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>
    
  4. 使用绑定 SQL 数据中的步骤,但选择 XML 文件作为您的数据源。

    输入名称,并选择 XML 文件

问:我是否能将数据绑定添加到使用 SOAP 的 Web 服务请求?

**答:**可以,您必须手动更改 SOAP XML。

  1. 选择请求树中的 Web 服务请求,并在“属性”窗口中,选择 String Body 属性中的省略号 (…)。

    编辑 Web 服务字符串主体

  2. 使用下面的语法,将 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>
    
  3. 保存测试。