jmeter参数化文件路径问题
问题
win下做好的带参数化文件的脚本,要放到linux上面运行,如果在windows上就把参数化文件路径改为了linux上参数化文件的路径,比如改为/root/data/id.txt,保存后,会变成\root\data\id.txt,这样,传到linux上后,由于参数化文件路径不正确,会导致脚本运行失败,如果解决这个问题呢?
方案一:linux服务器上修改路径
脚本上传到linux服务器后,再vim修改脚本中参数化文件的路径
方案二:参数化路径
比如,参数化文件我放到jmeter的bin目录下,参数化文件名为data.txt
如果在win上,路径为:D:\apache-jmeter-5.1.1\bin\data.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
也可以
原文会持续更新,原文地址:https://www.cnblogs.com/uncleyong/p/13368196.html
__EOF__
关于博主:擅长性能、全链路、自动化、企业级自动化持续集成(DevTestOps)、测开等
面试必备:项目实战(性能、自动化)、简历笔试,https://www.cnblogs.com/uncleyong/p/15777706.html
测试提升:从测试小白到高级测试修炼之路,https://www.cnblogs.com/uncleyong/p/10530261.html
欢迎分享:如果您觉得文章对您有帮助,欢迎转载、分享,也可以点击文章右下角【推荐】一下!