jmeter - 如何使用随机 csv 配置将 json 文件读入 jmeter
问题描述
将此数据读入 jmeter 随机 csv 配置数据。
示例 Json 如下:
{
"key": "COMMUNICATIONS",
"id": "72ec45ba-f0a1-11e9-81b4-2a2ae2dbcce4",
"description": "6666666666666666.",
"name": "***********************",
"overview": "*************.",
"subCategories": [
{
"key": "PHONES_VOIP_TROUBLESHOOTING",
"id": "72ec46e6-f0a1-11e9-81b4-2a2ae2d",
"description": "fix my phone network as it is down.access my voicemails",
"name": "Phones/VOIP troubleshooting",
"overview": "fix my phone network as it is down.access my voicemails",
"support": "Windows, MAC"
}
]
}
解决方案
将您想要的数据存储到
test.csv
JMeter 的“bin”目录中的 ie 文件中,例如:COMMUNICATIONS,72ec45ba-f0a1-11e9-81b4-2a2ae2dbcce4,6666666666666666,***********************,*************.,PHONES_VOIP_TROUBLESHOOTING,72ec46e6-f0a1-11e9-81b4-2a2ae2d,fix my phone network as it is down.access my voicemails,Phones/VOIP troubleshooting,fix my phone network as it is down.access my voicemails,Windows, MAC
将Random CSV Data Set Config添加到您的测试计划并进行如下配置:
- 文件名:
test.csv
- 变量名称:
key,id,description,name,overview,subKey, subId,subDescription,subName,subOverview,support
其他字段可以保持不变
完成后,您可以单击
Test CSV Reading
按钮,您应该会看到生成的JMeter 变量名称以及相应的值
- 文件名:
现在您可以在HTTP 请求采样器中参数化您的 JSON 有效负载,并将硬编码的值替换为 JMeter 变量名称:
{ "key": "${key}", "id": "${id}", "description": "${description}", "name": "${name}", "overview": "${overview}", "subCategories": [ { "key": "${subKey}", "id": "${subId}", "description": "${subDescription}", "name": "${subName}", "overview": "${subOverview}", "support": "${support}" } ] }
就是这样,当您运行测试时,您将看到 JMeter 变量被替换为运行时中 CSV 文件中的值,即查看结果树侦听器
今后只需向test.csv
文件中添加更多条目,以便每个 JMeter 线程(虚拟用户)可以在每次迭代中获取一个随机值。
有关更多详细信息,请参阅在 JMeter 上介绍 Random CSV Data Set Config Plugin文章。
推荐阅读
- android - 如何在 MotionLayout 中定义使内容从屏幕外部显示的过渡?
- python - Lxml 和 python:仅迭代现有元素
- mysql - SQL查询未达到条件
- go - GORM:更新插入嵌套数据而不是修改
- python - 如何在 tkinter 的 filedialog 中获取当前文件类型
- go - 如何在 Go 中将日期转换为 RFC3339 扩展日期字符串,以毫秒为单位?
- java - 调试错误 org.apache.axis2.AxisFault: Connection or outbound has closed, trustAnchors 参数必须非空
- python - VBA背面运行Python的权限错误
- node.js - 在try块中手动抛出错误时,如何从服务器端nodejs捕获/返回AJAX中的错误?
- apache-kafka - 客户端无法发布,因为防火墙