【问题标题】:Passing csv data set config file as parameter to JMeter将 csv 数据集配置文件作为参数传递给 JMeter
【发布时间】:2017-02-23 17:20:31
【问题描述】:

我希望能够传递一个包含用于 JMeter 测试(CSV 数据集配置)参数的 CSV 文件,而不是将 CSV 数据源硬编码为 JMeter 测试的一部分。这可能吗?我似乎在 JMeter 的命令行选项列表中/任何地方都找不到这个。

JMeter Data Set Config 的参考。

【问题讨论】:

    标签: jmeter


    【解决方案1】:

    这是可能的,但不要将 JMeter 变量用作 CSV 文件名的一部分,因为它们是在 CSV 数据集配置之后初始化的,因此您会收到“找不到文件”错误。改用 JMeter 属性。

    1. 在 CSV 数据集配置中,通过 __P()__property() 函数使用 JMeter 属性引用而不是硬编码文件名:

      • ${__P(csvfile,)}
      • ${__property(csvfile,,)}

    2. 上述csvfile属性指向CSV文件路径有两种定义方式:

      • user.properties 文件中(位于 JMeter 的“bin”文件夹中),例如:

        csvfile=/path/to/your/file.csv
        
      • 通过-J类似命令行参数

        jmeter -Jcsvfile=/path/to/file.csv -n -t test.jmx -l results.jtl
        

      通过命令行指定的属性值将覆盖文件中存储的属性值。有关 JMeter 属性和使用它们的方式的更多信息,请参阅 Apache JMeter Properties Customization Guide

    【讨论】:

      【解决方案2】:

      如果您希望通过变量来操作传递给 Jmeter 的文件,您需要创建一个用户定义的变量,然后将该变量映射到 CSV 数据集配置中。 在下面的示例中,我传递了一个 csv 文件,该文件可以在运行时通过参数 cids 进行控制

      第 1 步:定义用户定义的变量。就我而言,我使用了三个不同的 csv 文件。

      第 2 步:在每个 csv 数据集配置中将这些变量称为文件名。

      现在,您有了一个 jmx,其输入可以由用户定义的变量控制。当您通过 maven 或类似工具安排作业时,这非常方便。

      【讨论】:

      • 由于上述 Dimitri T 指定的原因,这不起作用
      • 可能是因为答案发布已经过了一段时间,但是在尝试了这个解决方案之后,我可以确认它确实可以正常工作,并且比 Dimitri T 的解决方案更舒服,因为您不需要使用“user.params”文件或传递参数。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-28
      • 2017-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-04
      相关资源
      最近更新 更多