Jmeter 在所有线程上逐个执行csv行
我的测试计划有一个csv数据集配置元素,一个带有http采样器的线程组。 我想从csv中读取第一个元素,使用20个线程运行它50次迭代,然后对我的csv的所有30行重复这个顺序过程。 我已将eof上停止的切换设置为true 我在Stack Overflow和其他博客上讨论过的大多数解决方案都建议添加一个循环控制器或while循环,使用预处理器读取行并进行循环,但在这些情况下,我无法实现我的目标 测试计划 --用户定义变量Jmeter 在所有线程上逐个执行csv行,jmeter,jmeter-4.0,Jmeter,Jmeter 4.0,我的测试计划有一个csv数据集配置元素,一个带有http采样器的线程组。 我想从csv中读取第一个元素,使用20个线程运行它50次迭代,然后对我的csv的所有30行重复这个顺序过程。 我已将eof上停止的切换设置为true 我在Stack Overflow和其他博客上讨论过的大多数解决方案都建议添加一个循环控制器或while循环,使用预处理器读取行并进行循环,但在这些情况下,我无法实现我的目标 测试计划 --用户定义变量 --HTTP请求默认值 --HTTP头管理器 --JSR223预处理器(用
--HTTP请求默认值
--HTTP头管理器
--JSR223预处理器(用于获取CSV行计数)
--CSV数据集配置(EOF循环-错误,EOF停止-正确)
--线程组
--HTTP采样器(获取、传递每个csv数据集元素作为路径的一部分)
--查看结果树 通过上面的设置,我看到整个csv是迭代的,我加入了一个循环控制器,带有循环计数,将HTTP采样器移动到它下面。 然而,当我这样做时,我无法获得线程组中迭代的使用情况 条款参考: 您的要求太“奇特”,我建议您在现有CSV文件的基础上创建一个新的CSV文件:
- 第1行重复100次(20个线程x 50次迭代)
- 第二行重复100次
- 第三行重复100次
- 第30行重复100次
SampleResult.setIgnore()
def generated=新文件(“/path/to/new/csv/File”)
已生成。删除()
新文件('/path/to/old/csv/File').readLines()。每个{line->
1.高达(100{
生成指向您所研究的内容的链接,并解释为什么它不适合您。展示您所做的尝试,以便其他人可以帮助您修复所做的。如果不这样做,您将期望其他人从零开始为您解决问题。也许可以看一看。@Richardissimo,谢谢您的评论,错过了附加的工件。请原谅se参考,上面更新。感谢分享上面的文章,顺便说一句,从未期望有人从头开始解决我的问题。
SampleResult.setIgnore()
def generated = new File('/path/to/new/csv/file')
generated.delete()
new File('/path/to/old/csv/file').readLines().each { line ->
1.upto(100, {
generated << line << System.getProperty('line.separator')
})
}