我有一个JMeter脚本,我有一些用户定义的变量,如FILE_SAVE_PATH
。应使用参数-J
在命令行上启动此脚本。因此,在GUI中,我将变量FILE_SAVE_PATH
的值更改为${__P(FILE_SAVE_PATH, "C:\svn\trunk\dir")}
,因为测试应该保存一个文件,但仅限于我的机器上。在机器上,脚本将从命令行启动,它应该将文件保存到另一个路径。
我现在的问题是:当我在GUI中的机器上测试这个JMeter脚本时,我得到一个输出:
About to replace in property of type: class org.apache.jmeter.testelement.property.StringProperty: ${__P(FILE_SAVE_PATH, "C:\svn\trunk\dir")}
2017/04/04 17:09:38 DEBUG - jmeter.testelement.property.AbstractProperty: Not running version, return raw function string
2017/04/04 17:09:38 DEBUG - jmeter.engine.util.ValueReplacer: Replacement result: ${__P(FILE_SAVE_PATH, "C:\svn\trunk\dir")}
但我认为,最后一行应该是这样的:
2017/04/04 17:09:38 DEBUG - jmeter.engine.util.ValueReplacer: Replacement result: "C:\svn\trunk\dir"
那么,如何更改测试以获得我想要的结果?
答案 0 :(得分:2)
用另一个反斜杠逃避 - C:\\svn\\trunk\\dir
,或者使用unix斜杠,JVM会正确处理它:C:/svn/trunk/dir
删除双引号,不需要它们。
P.S。我假设你没有在Beanshell / JSR223环境中使用那种表示法。如果你这样做 - 停在那里并使用合法的方式来访问属性。