JMeter赢得';t从CSV文件中读取引用的CSV列表

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请求

使用JMeter支持功能API测试,并遇到了从CSV文件读取数据的问题。文件中的数据用于构建包含以下内容的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文件中的数据。

我会选择以下选项:

  • 如果您的“wibbles”是需要传递a的单个字符串,那么通过以下方式访问它们可能会容易得多:

  • 如果您需要访问单个“wibbles”,并且您的CSV文件基本上是一个JSON文件:

    • 将采样器添加到您的测试计划中(在发送这些“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,,,)},