一些工作中常用的 JMeter 技能

JMeter 是一个功能强大的开源性能测试工具,广泛应用于负载测试、压力测试和性能测试。在工作中,掌握一些常用的 JMeter 技能可以大大提高测试效率。

1. 创建和配置测试计划

  • 添加线程组:线程组是测试计划的核心,用于模拟用户并发。

    • 右键点击测试计划 -> 添加 -> 线程(用户) -> 线程组。

    • 设置线程数(用户数)、循环次数和启动时间。

  • 添加 HTTP 请求:用于模拟用户请求。

    • 右键点击线程组 -> 添加 -> 取样器 -> HTTP 请求。

    • 设置服务器名称、路径、请求方法(GET/POST)和参数。


2. 参数化测试

  • 使用 CSV 数据文件:从外部文件读取测试数据。

    • 右键点击线程组 -> 添加 -> 配置元件 -> CSV 数据文件设置。

    • 设置文件名、变量名称和分隔符。

    • 在 HTTP 请求中使用 ${变量名} 引用数据。

  • 用户定义的变量:定义全局变量。

    • 右键点击测试计划 -> 添加 -> 配置元件 -> 用户定义的变量。

    • 在 HTTP 请求中使用 ${变量名} 引用变量。


3. 断言

  • 响应断言:验证服务器返回的响应内容。

    • 右键点击 HTTP 请求 -> 添加 -> 断言 -> 响应断言。

    • 设置要检查的字段(如响应文本、响应代码)和匹配规则。

  • JSON 断言:验证 JSON 格式的响应。

    • 右键点击 HTTP 请求 -> 添加 -> 断言 -> JSON 断言。

    • 设置 JSON 路径表达式和预期值。


4. 定时器

  • 固定定时器:在每个请求之间添加固定的延迟。

    • 右键点击 HTTP 请求 -> 添加 -> 定时器 -> 固定定时器。

    • 设置延迟时间(毫秒)。

  • 随机定时器:在每个请求之间添加随机的延迟。

    • 右键点击 HTTP 请求 -> 添加 -> 定时器 -> 高斯随机定时器。

    • 设置延迟时间和偏差。


5. 监听器

  • 查看结果树:查看每个请求的详细结果。

    • 右键点击线程组 -> 添加 -> 监听器 -> 查看结果树。

  • 聚合报告:生成测试结果的汇总报告。

    • 右键点击线程组 -> 添加 -> 监听器 -> 聚合报告。

    • 查看吞吐量、平均响应时间、错误率等指标。

  • 图形结果:以图表形式展示测试结果。

    • 右键点击线程组 -> 添加 -> 监听器 -> 图形结果。


6. 分布式测试

  • 主从模式:在多台机器上分布式运行 JMeter。

    • 在主控机上运行 JMeter,配置远程主机。

    • 在 jmeter.properties 文件中设置远程主机的 IP 地址。

    • 使用命令行启动远程测试:

      jmeter -n -t testplan.jmx -R remote_host1,remote_host2


7. 脚本录制

  • HTTP(S) 测试脚本录制器:录制用户操作生成测试脚本。

    • 右键点击测试计划 -> 添加 -> 非测试元件 -> HTTP(S) 测试脚本录制器。

    • 设置端口号和目标控制器。

    • 在浏览器中配置代理,指向 JMeter 的录制器。


8. 性能监控

  • PerfMon 插件:监控服务器的 CPU、内存、磁盘等资源使用情况。

    • 安装插件:JMeter Plugins :: JMeter-Plugins.org

    • 右键点击测试计划 -> 添加 -> 监听器 -> PerfMon Metrics Collector。

    • 在服务器上安装 ServerAgent,启动后配置 JMeter 连接。


9. 调试和日志

  • 调试取样器:查看变量和属性的值。

    • 右键点击线程组 -> 添加 -> 取样器 -> 调试取样器。

  • 日志查看:通过 JMeter 日志排查问题。

    • 日志文件位于 jmeter.log

    • 可以在 jmeter.properties 中调整日志级别。


10. 高级功能

  • BeanShell 脚本:编写自定义逻辑。

    • 右键点击线程组 -> 添加 -> 前置处理器/后置处理器 -> BeanShell 预处理器/后置处理器。

    • 使用 Java 语法编写脚本。

  • 条件控制器:根据条件执行请求。

    • 右键点击线程组 -> 添加 -> 逻辑控制器 -> 如果(If)控制器。

    • 设置条件表达式。


11. 测试报告生成

  • 生成 HTML 报告:生成详细的 HTML 测试报告。

    • 使用命令行运行测试并生成报告:

      jmeter -n -t testplan.jmx -l result.jtl -e -o report_folder

    • 报告包括图表、统计数据和错误分析。


12. 常用命令行操作

  • 非 GUI 模式运行测试

    jmeter -n -t testplan.jmx -l result.jtl

  • 指定日志文件

    jmeter -n -t testplan.jmx -l result.jtl -j logfile.log

  • 远程启动测试

    jmeter -n -t testplan.jmx -R remote_host1,remote_host2


13. 常见问题排查

  • 请求失败:检查服务器状态、网络连接和请求参数。

  • 性能瓶颈:使用 PerfMon 插件监控服务器资源。

  • 脚本错误:通过调试取样器和日志排查问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值