问题
win下做好的带参数化文件的脚本,放到linux下运行,由于参数化文件路径不正确,导致脚本运行失败,如果解决这个问题呢?
方案一:参数化路径
比如,参数化文件我放到jmeter的bin目录下,参数化文件名为data.txt
如果在win上,路径为:D:apache-jmeter-5.1.1indata.txt
如果在linux上,路径为:/usr/local/apache-jmeter-5.1.1/bin/data.txt
先自定义变量,存储win和linux上的参数化文件路径
参数化文件
csv设置
脚本
运行,查看结果,可以看到通过参数化的路径找到了对应的参数化文件
如果要放到linux上,把csv文件名改为:${path_linux}即可,但是这样略显麻烦。
有人可能要问,为啥不直接改路径要参数化呢?之前遇到过,保存脚本时,间隔符会自动化变成当前系统的,所以最终会出错,新版本jmeter好像没这个问题了。
方案二:自动获取路径(推荐)
win下,到jmeter的bin下启动jmeter
查看属性
win下目录间隔符
user.dir是启动文件所在目录
linux下,到jmeter的bin下启动jmeter
linux下目录间隔符
user.dir
也可以添加“调试取样器”查看系统属性,在查看结果树中看
下面,我们要用到获取属性这个函数:__P()
__P(user.dir,)获取启动文件目录
__P(file.separator,)获取间隔符
所以,csv文件名我们可以写为:
${__P(user.dir,)}${__P(file.separator,)}data.txt
也可以