我正在尝试使用jmeter中的beanshell sampler重命名文件
我有简单的代码,我试图将路径(动态更改文件名并附加到路径)分配给文件func。
String filename= "\"C:\\Users\\Thaneer_M\\Downloads\\apache-jmeter-2.13_save\\JmeterRecordings\\PerfIssues\\All Savers Insurance Company_PerformanceCheck"+024+".xlsx\"";
File file = new File(${filename});
File file2 = new File("C:\\Users\\Thaneer_M\\Downloads\\apache-jmeter-2.13_save\\JmeterRecordings\\PerfIssues\\All Savers Insurance Company_PerformanceCheck025.xlsx");
boolean success = file.renameTo(file2);
if (!success) {
log.info "file renamed successfully"
}
如果我使用像
这样的静态文件路径,我可以成功重命名该文件File file = new File("C:\\Users\\Thaneer_M\\Downloads\\apache-jmeter-2.13_save\\JmeterRecordings\\PerfIssues\\All Savers Insurance Company_PerformanceCheck025.xlsx");
File file2 = new File("C:\\Users\\Thaneer_M\\Downloads\\apache-jmeter-2.13_save\\JmeterRecordings\\PerfIssues\\All Savers Insurance Company_PerformanceCheck026.xlsx");
boolean success = file.renameTo(file2);
if (!success) { log.info "file renamed successfully" }
错误:
inline evaluation of: ``String filename= ("C:\Users\Thaneer_M\Downloads\apache-jmeter-2.13_save\JmeterR . . . '' Token Parsing Error: Lexical error at line 1, column 24. Encountered: "U" (85), after : "\"C:\\"
文件名动态变化,我希望能够通过将整数附加到文件名来动态创建文件路径字符串。
请有人劝告。
谢谢
答案 0 :(得分:2)
很少有建议:
M N
,他们不需要确保你到处都有双斜杠。替代的跨平台选项将用File.separator代替斜杠,如:
\"
"Users" + File.separator + "Thaneer_M" + File.separator + "..."
是Octal integer,请确保您正确使用它并知道您正在做什么。如果您确切需要" 024"重视将其作为字符串传递一些调试选项:
024
会将该行打印到 jmeter.log 文件。这样您就可以看到变量值log.info("something")
行将触发调试输出到stdout 使用try / catch包围代码并将异常堆栈跟踪打印到jmeter.log提供了有关Beanshell错误的更多信息,例如:
debug();
有关JMeter中Beanshell脚本的更多详细信息,请参阅How to Use BeanShell: JMeter's Favorite Built-in Component指南。
答案 1 :(得分:1)
同样的事情发生在我身上。为了解决这个问题,我在Beanshell代码中执行了以下操作:
我知道这不是最好的方法,但这适用于jmeter 3.0。
谢谢, Sumit Pal。