繁体   English   中英

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

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

如何在 JMeter 中为 HTTP PUT 方法设置 HTTP Request Sampler,以便它可以使用 CSV 数据集配置从 CSV 文件中读取数据? 在我的场景中,我使用具有以下参数的并发线程组

  • 目标并发数:50
  • 加速时间):10
  • RampUp 步:5
  • 保持目标..():10

这是我的CSV 数据集配置设置: 在此处输入图像描述

(Java)变量名的类型有:bookId: Long , title: String , price: double , amount: int , authors: Set , categories: Set , isDeleted: boolean

这是我的HTTP 请求采样器设置: 在此处输入图像描述

...这是我的bookCollection10Items.csv文件的内容,其中引用的值是字符串,尖括号[]中的值是arrays的值(因为我正在更新与类别/作者有多对多关系的书):

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,假
11,"战争与和平",31.99,300,5,8,false
14,“审判”,27.99,450,6,9,假
15,"IT",16.50,0,2,5,真

我想要实现的是,每个线程(即用户)以循环方式将“bookCollection10Items.csv”文件中的一个项目select 更新为给定的 bookId,使用“所有线程”作为共享模式选项。
非常感谢任何意见/建议。

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

如果您需要阅读随机行(但我认为这不是一个好主意,因为我认为测试需要可重复),您将需要 go 一些插件,例如:

  1. 随机 CSV 数据集配置
  2. HTTP 简单表服务器

两者都可以使用JMeter 插件管理器安装

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

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

3,"罗杰·阿克罗伊德谋杀案",19.99,1500,1,[7,9],false

……是不行的。

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

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

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

暂无
暂无

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

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