Jmeter-图片转base64
简单记录学习过程,若有错误,敬请斧正,不胜感激。
目前Jmeter只用于接口测试,部分参数未深入使用。一般只需关注带*的参数即可完成一个请求,其余维持默认选项即可。
版本:
Jmeter-5.4.1
JAVA-15.0.1
用途:
将图片文件转换为base64编码
具体用法:
添加自定义拓展函数
教程参考:https://www.cnblogs.com/qiaoyeye/p/7218770.html
该教程距今已有一段时间,完全按照教程生成的jar包,经测试不可用。
需要更换新的库。步骤如下:
- 删除BASE64Encoder库,将
import sun.misc.BASE64Encoder;
删除 - 添加Base64库,
import java.util.Base64
- 将
BASE64Encoder encoder = new BASE64Encoder();
替换为Base64 encoder = new Base64();
除以上步骤外,其余步骤按照原帖即可。
测试是否成功添加
- 打开函数助手:工具-函数助手对话框
- 选择 MyBase64,填入图片路径和存放base64编码的变量
图片路径注意:\反斜杠和空格
点击【生成】,稍等片刻,就会在下方展示出来。且自动复制了调用函数。
字符串过长,会导致jmeter卡顿。
在需要的地方调用
请求体,通过JSON中提交,一般是post:
在正确的地方,直接粘贴上一步中的函数字符串即可
若通过表单提交,一般是get:
斜杠/会被进行url编码,变成%2F,需要注意。
需注意接口接受的数据格式。
如图是通过站长工具转换出来的编码,会比以上函数的结果多了红框内的内容:
如需要字符串和函数拼接:可以通过V函数(执行嵌套函数引用),进行拼接。
如图所示,该函数完成了将字符串"data:image/jpg;base64,"和Mybase64函数调用结果的拼接。