Bootstrap

Jmeter中的断言(三)

 9--MD5Hex断言

功能特点

  • 数据完整性验证:验证响应数据的 MD5 哈希值是否符合预期。
  • 简单配置:只需提供预期的 MD5 哈希值即可。
  • 灵活配置:可以设置多个断言条件,满足复杂的测试需求。

配置步骤

  1. 添加 MD5Hex 断言

    • 右键点击需要添加断言的请求或线程组。
    • 选择“添加” -> “断言” -> “MD5Hex 断言”。
  2. 配置 MD5Hex 断言

    • 名称:给 MD5Hex 断言一个有意义的名称。
    • 预期的 MD5 哈希值:输入预期的 MD5 哈希值。
    • 忽略空响应:选择是否忽略空响应。

参数说明

  • 名称:给 MD5Hex 断言一个有意义的名称。
  • 预期的 MD5 哈希值:输入预期的 MD5 哈希值。
  • 忽略空响应:选择是否忽略空响应。

示例配置

假设我们需要测试一个Web应用,并验证登录请求的响应数据的 MD5 哈希值是否符合预期,例如预期的 MD5 哈希值为 d41d8cd98f00b204e9800998ecf8427e

  1. 创建测试计划

    • 右键点击“测试计划” -> 新建 -> 输入测试计划名称(例如“Web应用性能测试”)。
  2. 添加线程组

    • 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“用户模拟”)。
    • 配置线程组:
      • 线程数:1(模拟1个用户)
      • 循环次数:1(每个用户发送1次请求)
      • 启动延迟:0(立即启动)
  3. 添加登录请求

    • 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
    • 配置HTTP请求:
      • 名称:登录请求
      • 服务器名称或IP:目标服务器的地址(例如example.com)。
      • 端口号:目标服务器的端口(例如80)。
      • 协议:HTTP或HTTPS(例如HTTP)。
      • 方法:POST
      • 路径:请求的路径(例如/login)。
      • 参数
        • 名称:username
        • :testuser
        • 名称:password
        • :testpass
  4. 添加 MD5Hex 断言

    • 右键点击登录请求 -> 添加 -> 断言 -> MD5Hex 断言。
    • 配置 MD5Hex 断言:
      • 名称:验证响应数据的 MD5 哈希值
      • 预期的 MD5 哈希值:d41d8cd98f00b204e9800998ecf8427e
      • 忽略空响应:勾选
  5. 运行测试

    • 点击工具栏上的“启动”按钮,运行测试。
    • 查看结果树监听器或查看结果文件,确保登录请求的响应数据的 MD5 哈希值为 d41d8cd98f00b204e9800998ecf8427e

优化建议

  1. 预期的 MD5 哈希值

    • 确保提供的 MD5 哈希值正确无误。可以使用在线 MD5 哈希生成工具生成正确的哈希值。
  2. 忽略空响应

    • 如果响应数据中可能存在空值,选择“忽略空响应”以避免因空值导致断言失败。
  3. 错误处理

    • 在测试计划中添加监听器(如“查看结果树”或“聚合报告”),确保断言的正确性和请求的成功率。
  4. 性能考虑

    • 如果测试中包含大量的请求,确保断言配置高效且简洁,避免影响测试性能。

示例配置详细说明

假设我们有一个简单的测试计划,包含一个线程组和一个HTTP请求,并希望验证登录请求的响应数据的 MD5 哈希值为 d41d8cd98f00b204e9800998ecf8427e

  1. 创建测试计划

    • 右键点击“测试计划” -> 新建 -> 输入测试计划名称(例如“Web应用性能测试”)。
  2. 添加线程组

    • 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“用户模拟”)。
    • 配置线程组:
      • 线程数:1(模拟1个用户)
      • 循环次数:1(每个用户发送1次请求)
      • 启动延迟:0(立即启动)
  3. 添加登录请求

    • 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
    • 配置HTTP请求:
      • 名称:登录请求
      • 服务器名称或IP:example.com
      • 端口号:80
      • 协议:HTTP
      • 方法:POST
      • 路径:/login
      • 参数
        • 名称:username
        • :testuser
        • 名称:password
        • :testpass
  4. 添加 MD5Hex 断言

    • 右键点击登录请求 -> 添加 -> 断言 -> MD5Hex 断言。
    • 配置 MD5Hex 断言:
      • 名称:验证响应数据的 MD5 哈希值
      • 预期的 MD5 哈希值:d41d8cd98f00b204e9800998ecf8427e
      • 忽略空响应:勾选
  5. 运行测试

    • 点击工具栏上的“启动”按钮,运行测试。
    • 查看结果树监听器或查看结果文件,确保登录请求的响应数据的 MD5 哈希值为 d41d8cd98f00b204e9800998ecf8427e

 

8d38534f9b0a4a3db583ec789de18efc.png


 

10--SMIME断言

 

功能特点

  • 数据验证:验证响应数据是否符合 S/MIME 标准。
  • 支持加密和签名:验证响应数据是否已加密或签名。
  • 灵活配置:可以设置多个断言条件,满足复杂的测试需求。

配置步骤

  1. 添加 SMIME 断言

    • 右键点击需要添加断言的请求或线程组。
    • 选择“添加” -> “断言” -> “SMIME 断言”。
  2. 配置 SMIME 断言

    • 名称:给 SMIME 断言一个有意义的名称。
    • 验证类型:选择验证类型(例如,验证签名、验证加密)。
    • 证书文件:选择用于验证签名的证书文件。
    • 私钥文件:选择用于解密的私钥文件。
    • 私钥密码:输入私钥文件的密码(如果需要)。
    • 忽略空响应:选择是否忽略空响应。

参数说明

  • 名称:给 SMIME 断言一个有意义的名称。
  • 验证类型:选择验证类型,例如:
    • 验证签名:验证响应数据是否已签名。
    • 验证加密:验证响应数据是否已加密。
  • 证书文件:选择用于验证签名的证书文件。
  • 私钥文件:选择用于解密的私钥文件。
  • 私钥密码:输入私钥文件的密码(如果需要)。
  • 忽略空响应:选择是否忽略空响应。

示例配置

假设我们需要测试一个Web应用,并验证登录请求的响应数据是否已签名且符合 S/MIME 标准。

  1. 创建测试计划

    • 右键点击“测试计划” -> 新建 -> 输入测试计划名称(例如“Web应用性能测试”)。
  2. 添加线程组

    • 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“用户模拟”)。
    • 配置线程组:
      • 线程数:1(模拟1个用户)
      • 循环次数:1(每个用户发送1次请求)
      • 启动延迟:0(立即启动)
  3. 添加登录请求

    • 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
    • 配置HTTP请求:
      • 名称:登录请求
      • 服务器名称或IP:目标服务器的地址(例如example.com)。
      • 端口号:目标服务器的端口(例如80)。
      • 协议:HTTP或HTTPS(例如HTTP)。
      • 方法:POST
      • 路径:请求的路径(例如/login)。
      • 参数
        • 名称:username
        • :testuser
        • 名称:password
        • :testpass
  4. 添加 SMIME 断言

    • 右键点击登录请求 -> 添加 -> 断言 -> SMIME 断言。
    • 配置 SMIME 断言:
      • 名称:验证响应数据的 S/MIME 签名
      • 验证类型:验证签名
      • 证书文件:选择用于验证签名的证书文件(例如certificate.pem
      • 私钥文件:选择用于解密的私钥文件(如果需要)(例如private.key
      • 私钥密码:输入私钥文件的密码(如果需要)
      • 忽略空响应:勾选
  5. 运行测试

    • 点击工具栏上的“启动”按钮,运行测试。
    • 查看结果树监听器或查看结果文件,确保登录请求的响应数据已签名且符合 S/MIME 标准。

优化建议

  1. 证书文件

    • 确保证书文件正确无误,并且证书文件路径正确。可以使用文件浏览器检查文件路径。
  2. 私钥文件

    • 确保私钥文件正确无误,并且私钥文件路径正确。如果私钥文件有密码,确保密码输入正确。
  3. 忽略空响应

    • 如果响应数据中可能存在空值,选择“忽略空响应”以避免因空值导致断言失败。
  4. 错误处理

    • 在测试计划中添加监听器(如“查看结果树”或“聚合报告”),确保断言的正确性和请求的成功率。
  5. 性能考虑

    • 如果测试中包含大量的请求,确保断言配置高效且简洁,避免影响测试性能。

示例配置详细说明

假设我们有一个简单的测试计划,包含一个线程组和一个HTTP请求,并希望验证登录请求的响应数据已签名且符合 S/MIME 标准。

  1. 创建测试计划

    • 右键点击“测试计划” -> 新建 -> 输入测试计划名称(例如“Web应用性能测试”)。
  2. 添加线程组

    • 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“用户模拟”)。
    • 配置线程组:
      • 线程数:1(模拟1个用户)
      • 循环次数:1(每个用户发送1次请求)
      • 启动延迟:0(立即启动)
  3. 添加登录请求

    • 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
    • 配置HTTP请求:
      • 名称:登录请求
      • 服务器名称或IP:example.com
      • 端口号:80
      • 协议:HTTP
      • 方法:POST
      • 路径:/login
      • 参数
        • 名称:username
        • :testuser
        • 名称:password
        • :testpass
  4. 添加 SMIME 断言

    • 右键点击登录请求 -> 添加 -> 断言 -> SMIME 断言。
    • 配置 SMIME 断言:
      • 名称:验证响应数据的 S/MIME 签名
      • 验证类型:验证签名
      • 证书文件:选择用于验证签名的证书文件(例如certificate.pem
      • 私钥文件:选择用于解密的私钥文件(如果需要)(例如private.key
      • 私钥密码:输入私钥文件的密码(如果需要)
      • 忽略空响应:勾选
  5. 运行测试

    • 点击工具栏上的“启动”按钮,运行测试。
    • 查看结果树监听器或查看结果文件,确保登录请求的响应数据已签名且符合 S/MIME 标准。

e0751b5719ef4fe1846632f6dbfebf79.png


 

11--XML Schema断言

功能特点

  • 数据验证:验证 XML 响应数据是否符合特定的 XML Schema 定义。
  • 支持 XSD 文件:使用 XSD 文件定义 XML 数据的结构和约束。
  • 灵活配置:可以设置多个断言条件,满足复杂的测试需求。

配置步骤

  1. 添加 XML Schema 断言

    • 右键点击需要添加断言的请求或线程组。
    • 选择“添加” -> “断言” -> “XML Schema 断言”。
  2. 配置 XML Schema 断言

    • 名称:给 XML Schema 断言一个有意义的名称。
    • XML 响应:选择要验证的 XML 响应部分(例如,响应数据)。
    • XSD 文件:选择用于验证的 XSD 文件。
    • 忽略空白:选择是否忽略 XML 文档中的空白字符。

参数说明

  • 名称:给 XML Schema 断言一个有意义的名称。
  • XML 响应:选择要验证的 XML 响应部分,例如:
    • 响应数据:验证响应体中的 XML 数据。
    • 响应代码:验证HTTP响应代码。
    • 响应消息:验证HTTP响应消息。
    • 响应头:验证HTTP响应头。
  • XSD 文件:选择用于验证的 XSD 文件。
  • 忽略空白:选择是否忽略 XML 文档中的空白字符。

示例配置

假设我们需要测试一个Web应用,并验证登录请求的 XML 响应数据是否符合特定的 XSD 定义。

  1. 创建测试计划

    • 右键点击“测试计划” -> 新建 -> 输入测试计划名称(例如“Web应用性能测试”)。
  2. 添加线程组

    • 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“用户模拟”)。
    • 配置线程组:
      • 线程数:1(模拟1个用户)
      • 循环次数:1(每个用户发送1次请求)
      • 启动延迟:0(立即启动)
  3. 添加登录请求

    • 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
    • 配置HTTP请求:
      • 名称:登录请求
      • 服务器名称或IP:目标服务器的地址(例如example.com)。
      • 端口号:目标服务器的端口(例如80)。
      • 协议:HTTP或HTTPS(例如HTTP)。
      • 方法:POST
      • 路径:请求的路径(例如/login)。
      • 参数
        • 名称:username
        • :testuser
        • 名称:password
        • :testpass
  4. 添加 XML Schema 断言

    • 右键点击登录请求 -> 添加 -> 断言 -> XML Schema 断言。
    • 配置 XML Schema 断言:
      • 名称:验证 XML 响应数据
      • XML 响应:响应数据
      • XSD 文件:选择用于验证的 XSD 文件(例如schema.xsd
      • 忽略空白:勾选
  5. 运行测试

    • 点击工具栏上的“启动”按钮,运行测试。
    • 查看结果树监听器或查看结果文件,确保登录请求的 XML 响应数据符合 XSD 定义。

优化建议

  1. XSD 文件

    • 确保 XSD 文件正确无误,并且文件路径正确。可以使用文件浏览器检查文件路径。
    • 使用 XML 验证工具(如在线 XML 验证工具)验证 XSD 文件的正确性。
  2. 忽略空白

    • 如果 XML 文档中包含大量空白字符,选择“忽略空白”以避免因空白字符导致断言失败。
  3. 错误处理

    • 在测试计划中添加监听器(如“查看结果树”或“聚合报告”),确保断言的正确性和请求的成功率。
  4. 性能考虑

    • 如果测试中包含大量的请求,确保断言配置高效且简洁,避免影响测试性能。

示例配置详细说明

假设我们有一个简单的测试计划,包含一个线程组和一个HTTP请求,并希望验证登录请求的 XML 响应数据符合特定的 XSD 定义。

  1. 创建测试计划

    • 右键点击“测试计划” -> 新建 -> 输入测试计划名称(例如“Web应用性能测试”)。
  2. 添加线程组

    • 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“用户模拟”)。
    • 配置线程组:
      • 线程数:1(模拟1个用户)
      • 循环次数:1(每个用户发送1次请求)
      • 启动延迟:0(立即启动)
  3. 添加登录请求

    • 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
    • 配置HTTP请求:
      • 名称:登录请求
      • 服务器名称或IP:example.com
      • 端口号:80
      • 协议:HTTP
      • 方法:POST
      • 路径:/login
      • 参数
        • 名称:username
        • :testuser
        • 名称:password
        • :testpass
  4. 添加 XML Schema 断言

    • 右键点击登录请求 -> 添加 -> 断言 -> XML Schema 断言。
    • 配置 XML Schema 断言:
      • 名称:验证 XML 响应数据
      • XML 响应:响应数据
      • XSD 文件:选择用于验证的 XSD 文件(例如schema.xsd
      • 忽略空白:勾选
  5. 运行测试

    • 点击工具栏上的“启动”按钮,运行测试。
    • 查看结果树监听器或查看结果文件,确保登录请求的 XML 响应数据符合 XSD 定义。

 

de11dff4ba7345ed99bd3396673a8aec.png


 

12--XML断言

功能特点

  • 数据验证:验证 XML 响应数据是否是有效的 XML。
  • 支持 DTD 和 Schema:可以使用 DTD 或 Schema 进一步验证 XML 数据的结构。
  • 灵活配置:可以设置多个断言条件,满足复杂的测试需求。

配置步骤

  1. 添加 XML 断言

    • 右键点击需要添加断言的请求或线程组。
    • 选择“添加” -> “断言” -> “XML 断言”。
  2. 配置 XML 断言

    • 名称:给 XML 断言一个有意义的名称。
    • 验证类型:选择验证类型(例如,验证是否为有效的 XML、验证是否符合 DTD、验证是否符合 Schema)。
    • DTD 文件:选择用于验证的 DTD 文件(如果需要)。
    • Schema 文件:选择用于验证的 Schema 文件(如果需要)。
    • 忽略空白:选择是否忽略 XML 文档中的空白字符。

参数说明

  • 名称:给 XML 断言一个有意义的名称。
  • 验证类型:选择验证类型,例如:
    • 验证是否为有效的 XML:验证响应数据是否是有效的 XML。
    • 验证是否符合 DTD:验证响应数据是否符合特定的 DTD 定义。
    • 验证是否符合 Schema:验证响应数据是否符合特定的 Schema 定义。
  • DTD 文件:选择用于验证的 DTD 文件(如果需要)。
  • Schema 文件:选择用于验证的 Schema 文件(如果需要)。
  • 忽略空白:选择是否忽略 XML 文档中的空白字符。

示例配置

假设我们需要测试一个Web应用,并验证登录请求的 XML 响应数据是否是有效的 XML,并且符合特定的 Schema 定义。

  1. 创建测试计划

    • 右键点击“测试计划” -> 新建 -> 输入测试计划名称(例如“Web应用性能测试”)。
  2. 添加线程组

    • 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“用户模拟”)。
    • 配置线程组:
      • 线程数:1(模拟1个用户)
      • 循环次数:1(每个用户发送1次请求)
      • 启动延迟:0(立即启动)
  3. 添加登录请求

    • 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
    • 配置HTTP请求:
      • 名称:登录请求
      • 服务器名称或IP:目标服务器的地址(例如example.com)。
      • 端口号:目标服务器的端口(例如80)。
      • 协议:HTTP或HTTPS(例如HTTP)。
      • 方法:POST
      • 路径:请求的路径(例如/login)。
      • 参数
        • 名称:username
        • :testuser
        • 名称:password
        • :testpass
  4. 添加 XML 断言

    • 右键点击登录请求 -> 添加 -> 断言 -> XML 断言。
    • 配置 XML 断言:
      • 名称:验证 XML 响应数据
      • 验证类型:验证是否为有效的 XML
      • Schema 文件:选择用于验证的 Schema 文件(例如schema.xsd
      • 忽略空白:勾选
  5. 运行测试

    • 点击工具栏上的“启动”按钮,运行测试。
    • 查看结果树监听器或查看结果文件,确保登录请求的 XML 响应数据是有效的 XML 并且符合 Schema 定义。

优化建议

  1. 验证类型选择

    • 根据实际需求选择合适的验证类型。例如,如果只需要验证是否为有效的 XML,选择“验证是否为有效的 XML”;如果需要验证是否符合特定的 Schema,选择“验证是否符合 Schema”。
  2. DTD 或 Schema 文件

    • 确保 DTD 或 Schema 文件正确无误,并且文件路径正确。可以使用文件浏览器检查文件路径。
    • 使用 XML 验证工具(如在线 XML 验证工具)验证 DTD 或 Schema 文件的正确性。
  3. 忽略空白

    • 如果 XML 文档中包含大量空白字符,选择“忽略空白”以避免因空白字符导致断言失败。
  4. 错误处理

    • 在测试计划中添加监听器(如“查看结果树”或“聚合报告”),确保断言的正确性和请求的成功率。
  5. 性能考虑

    • 如果测试中包含大量的请求,确保断言配置高效且简洁,避免影响测试性能。

示例配置详细说明

假设我们有一个简单的测试计划,包含一个线程组和一个HTTP请求,并希望验证登录请求的 XML 响应数据是有效的 XML 并且符合特定的 Schema 定义。

  1. 创建测试计划

    • 右键点击“测试计划” -> 新建 -> 输入测试计划名称(例如“Web应用性能测试”)。
  2. 添加线程组

    • 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“用户模拟”)。
    • 配置线程组:
      • 线程数:1(模拟1个用户)
      • 循环次数:1(每个用户发送1次请求)
      • 启动延迟:0(立即启动)
  3. 添加登录请求

    • 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
    • 配置HTTP请求:
      • 名称:登录请求
      • 服务器名称或IP:example.com
      • 端口号:80
      • 协议:HTTP
      • 方法:POST
      • 路径:/login
      • 参数
        • 名称:username
        • :testuser
        • 名称:password
        • :testpass
  4. 添加 XML 断言

    • 右键点击登录请求 -> 添加 -> 断言 -> XML 断言。
    • 配置 XML 断言:
      • 名称:验证 XML 响应数据
      • 验证类型:验证是否为有效的 XML
      • Schema 文件:选择用于验证的 Schema 文件(例如schema.xsd
      • 忽略空白:勾选
  5. 运行测试

    • 点击工具栏上的“启动”按钮,运行测试。
    • 查看结果树监听器或查看结果文件,确保登录请求的 XML 响应数据是有效的 XML 并且符合 Schema 定义。

2985693b8878459591c672babe302ae8.png


 

 

 

;