当前位置: 首页 > 知识库问答 >
问题:

将csv数据集配置文件作为参数传递给JMeter

令狐嘉禧
2023-03-14

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

JMeter 数据集配置参考。

共有2个答案

陆寒
2023-03-14

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

步骤 1:定义用户定义的变量。在我的情况下,我使用三个不同的csv文件。

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

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

陆高峰
2023-03-14

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

>

  • 在CSV数据集配置中,通过__p()或__property()函数使用JMeter属性引用代替硬编码文件名,如:

    > < li>${__P(csvfile,)}

  • < li>

    ${__property(csvfile,,)}

    上述指向CSV文件路径的csvfile属性可以通过两种方式定义:

    >

  • 用户中。属性文件(位于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属性定制指南

  •  类似资料:
    • 我在一个线程中使用多个csv文件进行比较。 这里,第一个CSV数据集配置返回文件名 现在我想将上面的文件名传递给第二个 CSV 数据集 配置 在jmeter中可能吗?任何人都可以帮助我解决问题。 谢谢,维杰

    • 问题内容: 我已经熟悉Android框架和Java,并希望创建一个通用的“ NetworkHelper”类,该类可以处理大多数联网代码,使我能够从中调用网页。 我遵循了来自developer.android.com的这篇文章来创建我的网络类:http : //developer.android.com/training/basics/network- ops/connecting.html 码:

    • 问题内容: 我读了很多文章,尝试了很多事情,但仍然无法通过xsl在参数中找到值。我从java的sun xalan开始,但是从来没有运行过,所以我改用saxon无济于事。我想将两个xml文档与xls合并为一个。永远不要在文件系统上,这是用于构建xml字符串/ docs的Web应用程序。我尝试将DTMAxisIterator,DomSource,Doc传递给以xsl,字符串设置的Node。在带有xsl

    • 我正在使用一个第三方库函数,它有大量的位置参数和命名参数。在我的代码中,从多个点使用相同的参数/值调用该函数。 为了便于维护,我不想在代码中多次硬编码几十个相同的参数。我希望有一种方法可以在数据结构中存储它们一次,所以我只需要传递数据结构。按照以下思路: 假设我调用的函数的签名如下: 假设在我的代码中,我想用 for arg1, for arg2 for arg4 (而且我没有使用arg3)。 我

    • 问题内容: 我正在创建一个分页类,需要将两个参数传递给我的LIMIT子句的MySQL存储过程。 我将它们作为INT传递给我,并尝试这样的事情 但是,当我尝试保存该存储过程时,它给了我一个错误。有什么方法可以让我错过吗?还是我必须评估整个查询并执行它? 问题答案: 在5.5.6之前的版本中,无法在MySQL存储过程中进行参数化。您需要动态构建查询并执行它。 在5.5.6及更高版本中,只要将存储的pr

    • 我的.csv文件只包含一个名为domain的列 我有一个非常简单的脚本: 线程组       CSV数据集配置       调试采样器-${domain}      ForEach控制器(in有输入变量domain和输出变量out)          调试采样器-${out} 它执行第一个调试采样器,但不执行第二个。 我假设ForEach没有从CSV数据集配置获取domain变量。 请帮助。