遇一山,过一山,处处有风景;只要勇敢向前,一路尽是繁花盛开。 | (点击查看→)【测试干货】python/java自动化、持续集成、性能、测开、简历、笔试面试等

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

 

posted @ 2020-07-22 23:07  全栈测试笔记  阅读(4842)  评论(0编辑  收藏  举报
浏览器标题切换
浏览器标题切换end