我在使用包含正则表达式捕获的变量作为“将响应保存到文件”侦听器中的文件名的一部分时遇到了一些困难。我能够成功地在 if 控制器中使用捕获的变量。但是当我在“将响应保存到文件”侦听器的文件前缀部分中使用它时,它并不高兴。
这是我正在执行正则表达式的 JSON
"command":"ARCHIVE_FILE"
这是正则表达式
Reference Name: command
Regular Expression: "command":"(.+?)"
Template: $1$
Match No. 1
Default Value: COMMAND_NOT_FOUND
我可以在“If Controller”中成功使用捕获的变量。虽然我必须承认,我对所需的双引号有点困惑。(我试过没有任何双引号,但 if 条件没有触发)
If Controller
Condition: "${command}"=="ARCHIVE_FILE"
所以就像我说的,我已经验证了上述工作。但是,当我尝试将捕获的变量用作“将响应保存到文件”中的文件名前缀的一部分时,它会将文件按字面意思保存为“${command}”。不作为存储在变量中的值。
Filename prefix: d:\tmp\${command}
怀疑我的问题与引号有关,然后我尝试将此作为实验。
Filename prefix: d:\tmp\"${command}"
这确实给了我在变量中捕获的值,但它是用双引号括起来的,jmeter 对此一点也不满意。
jmeter.reporters.ResultSaver: Error created sample file for Client Download Start java.io.FileNotFoundException: D:\apache-jmeter-2.9\tmp\client\"ARCHIVE_FILE"(文件名、目录名或卷标语法不正确)
任何帮助在这里表示赞赏。