性能测试工具 Jmeter(五十五) - 从入门到精通高级篇 - 如何在 linux 系统下运行 jmeter 脚本 - 下篇(详解教程)

北京-宏哥 · November 13, 2025 · 206 hits

1.简介

上一篇宏哥已经介绍了如何在 Linux 系统下运行 Jmeter 脚本以及宏哥在运行过程中遇到的问题和解决方案,想必各位小伙伴都已经在 Linux 服务器或者虚拟机上已经实践并且都已经成功运行了,上一篇宏哥讲解和分享的是运行的没有调用外部文件的 jmeter 脚本。但是在实际工作中往往需要我们调用外部文件(包括 CSV 参数化文件、java 需要用的架包等)进行参数传递,那么如果我们遇到这样的 jmeter 脚本如何在 Linux 系统下运行呢???那么今天宏哥就来介绍一下如何在 Linux 系统下运行带有外部文件的 Jmeter 脚本。以供各位小伙伴或者童鞋们参考,希望对你有所帮助。

2.项目实战

我们今天使用 Jmeter5.4 调用这个网址:https://reqres.in的开放 API 来举例,接口信息如下:

获取用户列表

Url: https://reqres.in/api/users?page=页码

HTTP Method: GET

2.1CSV 文件准备

1.新建一个文本文档,然后把后缀.txt 改成.csv,使用 notepad 或者记事本打开(这里使用的是 notepad)。

2.将我们的批量测试数据 pageNum(页码)写进来,如下图所示:

2.2 添加 CSV 数据文件设置

1.添加 CSV 数据文件设置:打开 jmeter -> 右键测试计划 -> 添加配置元件 -> CSV 数据文件设置,如下图所示:

2.3 创建 HTTP 请求

1.创建 HTTP 请求:打开 Jmeter -> 右键测试计划 -> 添加 - 线程 - 线程组 -> 右键线程组 -> 添加 - 取样器-HTTP 请求,如下图所示:

2.4 添加察看结果树

1.添加察看结果树:右键 HTTP 请求 -> 添加 - 监听器 - 查看结果树,如下图所示:

2.5 运行并查看结果

1.保存测试脚本为 test.jmx,然后运行,查看结果。如下图所示:

从上图可以看到:查看结果树,发现的 pageNum 已经是 CSV 数据文件中的数据了,响应数据就是对应 num 的内容。

最后,我们回到开始的问题,造大量的不同内容的相同单据。我们使用 CSV 文件来存不同的内容,使用 jmeter 来循环调用创建数据的接口,这样就不用手动再去创建单据了,既省时又省力。

好了,到此带有外部文件的 Jmeter 脚本就已经调试好了,言归正传:如何在 Linux 服务器上或者虚拟机运行这样的脚本了???接下来宏哥将会一一介绍和分享。

2.6 上传外部文件

1.宏哥这里就不在创建新的文件夹了,直接上传到脚本的文件夹中,如下图所示:

2.查看外边文件在 Linux 服务器或者虚拟机上的路径,如下图所示:

3.以文本形式打开要运行的 test.jmx 文件,修改外部文件调用路径(需要修改为 linux 系统下外部文件放置路径,也就是上一步骤查看到的路径),修改完毕后记住保存。如下图所示:

2.7 运行脚本

1.将在 Windows 调试好的基本上传到 test 文件夹中,如下图所示:

2.将脚本上传至 linux 服务器,然后就在当前的 test 目录下,输入命令 jmeter -n -t test.jmx -l log.jtl ,运行 jmeter 脚本。运行结果,如下图所示:

3.跑完之后,在 test 目录下,生成两个文件:一个是 jmeter.log(jmeter 运行日志),一个是我们的性能结果文件 (log.jtl),我们用命令把 log.jtl 文件导入 windows 系统就能查看结果了,如下图所示:

2.8 查看测试报告

1.在 windows 上启动 jmeter,添加所需的监听器,导入脚本运行产生的 log.jtl 文件,查看结果树测试结果,如下图所示:

2.查看聚合报告测试结果,如下图所示:

3.小结

1.要注意在修改外边文件路径时候,记得加上外部文件的名字(路径 + 文件名),其他的外部引用类似。

2.注意:调用了外部文件,则需要将这个外部文件放在 linux 系统的某个路径下,然后修改.jmx 中的代码,这样 jmeter 才会在 linux 中去调用这个外部文件。

4.知识扩展

1.在.jmx 文件中,不仅可以修改外部文件路径,同时也可以修改线程数量或者是循环体控制的次数等等相关要素。

2.为什么要非 GUI 模式运行

jmeter 是 java 语言开发,实际是运行在 JVM 中的,GUI 模式运行需要耗费较多的系统资源,一般来说,GUI 模式要占用 10%-25% 的系统资源。

而使用非 GUI 模式(即 linux 或 dos 命令)可以降低对资源的消耗,提升单台负载机所能模拟的并发数。

启动 jmeter,提醒如下:

好了,时间也不早了,今天就分享和讲解到这里,希望对您有所帮助,感谢您耐心地阅读!

No Reply at the moment.
需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up