如何通过在 JMeter 中读取 CSV 值来执行 HTTP PUT 请求?

How to perform HTTP PUT Request by reading values from CSV in JMeter?

如何在 JMeter 中为 HTTP PUT 方法设置 HTTP 请求采样器,以便它可以使用 CSV 数据集配置从 CSV 文件中读取数据? 在我的场景中,我使用 并发线程组 和以下参数:

这是我的 CSV 数据集配置 设置:

(Java) 变量名 的类型是: bookId:Long, title:String, price:double, amount:int ,作者:Set,类别:Set,isDeleted:boolean

这是我的 HTTP 请求采样器 设置:

...这是我的 bookCollection10Items.csv 文件的 内容,其中 引用值是String,尖括号[]里面的是数组 值的数量(因为我正在更新与 Categories/Authors 具有多对多关系的 Book):

1,"哈利波特与魔法石",39.99,2500,[4],7,11,false
2,"东方快车谋杀案",[19.98,500500],1,9,false
3,"罗杰·阿克罗伊德谋杀案",19.99,1500,1,[7,9],false
4,"哈利波特与密室",24.99,0,4,[7,9],true
5,"哈利波特与阿兹卡班的囚徒",17.99,1200,4,7,false
6,"达芬奇密码",29.99,700,8,10,false
7,"地狱",22.50,950,8,10,false
11,"War 与和平",31.99,300,5,8,false
14,"审判",27.99,450,6,9,false
15,"它",16.50,0,2,5,真

我想要实现的是每个线程(即用户)到select 来自的一个项目“bookCollection10Items.csv”文件并使用“所有线程”作为共享模式选项为给定的 bookId 更新它。
非常感谢任何advice/suggestion。

JMeter 的 built-in CSV 数据集配置正在 顺序 从 CSV 文件中读取行,因此每个用户将在每次迭代中获得下一行。

如果您需要读取随机行(但我认为这不是一个好主意,因为我认为测试需要 repeatable),您需要使用一些插件,例如:

  1. Random CSV Data Set Config
  2. HTTP Simple Table Server

两者都可以使用 JMeter Plugins Manager

安装

我已经设法找到解决问题的方法 -> 我犯了一个错误:

1)gEdit(Linux 相当于 Windows 记事本)中创建 CSV 文件,而不是使用在 gEdit 中完成工作的 LibreOffice Calc =22=]细胞。因此,这种方式(在 gEditLibreOffice Calc 中):

3,"The Murder of Roger Ackroyd",19.99,1500,1,[7,9],false

...是一个 no-no.

2) 从列表中删除尖括号 [],这样数组就不会包含数组。例如。当存在尖括号时,我得到这个:

{
   // some other fields
   "authors" : [[7,9]]
}

3) 必须正确格式化带小数的数字以包含 ,而不是逗号 (locale 问题)。例如。正确的格式是 19.99,错误的格式是 19,99