繁体   English   中英

JMeter - 如何从 CSV 中选择给定数量的行以在 HTTP 请求正文中发送

[英]JMeter - How to pick given number of rows from CSV to send in HTTP request body

我的测试用例是在每个请求中将给定数量的行从 CSV 文件依次发送到 HTTP 请求正文。 我尝试使用CSV 数据集配置,但它允许每个请求只读取一行。 是否可以使用 JMeter 从给定批次中的 CSV 读取数据(例如,每个请求正文中的 5 个简单的逗号分隔的纯文本行)?。

假设我有 10 条记录的 CSV 文件test.csv

no,name,email
1,test,test@test.com
2,test,test@test.com
3,test,test@test.com
4,test,test@test.com
5,test,test@test.com
6,test,test@test.com
7,test,test@test.com
8,test,test@test.com
9,test,test@test.com
10,test,test@test.com

现在我想从这个 CSV 发送 2 行(简单的逗号分隔的纯文本行)到 JMeter HTTP 请求正文。 是否可以使用 JMeter?

我尝试使用 CSV 数据集配置,但它不提供此类功能。

这是一个非常自定义的用例,因此您必须使用__groovy()函数进行脚本编写

语法示例:

${__groovy(new File('test.csv').readLines().subList(1\,3).join('\,'),)}

演示:

在此输入图像描述

有关JMeter中的Groovy脚本的更多信息: Apache Groovy-为什么和如何使用它

您可以使用__CSVRead函数使用next作为第二个参数获取多于 1 行:

例如,您可以按如下方式设置一些变量:

  • COL1a ${__CSVRead(random.txt,0)}
  • COL2a ${__CSVRead(random.txt,1)}${__CSVRead(random.txt,next)}
  • COL1b ${__CSVRead(random.txt,0)}
  • COL2b ${__CSVRead(random.txt,1)}${__CSVRead(random.txt,next)}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM