4

我正在编写一个 jmeter 脚本,并且我有一个巨大的 csv 文件,其中包含我在请求中使用的一堆数据,是否可以不从第一个条目开始,而是从第 5 个或第 n 个条目开始?

4

2 回答 2

5

查看 CSVDataSet,它似乎不直接支持跳到给定的行。但是,您可以通过首先执行 N 个循环来模拟相同的效果,在该循环中您只是从数据集中读取数据而不对数据执行任何操作。然后是一个包含您的实际测试的循环。自从我使用 JMeter 以来已经有一段时间了 - 要使这种方法起作用,您必须在两个循环之间共享相同的 CVSDataSet。

如果这是不可能的,那么还有一个替代方案。在您的主测试循环中,使用 Counter 和 If 控制器。计数器从 1 开始计数。 If 控制器包含您的测试,条件${Counter}>N是 N 是要跳过的数字。(表达式中的“计数器”是您在计数器中设置的“参考名称”属性。)

于 2010-07-02T12:41:54.803 回答
3

mdma 的第二个想法是一种干净的方法,但这里有另外两个简单但烦人的选项:

  1. 最简单:为您要开始文件的位置创建单独的 CSV 文件,删除不需要的行。我会为每个 CSV 文件创建单独的 CSV 数据配置元素,然后禁用您不想运行的那些。

  2. 不太容易:在 CSV 文件中创建一个名为“ignore”的新列。在要跳过的行中,输入值“True”。在您的测试计划中,创建一个作为您请求的父级的 IF 控制器。设置 If 条件:("${ignore}"!="True" 包括引号并注意“true”区分大小写)。如果“ignore”列的值为“true”,这将跳过请求。

两种方法都需要修改 CSV 文件,但方法二有其他应用程序(例如不包括标题行),如果您使用的是 Open Office、Excel 等,速度会很快。

于 2010-07-08T21:24:53.763 回答