首页 技术 正文
技术 2022年11月16日
0 收藏 621 点赞 3,129 浏览 1017 个字

如果你想从头学习Jmeter,可以看看这个系列的文章哦

https://www.cnblogs.com/poloyy/category/1746599.html

抛出问题

  • 上一篇文章中详细讲解了 CSV 数据文件设置的用法:https://www.cnblogs.com/poloyy
  • 通常,我们编写、调试脚本都是在 Window 机器上,而真正性能测试时,脚本几乎都在 Linux 下运行
  • 使用 CSV 数据文件做参数化时,是需要指定文件路径
  • 这里就有个问题:Window 下写的文件路径到了 Linux 下是不正确的,导致无法正常读取 CSV 文件
  • 为了解决这个问题,下面将要讲解一个简单的万能解决方法

两个前提

  • 我们的 CSV 文件必须在 Jmeter 的 bin 目录下创建,然后再添加自己要的数据
  • Jmeter 必须从 bin 目录下启动,不能通过 cmd,否则会有问题(下面说)

具体方法

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

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

实现跨平台的原理

__P() 函数

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

如何查看 Jmeter 属性

测试计划右键添加

Window 下查看属性 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
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,964
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,486
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,331
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,114
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,747
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,781