问题:因为windows和liunx绝对路径使用的分隔符不同,windows中的是 \, linux中是 /: 所以用绝对路径时无法同时加载参数文件
解决方案:将csv张红的文件路径写为相对路径:路径中直接输入参数化文件名称即可
具体方法1
- Windows:需将csv放在jmeter/bin目录下
- Liunx:不是放在jmeter/bin目录下,csv应放在负载机启动时指令所在的目录下
具体方法2
跨平台:csv的数据文件格式:${__P(user.dir,)}${__P(file.separator,)}test.txt
只要把csv文件上传到liunx系统jmeter下的bin目录
实现跨平台的原理
__P() 函数:获取jmeter属性
如何查看 Jmeter 属性
Window 下查看属性 user.dir,file.separator
-
file.separator的值是 \ ,这也是 Window 特有的路径分隔符
- user.dir的值是 Jmeter 安装路径下的 bin 目录
Linux 下查看属性 user.dir,file.separator
- file.separator的值是的值是 / ,这也是 Linux 的路径分隔符
- user.dir的值是 Jmeter 安装路径下的 bin 目录,和 Window 的截然不同
总结
- 可以根据不同的系统,不同的 Jmeter 安装路径,自动获取 Jmeter 路径,然后再获取不同系统下的文件路径分隔符,最后加上文件名称拼成文件路径${__P(user.dir,)}${__P(file.separator,)}test.txt
- 这样就可以解决使用 CSV 数据文件做参数化时,跨平台导致路径不一致的问题
- 重点前提:CSV 文件放在 Jmeter 的 bin 目录下,且通过 bin 目录运行 Jmeter