JMeter赢得';t从CSV文件中读取引用的CSV列表
使用JMeter支持功能API测试,并遇到了从CSV文件读取数据的问题。文件中的数据用于构建包含以下内容的POST数据体:JMeter赢得';t从CSV文件中读取引用的CSV列表,jmeter,Jmeter,使用JMeter支持功能API测试,并遇到了从CSV文件读取数据的问题。文件中的数据用于构建包含以下内容的POST数据体: "wibbles" : ${wibble-var}, ${wibble var}从CSV文件读取,格式如下: ["wibble1","wibble2","wibble3"] 。。。列表中有1000多个wibble值 如果“wibbles”:[“wibble1”、“wibble2”、“wibble3”]…被硬编码到POST正文中,那么JMeter会很高兴,生成POST请求
"wibbles" : ${wibble-var},
${wibble var}
从CSV文件读取,格式如下:
["wibble1","wibble2","wibble3"]
。。。列表中有1000多个wibble值
如果
“wibbles”:[“wibble1”、“wibble2”、“wibble3”]…
被硬编码到POST正文中,那么JMeter会很高兴,生成POST请求并完成业务,但事实证明,即使使用上面的3值示例也无法创建CSV文件,JMeter将解析该文件。JMeter跳过包含“CSV读取”的线程,而不构建POST请求或发送它,因此没有要检查的响应,调试采样器也同样被跳过。我听说将引号加倍可以奏效,但没有找到正确的语法。有人能解释一下这个问题吗?谢谢如果您能在CSV数据集配置
您可以获取此值,然后使用beanshell预处理器将其转换为“wibble1”、“wibble2”、“wibble3”格式
如果您想直接使用此格式
“wibble1”、“wibble2”、“wibble3”
,可以使用\t
作为分隔符,并相应地修改CSV文件中的数据。我会选择以下选项:
- 将采样器添加到您的测试计划中(在发送这些“wibble”的计划之前),并按如下方式配置它:
- 协议:
文件
- 路径:
c:/testdata/yourfile.csv
- 协议:
- 添加并使用查询将“wibbles”存储到JMeter变量中
尝试和错误导致了以下解决方案 我需要解析的单个数据变量的格式是[“value1”、“value2”、“value3”](即JSON数组),这正是CSV文件所包含的格式(当然,头一行有一个标题名),包括[和]括号 我将参数化后的正文修改为: “wibbles”:[${wibble var}], --也就是说,我将方括号从CSV文件中移出,以便CSV文件现在只包含数组的引用元素: “价值1”、“价值2”、“价值3”等 然后,我将CSV数据集配置中的分隔符设置为|
并允许引用的数据为FALSE。感谢Dmitri和@Vins的回复。我一定会看一下_StringFromFile和_FileToString函数,以备将来使用。在此期间,我通过尝试和错误解决了这个问题,我将在下面发布它
"wibbles" : ${_StringFromFile(/path/to/file/containing/wibbles,,,)},