【问题标题】:Printing variable value from CSV data file to JMeter console将 CSV 数据文件中的变量值打印到 JMeter 控制台
【发布时间】:2014-09-05 21:03:04
【问题描述】:

我正在使用 JMeter 对地址验证服务进行性能测试,该服务为保险报价应用程序找到有效地址。我正在使用肥皂请求从后端对此进行测试,并且我有一个包含大量搜索字符串的 csv 数据配置文件。

为了真正了解该服务的性能,我需要使用大量地址进行测试,即超过 30000 个,以便服务器缓存不会影响我的性能结果。我在 csv 电子表格中有一个地址列表,但其中一些会因任何原因导致失败(例如,地址不再存在,我仅在提交一个带有相关地址的请求时验证了这一点)。我想从我的 csv 文件中删除所有失败的地址。
因此,如果具有此特定搜索地址的请求失败,我想使用 JMeter 将搜索地址打印到控制台。我尝试使用带有此条件的 IF 控制器 "${JMeterThread.last_sample_ok}" == "false" 和名称部分中的以下内容,以便将地址打印到 JMeter 控制台。参数searchAddress 来自我的CSV 输入文件。当我尝试运行它时,它只会将${searchAddress} 打印到控制台。所以 if 语句有效,但它不能将 searchAddress 识别为变量。

如果我可以让它工作,我会将所有搜索字符串复制到 excel 中,并使用一个公式将它们从我的地址列表中删除,以供我的 JMeter 线程使用。

很抱歉这个冗长的问题,但希望我已经清楚地解释了我的问题。

【问题讨论】:

  • 尝试简单地说明这一点。如果值导致soap请求失败,我需要将从csv输入文件读取的变量的值打印到控制台。
  • 您似乎错误地设置了 CSV 数据集配置。 jmeter.log / 选项 > 日志查看器中有什么?是否从 csv 文件中正确提取了值?您可以通过例如从 ${searchAddress} 获取提取的值吗? Debug Sampler? CSV 数据集配置是否可以访问 csv 文件(文件的路径设置是否正确)?
  • 嗨,Alies。感谢那。是的,这些值可以使用调试采样器获得。我刚刚在我的 IF 控制器下添加了一个调试采样器,在名称部分 'vp - ${__time(HH:mm:ss)} ${__time(HH:mm:ss)} ${__logn(${searchAddress}, OUT)}${__logn(${searchAddress},INFO)}'。问题已回答。非常感谢。

标签: jmeter


【解决方案1】:

另一种方法是使用 BeanShell PostProcessor 作为收到错误的组件的子组件;在 Beanshell 中,类似于:

String searchAddr = vars.get("searchAddress");

//Output to Console
System.out.println("Failed Address = " + searchAddr);

//Output to Log file etc.
log.info("Failed Address = " + searchAddr);

【讨论】:

    猜你喜欢
    • 2021-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-13
    • 1970-01-01
    • 2021-06-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多