我正在编写一个jmeter脚本,我有一个巨大的csv文件,其中包含我在请求中使用的一堆数据,是否可以从第一次输入开始,而不是从第5次或第n次输入开始?
答案 0 :(得分:4)
查看CSVDataSet,它似乎不直接支持跳过给定行。但是,您可以通过首先执行N循环来模拟相同的效果,您只需从数据集中读取数据并且不对数据执行任何操作。然后是一个包含实际测试的循环。自从我使用JMeter以来已经有一段时间 - 为了使这种方法起作用,你必须在两个循环之间共享相同的CVSDataSet。
如果那是不可能的,那么还有另一种选择。在主测试循环中,使用Counter和If Controller。计数器从1开始计数.If控制器包含您的测试,条件为${Counter}>N
,其中N是要跳过的数字。 (“计数器”在表达式中,无论您将“引用名称”属性设置为“在计数器中”。)
答案 1 :(得分:3)
mdma的第二个想法是一个干净的方法,但这里有两个简单的选项,但很烦人:
最简单的: 为要启动文件的位置创建单独的CSV文件,删除不需要的行。我会为每个CSV文件创建单独的CSV数据配置元素,然后禁用您不想运行的那些元素。
不太容易:
在CSV文件中创建一个名为“ignore”的新列。在要跳过的行中,输入值“True”。在测试计划中,创建一个IF控制器,它是您的请求的父级。制作If条件:"${ignore}"!="True"
(包括引号并注意'true'区分大小写)。如果'ignore'列的值为'true',则会跳过请求。
这两种方法都需要修改CSV文件,但方法二有其他应用程序(如排除标题行),如果你使用的是Open Office,Excel等,则可以很快。