Jmeter “中的变量字段”;将响应保存到文件";英寸-

Jmeter “中的变量字段”;将响应保存到文件";英寸-,jmeter,Jmeter,我一直在和jMeter打交道,学习一些新东西。我用的是2.13。我昨天玩的一个东西是“将响应保存到文件”侦听器。我已经在“filename prefix”字段中输入了我想要创建的文件名的路径,看起来效果不错 使用“变量名”字段更麻烦 Apache文档说明该字段为: 用于保存生成的文件名的变量的名称(以便 (稍后将在测试计划中使用) 太好了!我给了变量一个名称,并尝试在BeanShell后处理器脚本中访问该值 String startCode = vars.get("START_CODE");

我一直在和jMeter打交道,学习一些新东西。我用的是2.13。我昨天玩的一个东西是“将响应保存到文件”侦听器。我已经在“filename prefix”字段中输入了我想要创建的文件名的路径,看起来效果不错

使用“变量名”字段更麻烦

Apache文档说明该字段为:

用于保存生成的文件名的变量的名称(以便 (稍后将在测试计划中使用)

太好了!我给了变量一个名称,并尝试在BeanShell后处理器脚本中访问该值

String startCode = vars.get("START_CODE");
String filename = vars.get("FILENAME");
String transNum = vars.get("TRANSACTION_NUM");
System.out.println("startCode=" + startCode + ", transNum=" + transNum + ", filename=" + filename);
我总是得到空值。我昨天花了很多时间在这上面。我已经尝试在“用户定义变量”中预先声明变量。这至少会给我一个空字符串或我在UDF的value列中输入的任何值


不得不说,我在BeanShell上也是绿色的,除了我访问其他变量获取正确的值,所以有点混乱。

那么问题出在哪里?我怀疑你们不能在listener中使用变量名,它已经很久并没有改变了,并且过去工作得很好。如果您需要任何关于使用侦听器的额外文档,您可以查看本文

如果在后处理器中访问侦听器中生成的
FILENAME
变量值时遇到问题-这是一种预期情况,因为侦听器发生在后处理器之后,因为某些后处理器(尤其是Beanshell和类似的)可以修改结果。因此,为了能够从Beanshell访问FILENAME变量:

  • 使用而不是Beanshell后处理器
  • 确保Beanshell Listener位于下方将响应保存到文件侦听器,否则会遇到相同的情况

  • 我无法使
    系统.out.println
    正常工作。您是否尝试过
    log.info
    ?它将出现在右上角打开的日志中。不,System.out.println()对我有效(输出到控制台窗口,jmeter.bat从那里启动)。无论如何,我尝试了你的建议,log.info()给了我同样的结果-null。如果你知道它执行的顺序,事情就会变得简单。像前处理器、后处理器、侦听器等。搜索这些东西肯定会有帮助。好的,使用Beanshell侦听器而不是Beanshell后处理器可以让我从“将响应保存到文件”中检索文件名变量。看在上帝的份上,这是行不通的!我得到的值总是空的。为什么这太难了??