温馨提示×

ubuntu jmeter如何添加断言

小樊
44
2025-12-10 17:49:58
栏目: 智能运维

Ubuntu 中 JMeter 添加断言的完整步骤

一 环境准备与启动

  • 确保已安装 JavaJMeter。在 Ubuntu 终端执行:jmeter -v 能输出版本号即可。
  • 启动 GUI:在终端输入:jmeter(或进入 JMeter 安装目录执行:./jmeter.sh)。GUI 便于可视化添加与调试断言。

二 在 GUI 中添加断言的通用步骤

  • 创建基础结构:在左侧测试计划上右键,依次添加 线程组HTTP 请求(或你的取样器)。
  • 为取样器添加断言:在目标取样器上右键,选择 添加断言,按需选择具体断言类型(如:响应断言JSON 断言 等)。
  • 常用监听用于验证:添加 断言结果 监听器查看断言是否通过;调试阶段可加 察看结果树 辅助定位。

三 常用断言类型与关键配置

  • 响应断言(Response Assertion)
    • 作用:校验 响应文本、响应代码、响应信息、响应头、URL 样本、请求数据 等。
    • 关键配置:
      • Apply to:常用 Main sample only;存在重定向/子采样时选 Main sample and sub-samples
      • 要测试的字段:如 响应文本响应代码响应信息Response Headers 等。
      • 模式匹配规则:包括/匹配/Equals/Substring/否;支持多模式与 OR 逻辑。
      • 特殊项:校验 4xx/5xx 状态码时勾选 Ignore Status,否则 JMeter 会先判定取样失败。
  • JSON 断言(JSON Assertion)
    • 作用:针对 JSON 响应,校验指定 JSON Path 的值。
    • 关键配置:
      • Assert JSON Path exists:填写如 $.meta.status$.data.username
      • Additionally assert value:勾选后填写 Expected Value;可用 正则表达式 匹配。
      • Invert assertion:取反校验。
  • 其他常用断言
    • 断言持续时间(Duration Assertion):判断响应时间是否不超过阈值,用于性能阈值校验。
    • 大小断言(Size Assertion):判断响应体/响应头大小是否符合预期。
    • BeanShell 断言(BeanShell Assertion):用脚本实现复杂逻辑(性能测试慎用)。

四 快速示例

  • 示例一 响应断言校验状态码为 200
    • 取样器:HTTP 请求(目标接口)。
    • 添加断言:取样器上右键 → 添加断言响应断言
    • 配置要点:
      • Apply to:Main sample only
      • 要测试的字段:响应代码
      • 模式匹配规则:Equals
      • 要测试的模式:200
      • 如接口可能返回 4xx/5xx 且仍要断言内容,勾选 Ignore Status
  • 示例二 JSON 断言校验业务字段
    • 响应示例:{“meta”:{“msg”:“登录成功”,“status”:200},“data”:{…}}
    • 添加断言:取样器上右键 → 添加断言JSON Assertion
    • 配置要点:
      • Assert JSON Path exists:$.meta.status
      • Additionally assert value:勾选;Expected Value:200
      • Match as regular expression:按需勾选(默认精确匹配)。

五 命令行运行与结果查看

  • 非 GUI 执行(适合压测):在脚本所在目录执行
    • jmeter -n -t your_plan.jmx -l result.txt -e -o report/
    • 说明:-n 非 GUI;-t 脚本;-l 结果文件;-e -o 生成 HTML 报告。断言结果会体现在报告与日志中。
  • 监听器的使用建议
    • 调试阶段:添加 断言结果察看结果树 快速定位问题。
    • 压测阶段:禁用 察看结果树断言结果 以降低内存与 I/O 开销,仅保留必要聚合报告。

0