我一直在用 jMeter 打败自己以学习一些新东西。我正在使用 2.13。我昨天玩的一件事是“将响应保存到文件”侦听器。我已将要创建的文件名的路径放在“文件名前缀”字段中,它似乎运行良好。
使用“变量名”字段比较麻烦。
Apache 文档说该字段是:
保存生成文件名的变量名(以便稍后在测试计划中使用)
伟大的!我为变量命名并尝试访问 BeanShell PostProcessor 脚本中的值。
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);
Run Code Online (Sandbox Code Playgroud)
我总是得到空值。昨天我已经在这方面进行了很多次黑客攻击。我试过在“用户定义的变量”中预先声明变量。这至少会给我一个空字符串或我放在 UDF 的值列中的任何值。
不得不说我在 BeanShell 上也是绿色的,除了我对其他变量的访问获取了正确的值,所以有点混乱。
那么问题是什么?我怀疑您不能将变量名与将响应保存到文件侦听器中一起使用,它已经很久没有改变并且过去工作得很好。如果您需要有关使用侦听器的任何额外文档,您可以查看性能测试:使用 Apache JMeter 上传和下载场景文章。
如果您在访问FILENAMEPostProcessor 中 Listener 中生成的变量值时遇到问题- 这是一种预期,因为 Listeners 在PostProcessors之后发生,因为某些 PostProcessor(尤其是 Beanshell 和类似的)可以修改结果。因此,为了能够从 Beanshell 访问 FILENAME 变量:
| 归档时间: |
|
| 查看次数: |
15002 次 |
| 最近记录: |