阅读目录
- 问题
- 方案一:参数化路径
- 方案二:自动获取路径(推荐)
问题
win下做好的带参数化文件的脚本,放到linux下运行,由于参数化文件路径不正确,导致脚本运行失败,如果解决这个问题呢?
方案一:参数化路径
比如,参数化文件我放到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上的参数化文件路径
![](https://img2020.cnblogs.com/blog/2129700/202108/2129700-20210820161834148-781488723.png)
参数化文件
![](https://img2020.cnblogs.com/blog/2129700/202108/2129700-20210820161912452-703890826.png)
csv设置
![](https://img2020.cnblogs.com/blog/2129700/202108/2129700-20210820161935002-217162471.png)
脚本
![](https://img2020.cnblogs.com/blog/2129700/202108/2129700-20210820162016209-704245708.png)
运行,查看结果,可以看到通过参数化的路径找到了对应的参数化文件
![](https://img2020.cnblogs.com/blog/2129700/202108/2129700-20210820162151113-1629152231.png)
![](https://img2020.cnblogs.com/blog/2129700/202108/2129700-20210820162209682-1506656454.png)
如果要放到linux上,把csv文件名改为:${path_linux}即可,但是这样略显麻烦。
有人可能要问,为啥不直接改路径要参数化呢?之前遇到过,保存脚本时,间隔符会自动化变成当前系统的,所以最终会出错,新版本jmeter好像没这个问题了。
方案二:自动获取路径(推荐)
win下,到jmeter的bin下启动jmeter
查看属性
![](https://img2020.cnblogs.com/blog/2129700/202108/2129700-20210820162334997-1104780390.png)
win下目录间隔符
![](https://img2020.cnblogs.com/blog/2129700/202108/2129700-20210820162409973-875278284.png)
user.dir是启动文件所在目录
![](https://img2020.cnblogs.com/blog/2129700/202108/2129700-20210820162446461-687750176.png)
linux下,到jmeter的bin下启动jmeter
![](https://img2020.cnblogs.com/blog/2129700/202108/2129700-20210820162538035-599736964.png)
linux下目录间隔符
![](https://img2020.cnblogs.com/blog/2129700/202108/2129700-20210820162616465-1150035713.png)
user.dir
![](https://img2020.cnblogs.com/blog/2129700/202108/2129700-20210820162650286-1013095305.png)
也可以添加“调试取样器”查看系统属性,在查看结果树中看
![](https://img2020.cnblogs.com/blog/2129700/202108/2129700-20210820162716695-337466739.png)
![](https://img2020.cnblogs.com/blog/2129700/202108/2129700-20210820162724273-535801829.png)
下面,我们要用到获取属性这个函数:__P()
__P(user.dir,)获取启动文件目录
__P(file.separator,)获取间隔符
所以,csv文件名我们可以写为:
${__P(user.dir,)}${__P(file.separator,)}data.txt
![](https://img2020.cnblogs.com/blog/2129700/202108/2129700-20210820162810485-1096829748.png)
也可以
![](https://img2020.cnblogs.com/blog/2129700/202108/2129700-20210820162935933-115868586.png)