【问题标题】:How to replace GET path variable from CSV file in JMeter?如何从 JMeter 中的 CSV 文件替换 GET 路径变量?
【发布时间】:2019-02-18 17:05:51
【问题描述】:

我正在尝试在不使用任何参数名称/值组合的情况下替换 GET 路径中的变量,因为 REST API 使用的是 ODATA 格式。

示例:http://localhost/GetEmployeeData('EMP12345')

在我的 JMeter 脚本中,我添加了 HTTP 请求并设置如下路径:

/GetEmployeeData('${empid}')

在我的 CSV 文件中,我有一个这样定义的列:

空的 EMP12345

在 CSV 数据集配置中,我指向 CSV 文件并将变量名称设置为 empid

我做错了什么?我收到一个错误的请求错误,${empid} 没有从 CSV 文件中替换。

请帮忙。

【问题讨论】:

  • 有人请吗?

标签: csv jmeter beanshell


【解决方案1】:

没有看到您的配置,我们无能为力,所以我暂时只能给您几条建议:

  1. 检查jmeter.log文件是否有任何可疑条目,在绝大多数情况下,您应该能够从中找出失败原因
  2. 使用 CSV 文件的完整路径而不是相对路径。如果有帮助 - 检查 JMeter 通过相对路径查找文件的位置并将其移动到该文件夹​​中。
  3. 尝试将 CSV 数据集配置替换为 __StringFromFile()__CSVRead() 函数,语法为:

    • /GetEmployeeData('${__StringFromFile(/path/to/file.csv,,,)}')
    • /GetEmployeeData('${__CSVRead(/path/to/file.csv,0)}')

    查看Apache JMeter Functions - An Introduction 文章,了解有关 JMeter 函数概念的更多信息。


如果在 JMeter 的“bin”文件夹中存在 .csv 文件以及以下 CSV 数据集配置设置,我无法重现您的问题:

【讨论】:

  • 真棒@Dmitri T。我将参数“忽略第一行...”设置为true,它起作用了!!。是否总是建议使用函数而不是使用 UI 组件?还想问大家有没有Jmeter 4.0从初学者到专家的最佳在线教程?我尝试了谷歌搜索,但找不到任何东西。
  • 函数将整个文件读入内存,如果文件比较小,使用函数更方便-去吧。对于较大的文件,最好坚持使用 CSV 数据集配置。关于教程 - 最好的是官方 JMeter User Manual,但是您可能会发现 JMeter Academy 对于快速提升 JMeter 非常有用
  • 再次感谢。我还有一个问题。它仅与 CSV 文件中的第一行一起运行。我有一列有 2 行,它总是选择第一行并停止。我在这里缺少什么?
猜你喜欢
  • 1970-01-01
  • 2013-12-10
  • 1970-01-01
  • 2020-12-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多