记录一下最近使用Jmeter的一些心得
无论是进行压力测试还是功能测试,使用动态数据往往是必不可少的。JMeter支持从CSV文件中读取数据,以实现对不同用户请求的模拟。
假设我们从业务系统中提取了200个用户的请求参数,现在希望在JMeter中通过这些参数来模拟用户请求。此时,CSV文件成为一个很好的工具,我们可以将这些参数存储在CSV文件中,并通过JMeter读取文件中的数据进行测试。
在JMeter中使用CSV文件中的数据非常简单,首先我们需要找到【配置元件】中的【CSV数据文件设置】组件。通过这个组件,我们可以非常方便地将CSV文件中的内容作为请求参数输入到测试脚本中。
接下来,我们通过一个简单的示例说明如何配置JMeter读取CSV文件中的数据,并使用这些数据在测试脚本中进行操作。

示例说明
假设我们有一个名为
test.csv的CSV文件,其内容如下:在这个CSV文件中,我们定义了两个列名:
test1 和 test2,分别表示不同的变量。在JMeter中,我们可以通过设置CSV文件的读取方式,将这些变量加载到脚本中并进行使用。CSV文件设置的详细配置

- 文件名
这一选项用于指定我们需要加载的CSV文件的路径。需要确保路径填写正确,以便JMeter能够正确读取文件内容。
- 文件编码
通常情况下,文件编码可以保持默认设置,但在某些特殊情况下,如果发现文件中的中文或其他特殊字符读取错误,可以在此处手动设置编码格式(如UTF-8)。
- 变量名称
在【CSV数据文件设置】中,变量名称需要与CSV文件中的列名一一对应。在我们的示例中,可以将变量名称设置为
test1,test2。设置好之后,我们可以在后续的脚本中通过这些变量名来引用CSV文件中的值。
- 忽略首行
该选项决定是否忽略CSV文件的首行。通常情况下,如果首行是标题(如列名),我们可以选择忽略首行。设置为
True时,JMeter会从第二行开始读取数据;设置为False时,首行也会作为数据读取。效果如下图

- 文件结束符处理
在测试过程中,我们需要处理CSV文件读取完毕后的行为。JMeter提供了两种选项:
- 遇到文件结束符再次循环:当文件中的数据读取完毕后,重新从第一行开始循环读取。
- 遇到文件结束符停止线程:读取完文件中的所有数据后,停止当前线程的执行。
这两个选项可以配合线程组的循环次数进行灵活设置。例如:
- 如果希望模拟多个用户请求,我们可以设置线程组的循环次数,并选择“再次循环”选项,这样JMeter会循环读取CSV中的数据,直到达到设定的循环次数。
- 如果希望每个线程读取CSV文件中的所有数据行并完成后退出,则可以选择“停止线程”选项,这样每个线程只会执行与CSV文件行数相等的请求次数。
示例一:循环读取CSV文件
在这个示例中,我们配置了CSV文件读取功能,并设置线程组的循环次数为10次。JMeter会循环读取CSV文件中的数据,并模拟10个请求。每次请求都会从CSV文件中获取对应的参数。
设置如下图所示:


最终,测试跑了10次,每次都会从CSV文件中读取对应的参数进行请求。

示例二:根据CSV行数决定请求次数
在这个场景中,我们希望根据CSV文件中的数据行数决定线程的执行次数。如果CSV文件中有两行数据,则每个线程只会执行两次请求。配置如下:


由于CSV文件中只有两行数据,最终JMeter仅执行了两次请求,每次请求都使用了CSV文件中的一行数据。

通过正确配置【CSV数据文件设置】,可以确保测试脚本能够顺利读取和使用CSV文件中的内容。希望这篇文章能为你在使用JMeter进行测试时提供帮助!
- 作者:Yibin
- 链接:https://yibin.dev/article/5d5552be-e767-4179-9c01-45c795c9a635
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章







