jmeter通过相对路径上传文件

这个问题困扰了我好久,终于解决了!!!分享给你们,好东西要一起用
工作中遇到很多的上传下载操作,要用jmeter实现自动化,脚本中不知道怎么写才能取到相对路径,所以刚开始为了完成工作就写了绝对路径。代码上传到服务器才发现运行不了,找不到路径,又改成服务器对应文件的绝对路径,调试通过后集成到jenkins上之后运行也是正常的。
第二天,脚本执行失败了,我在本地执行,又挂了,找不到路径。好气。。 网上搜索了一番无果,只能每次在服务器上执行。
刚开始没有什么问题,就是上服务器执行个代码么,分分钟搞定。
时间久了,上传下载相关的脚本多了,每次都要连接服务器去看,别人要用服务器就会打起来。。 在我不懈的努力下,中午找到了解决办法,哈哈哈。

(前面都是废话,你可以不看q(≧▽≦q))
第一种方法
直接使用jmeter的函数:
点击函数助手(相信你们知道在哪找,不知道的自己百度哦),功能选择_BeanShell
在这里插入图片描述
自己填一下表达式就可以了,需要什么写什么。
我现在要取执行当前脚本的路径,表达式就是这样子:

import org.apache.jmeter.services.FileServer; FileServer.getFileServer().getBaseDir();

(了解一些java的应该能看明白这个表达式)
第二行是定义参数名的,可以写也可以不写哦
在这里插入图片描述
点击生成就取到了你当前的脚本的路径啦
直接参数化,我直接把参数写在了用户自定义变量里(你自己可以选择,写哪都行)
在这里插入图片描述
我的文件是和jmx脚本放在同一个文件下的,然后直接这样调用接口就好啦。
在这里插入图片描述
导入成功了,完美。
第二种方法
你可以添加BeanShell Sampler,然后写一些代码去实现

 import org.apache.jmeter.services.FileServer;
 import com.bzj.utils.*;
 String baseDir=FileServer.getFileServer().getBaseDir(); //获取当前脚本的路径
 log.info("baseDir="+baseDir);//打印出来

这个跟上面那个函数助手的功能基本上是一样的啦。
但是如果你上传的文件需要做一些处理的话,最好是用第二种方式
之前遇到一些功能,会涉及到一些Excel的一些字段要改变,每次上传的不能重复,所以就用的第二种方式去做。

好啦,就说这么多,有问题可以留言哟。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值