"文件名"的参数化问题CSV数据的文本在jmeter中设置配置

时间:2016-03-10 19:48:27

标签: csv jmeter filenames beanshell

据我所知,CSV数据集配置无法使用JMeter变量作为"文件名",因此我使用了不同帖子中建议的__property函数:

  • 我在"用户自定义变量"中定义了一个初始变量(datapoolpath)。配置元素
  • 然后我转换了我的数据路径'属性中的变量> pdatapoolpath'在BeanShell预处理器中
  • 我在CSV数据集配置的文件名字段中使用$ {__ P(pdatapoolpath)}

当我使用Jmeter GUI运行mytest时,此解决方法运行正常。 一旦我尝试通过cli(jmeter -n -t mytest,jmx -Jdatapool = c:\ datapool)运行相同的测试,那么它就不再工作了(即:csv数据配置不能找到csv文件,因为属性" pdatapoolpath"值为null。请注意,在我的BeanShell脚本中,我用来打印属性的值,但它似乎仍然正确打印。 / p>

所以我的问题是:我哪里错了?为什么jmeter在从GUI到CLI运行时表现不同?

提前致谢

1 个答案:

答案 0 :(得分:1)

您可以在CSV数据集配置字段中使用变量如果它可以在UDV中初始化。

假设名称和路径c:\datapool.csv中有一个文件,使用-J - 您实际上是将property传递给JMeter测试;不变。

-J, --jmeterproperty {argument}={value}
            Define additional JMeter properties

如果你这样调用

jmeter -n -t mytest.jmx -Jdatapool=c:\datapool.csv

您可以使用命令行中传递的属性名称在CSV数据集配置中直接使用它。

${__P(datapool)}

如果您需要将此属性复制到用户定义的变量,

vdatapool = ${__P(datapool)}

然后在CSV数据集配置中访问以下给出的变量。

${vdatapool}

这就是我们在JMeter中访问变量和属性的方法。

${variablename}

${__P(proprtyname)}