如果你想从头学习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

Jmeter系列(33)- 跨平台运行 Jmeter,CSV 文件路径如何设置?的更多相关文章

  1. Jmeter :多个jmeter如何参数化获取不同的CSV文件

    如何为不同的jmeter engine建立不同的csv文件: 1.如果需要多个jmeter engine 去读取不同的csv文件,可以使用一个变量去区分 ${__P(InstanceID)},  in ...

  2. iOS - 静态库的导入和头文件路径的设置

    开发过程中,免不了要用到一些第三方或者是别人写好的一些Demo,这时就经常会用到别人写的一些静态库(.a文件)和n多个头文件(.h文件),这些文件不是简单地把它们拉到自己的工程里面就行的,还要设置一些 ...

  3. JMeter中关于动态切换不同CSV文件解决方案

    最近写case,需要当前播放节目的数据作为输入数据,所以每个时刻所用的数据只能是当前时刻附件的数据,尝试用CSV Data Set Config动态加载不同的文件,没有成功,好像CSV Data Se ...

  4. Jmeter系列(39)- Jmeter 分布式测试

    如果你想从头学习Jmeter,可以看看这个系列的文章哦 https://www.cnblogs.com/poloyy/category/1746599.html 为什么要做分布式 Jmeter 本身的 ...

  5. Jmeter系列(2)- Jmeter工具介绍、Jmeter安装目录介绍、Jmeter面板介绍

    如果你想从头学习Jmeter,可以看看这个系列的文章哦 https://www.cnblogs.com/poloyy/category/1746599.html Jmeter支持哪些测试场景? Jme ...

  6. Jmeter系列(3)- Jmeter安装目录介绍

    如果你想从头学习Jmeter,可以看看这个系列的文章哦 https://www.cnblogs.com/poloyy/category/1746599.html Jmeter安装目录说明 bin:包含 ...

  7. 【 D3.js 进阶系列 — 1.2 】 读取 CSV 文件时乱码的解决方法

    在 D3 中使用 d3.csv 读取 CSV 文件时,有时会出现乱码问题. 怎么解决呢? 1. 乱码问题 使用 d3.csv 读取 xxx.csv 文件时.假设 xxx.csv 文件使用的是 UTF- ...

  8. 关于jmeter读取CSV文件的详细设置

    jmeter 读取excel数据使用的方法是使用Jmeter CSV Data Set Config参数化 但是将excel文件保存成csv格式后,jmeter读取后返回的数据总是出现乱码问题, 以下 ...

  9. Jmeter系列(5)- jmeter.properties常用配置项讲解

    如果你想从头学习Jmeter,可以看看这个系列的文章哦 https://www.cnblogs.com/poloyy/category/1746599.html jmeter.properties 所 ...

随机推荐

  1. Error:org.gradle.api.internal.tasks.DefaultTaskInputs$TaskInputUnionFileCollection cannot be cast to...异常处理

    这个是打开Android Studio项目报的错误提示,单纯从上面的提示还是不能太直接的知道什么问题.后来我想这个项目的Gradle版本与我当前AS使用的版本不一致,可能是这个问题. 修改build. ...

  2. 超强教程!在树莓派上构建多节点K8S集群!

    在很长一段时间里,我对于在树莓派上搭建Kubernetes集群极为感兴趣.在网络上找到一些教程并且跟着实操,我已经能够将Kubernetes安装在树莓派上,并在三个Pi集群中工作.然而,在master ...

  3. Java 多线程基础(四)线程安全

    Java 多线程基础(四)线程安全 在多线程环境下,如果有多个线程在同时运行,而这些线程可能会同时运行这段代码.程序每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线 ...

  4. JavaScript选择器和节点操作

    感谢:链接(视频讲解很清晰) 下文中讲解用到Chrome中的console调试台,如果不懂最好先看一下:链接 JavaScript选择器 作用:选取html中的标签等内容,最重要的还是为节点的操作(增 ...

  5. Bumped!【迪杰斯特拉消边、堆优化】

    Bumped! 题目链接(点击) Peter returned from the recently held ACM ICPC World Finals only to find that his r ...

  6. Activity学习笔记1

    Activity概述 简单的理解Activity就是指Android手机或平板的一个屏,类似Window的一个窗口,浏览器的一个页面. Activity的4种状态 Activity的生命周期 创建Ac ...

  7. 找到了两个联想的OEM XP镜像文件

    今天在收拾移动硬盘的时候发现了两个XP镜像 还都是联想的,一个有OOBE,另一个无OOBE,全传网盘里了,需要的自取 有个疑问 2020年还有多少家庭电脑和ATM机器还在用XP??? link:htt ...

  8. selenium(9)- Xpath的详细使用

    什么是Xpath 官方:XPath 是一门在 XML 文档中查找信息的语言.XPath 用于在 XML 文档中通过元素和属性进行导航 [XPath 使用路径表达式来选取 XML 文档中的节点或者节点集 ...

  9. 微信小程序-返回并更新上一页面的数据

    小程序开发过程中经常有这种需求,需要把当前页面数据传递给上一个页面,但是wx.navigateBack()无法传递数据. 一般的办法是把当前页面数据放入本地缓存,上一个页面再从缓存中取出. 除此之外还 ...

  10. Netty的Marshalling编解码器

    1.编码与解码    通常我们习惯将编码(Encode)称为序列化(serialization),它将对象序列化为字节数组,用于网络传输.数据持久化或者其它用途.反之,解码(Decode)称为反序列化 ...