jmeter CSV文件路径如何跨平台使用

场景:

当你的控制机为windows系统,负载机为linux系统,现在需要控制机兼职做负载机,CSV时文件路径就无法跨平台使用,下面方法可以解决此问题。

具体方法

CSV 数据文件设置直接按下面的格式写

 

 

${__P(user.dir,)}${__P(file.separator)}username.txt(P是大写,_数量两个)

这样就可以了,只要把 CSV 文件上传到 Linux 系统 Jmeter 下的 bin 目录,这个脚本就可以跨平台执行了

 

实现跨平台的原理

__P() 函数(P是大写字母P,_符号是两个

用来获取 Jmeter 的属性,那我们怎么知道 Jmeter 有什么属性呢?

如何查看 Jmeter 属性

测试计划右键添加

 

 

 

Windows 下查看属性 user.dir,file.separator

可以看到

  •  file.separator 的值是 \ ,这也是 Window 特有的路径分隔符
  •  user.dir 的值是 Jmeter 安装路径下的 bin 目录

 

如果通过 cmd 运行 Jmeter,那么  user.dir 又会显示什么呢?

看到并不是显示 Jmeter 的 bin 目录,这不是我们想要的结果;所以请记住需要在 bin 目录下启动 Jmeter

Linux 下查看属性 user.dir,file.separator

可以看到

  •  file.separator  的值是 / ,这也是 Linux 的路径分隔符
  •  user.dir  的值是 Jmeter 安装路径下的 bin 目录,和 Window 的截然不同

总结

  •  ${__P(user.dir,)}${__P(file.separator,)}test.txt 可以根据不同的系统,不同的 Jmeter 安装路径,自动获取 Jmeter 路径,然后再获取不同系统下的文件路径分隔符,最后加上文件名称拼成文件路径
  • 这样就可以解决使用 CSV 数据文件做参数化时,跨平台导致路径不一致的问题
  • 重点前提:CSV 文件放在 Jmeter 的 bin 目录下,且通过 bin 目录运行 Jmeter
posted @ 2020-12-19 15:02  Frank13054  阅读(237)  评论(0编辑  收藏  举报